У першій частині матеріалу авторка Ганна Каплун, Test Engineering Lead в Intellias, робила огляд підходів та інструментів для операційного моніторингу.
У цій частині ми поговоримо про конкретні приклади використання інструментів операційного моніторингу.
Datadog
NewRelic
Prometheus
- Приклад задання нотифікацій в Prometheus
global:
slack_api_url: '<slack_webhook_url>'
route:
receiver: 'slack-notifications'
group_by: [alertname, datacenter, app]
receivers:
- name: 'slack-notifications'
slack_configs:
- channel: '#alerts'
text: 'https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}'
- Alert
groups:
- name: Instances
rules:
- alert: InstanceDown
expr: up == 0
for: 5m
labels:
severity: page
# Prometheus templates apply here in the annotation and label fields of the alert.
annotations:
description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.'
summary: 'Instance {{ $labels.instance }} down'
- Receiver:
- name: 'team-x'
slack_configs:
- channel: '#alerts'
# Alertmanager templates apply here.
text: "<!channel> \nsummary: {{ .CommonAnnotations.summary }}\ndescription: {{ .CommonAnnotations.description }}"
Splunk

- Приклад задання нотифікацій в Splunk
log_level=ERROR OR log_level=FATAL OR log_level=CRITICAL) | stats count by log_level |
search count > 10
Grafana

Zabbix
PagerDuty
- Приклад створення графіку роботи команди підтримки в PagerDuty
- Приклад задання нотифікацій в PagerDuty
Висновки
Операційний моніторинг – непроста задача, яка передбачає не лише відслідковування користувацької активності але і передбачення проблем системи до того, як вона перестане працювати і кінцевий користувач перестане отримувати сервіс. Можна також відстежувати підозрілі дії, вирізняти патерни у використанні застосунку, оцінювати навантаження та підбирати інфраструктуру відповідним чином та багато іншого. Важливу роль відіграє встановлення правильних нотифікацій, що дозволяє запобігати проблемам як із застосунком, так і з інфраструктурою, та мінімізувати час недоступності сервісу для користувачів. Окрім того, існують і процесні підходи для покращення надійності застосунків, наприклад, chaos monkey.