Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
Transcript of Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
![Page 1: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/1.jpg)
Мойра - система алертинга
Алексей Ларьков, СКБ Контур
![Page 2: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/2.jpg)
Хранение
Визуализация
Алертинг
Graphite
Мониторинг
![Page 3: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/3.jpg)
Графит - это ...очень простой протокол
<path> <value> [timestamp]
Moira.checker.errors.vm-moira 0.0
Метрика
![Page 4: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/4.jpg)
Графит - это ...удобный API
?target=sumSeries(Moira.checker.errors.*)
функция паттерн
~ 100 функций
![Page 5: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/5.jpg)
![Page 6: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/6.jpg)
ТриггерОписывает условия уведомления через
Графитовский target
Лимиты состояний● WARN● ERROR● NODATA
![Page 7: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/7.jpg)
Alerting GraphiteAPI
● Периодический pull
● Сложный target
Обычный алертинг на базе графита
![Page 8: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/8.jpg)
![Page 9: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/9.jpg)
![Page 10: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/10.jpg)
![Page 11: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/11.jpg)
![Page 12: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/12.jpg)
![Page 13: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/13.jpg)
![Page 14: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/14.jpg)
![Page 15: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/15.jpg)
Микросервисная архитектура
Redis
API Checker Notifier CacheUI
![Page 16: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/16.jpg)
● DB - Redis
● UI - без серверного кода
● REST API
![Page 17: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/17.jpg)
Мойра - не зависит от доступности графита
Сервис Graphite relay
Graphite cache
Moira cache
Метрики
![Page 18: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/18.jpg)
Cache
Метрики в формате графита
Redis
Сохраниние метрики в базу и уведомление по pub/sub
![Page 19: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/19.jpg)
Cache
Метрики в формате графита
Redis
Сохраниние метрики в базу и уведомление по pub/sub
checkermaster
Подписка на метрики
![Page 20: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/20.jpg)
Cache
Метрики в формате графита
Redis
Сохраниние метрики в базу и уведомление по pub/sub
checkermaster
Подписка на метрики Добавление триггера на проверку
![Page 21: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/21.jpg)
Cache
Метрики в формате графита
Redis
Чтение паттернов
каждую секунду
Сохраниние метрики в базу и уведомление по pub/sub
checkermaster
Подписка на метрики Добавление триггера на проверку
![Page 22: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/22.jpg)
Redis
checkermaster Добавление
триггера на проверку
![Page 23: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/23.jpg)
Redis
checkermaster Добавление
триггера на проверку
checker workers
Загрузка данных триггера и вычисление состояния
![Page 24: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/24.jpg)
Redis
checkermaster Добавление
триггера на проверку
checker workers
Загрузка данных триггера и вычисление состояния
Состояние изменилось?
![Page 25: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/25.jpg)
Redis
checkermaster Добавление
триггера на проверку
checker workers
Загрузка данных триггера и вычисление состояния
Если да, то сохраняем уведомление
Состояние изменилось?
![Page 26: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/26.jpg)
Redis
checkermaster Добавление
триггера на проверку
checker workers
Загрузка данных триггера и вычисление состояния
Сохраняем состояние
Если да, то сохраняем уведомление
Состояние изменилось?
![Page 27: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/27.jpg)
notifier
sms
slack
pushover
Redis
Читаем уведомления
Fail?
Повторяем через
минутуДа
![Page 28: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/28.jpg)
30 проектов, 70 пользователей1 М уникальных метрик
20 К метрик в секунду550 триггеровХватает 2 виртуалки
![Page 29: Moira: Realtime alerting, Алексей Ларьков, СКБ Контур](https://reader033.fdocuments.net/reader033/viewer/2022050914/589cfb1e1a28abcc258b6bfd/html5/thumbnails/29.jpg)
Спасибо!moira.readthedocs.org
gitter.im/moira-alert/moiragithub.com/moira-alert