Лента событий и инциденты
Лента событий — хронология всего важного, что произошло в стеке: сайт перестал отвечать и вернулся, контейнер упал по нехватке памяти, сработал порог, выкатили новую версию. Сюда смотрят, чтобы понять, что сломалось первым, было ли уведомление и не связан ли сбой с выкаткой.
События — основа уведомлений: всё, что приходит в Telegram, MAX или на почту, сначала появляется в ленте. Ниже — как читать вкладку «События» стека и события сервера, какие бывают типы и уровни и чем события отличаются от инцидентов.
Вкладка «События» стека
Вкладка «События» есть у каждого стека. В ней в одну ленту собраны HTTP-проверки, контейнеры, правила уведомлений и изменения.
Наверху выбирается период: «24 ч», «7 дн» или «30 дн». Под ним — сводка: сколько было сбоев, сколько из них «идёт сейчас» (без восстановления), сколько «восстановлено», сколько «разовых» (OOM, падения, ошибки в логах) и сколько «изменений» (выкатки и правки проверок).
Карта сбоев
«Карта сбоев» — полоса времени, на которой у каждого источника своя дорожка: проверка сайта, сервис, сервер. Отрезок — сбой от начала до восстановления, засечка — разовое событие. Над картой — общий простой за период и какой источник лежал дольше всех. Если сбоев не было, карта так и скажет: «За период сбоев не было».
Лента по дням
Ниже — лента, сгруппированная по дням: «Сегодня», «Вчера», даты. Незакрытые сбои подняты наверх в группу «Идёт сейчас», чтобы не потеряться.
Главное в ленте — эпизоды:
- сбой и восстановление одного источника — одна строка с длительностью: «идёт 12 мин» или «восстановлен · 4 мин»;
- повторы одного инцидента контейнера — одна серия: «Перезапускается», «Убит по OOM», «Упал с кодом 1» — с числом повторов и временем «с … по …».
Фильтры: «Все», «Сбои» или «Изменения», и выбор источника — «Все источники», «HTTP», «Контейнеры», «Сервер», «Метрики», «Логи», «S3», «Сервисы», «Стек».
Если Наблюдатель нашёл причину сбоя, под событием видно «Причина:» и «Цепочка:» от симптома к причине, например «сайт ← api ← база db ← диск сервера», и ссылка «Улики и путь на карте →». Причина приходит и в уведомлении. Как это устроено — в статье Карта проекта.
Лента показывает до 500 последних событий за период; если их больше, внизу будет «Показаны последние … из …».
Типы событий
| Источник | События |
|---|---|
| Проверки сайтов | «Сайт недоступен», «Сайт снова доступен», «Замедление ответа», «Сильное замедление», «Сертификат скоро истекает», «Сертификат истёк», «Сертификат обновлён», «Сменился IP-адрес сайта», «Устаревшая версия TLS», «HTTP больше не ведёт на HTTPS» |
| Контейнеры и поды | «Контейнер нездоров», «Контейнер восстановлен», «Контейнер: OOM», «Контейнер: ошибка завершения», «Под в CrashLoopBackOff», «Под вышел из CrashLoopBackOff», «Выкатка» |
| Пороги и аномалии | «Превышен порог», «Порог в норме», «Аномалия метрики», «Метрика вернулась к норме», «Аномалия в потоке логов», «Аномалия устранена» |
| Сервисы по трассам | «Цель сервиса нарушена», «Сервис снова в цели», «Аномалия сервиса», «Сервис вернулся к норме» |
| Метрики приложения | «Источник метрик не отвечает», «Источник метрик снова отвечает» |
| Ошибки и агенты | «Ошибка приложения» (новая), «Повтор ошибки приложения» (вернулась после «решено»), «Сбой агента» |
| Серверы | «OOM на сервере», «Перезагрузка сервера», пороги диска, CPU, памяти, открытых файлов |
| Изменения | «Монитор создан / изменён / удалён», «S3-хранилище подключено / изменено / отключено», «Стек связан с сервером» |
Уровни событий
У каждого события есть уровень. От него зависит, придёт ли уведомление.
| Уровень | Смысл | Примеры | В каналы по умолчанию |
|---|---|---|---|
| «Ошибка» | чинить сейчас | сайт недоступен, OOM, падение контейнера, сертификат истёк, новая ошибка приложения | да |
| «Предупреждение» | присмотреться | замедление сайта, превышен порог, сертификат истекает, перезагрузка сервера, нарушена цель сервиса | да |
| «Успех» | всё вернулось | сайт снова доступен, контейнер восстановлен, сертификат обновлён | да |
| «Инфо» | для истории | выкатка, правки проверок, сменился IP сайта, «Порог в норме», аномалия сервиса | нет |
Уровень для событий правил задаётся в самом правиле. События о сертификатах, TLS, редиректе на HTTPS, новых ошибках приложения, сбоях агента, OOM и перезагрузке сервера пишутся всегда, без правил.
Выкатки
Когда сервис запускается в новой версии — с новым образом, а с агентом 0.13 и с новой конфигурацией (переменные окружения, ConfigMap, compose-файл), — в ленте появляется событие «Выкатка: api, worker» со списком сервисов. В Kubernetes выкатка новыми подами тоже засчитывается, простой перезапуск — нет. Нужен агент 0.12 или новее.
Выкатка имеет уровень «Инфо» и по умолчанию не приходит в каналы. Если хотите получать её в отдельный чат, добавьте тип «Выкатка» в фильтр канала. Разбирая сбой, первым делом посмотрите, не было ли выкатки прямо перед ним: фильтр «Изменения» покажет их отдельно.
События и инциденты сервера
На «Дашборде» сервера есть блок «События сервера» — таблица с колонками «Время», «Уровень», «Тип», «Источник», «Сообщение», «Детали» и фильтром по уровню. Сюда пишутся OOM и перезагрузки сервера, сбои агента и сработавшие пороги правил: диск, CPU, память, открытые файлы.
Вкладка «Инциденты» сервера — тот же журнал с фильтрами «OOM», «Перезагрузка», «Агент», «Пороги». Подробнее — в статье Мониторинг сервера.
Чем инцидент отличается от события
Инцидент контейнера — факт из жизни контейнера: OOM, падение с кодом, серия перезапусков, HEALTHCHECK не прошёл, ошибка в логах. Агент сообщает о нём всегда, и он попадает в журнал «Инциденты» на странице контейнера независимо от правил. Это материал для разбора: у каждого инцидента своя страница с графиками и логами вокруг момента сбоя.
Событие — то, о чём решено сообщить: правило проекта сработало на инцидент, порог или смену статуса и записало событие в ленту. Именно события уходят в каналы.
Поэтому инцидент может быть, а уведомления не прийти — если правило для него выключено. Журнал инцидентов контейнера описан в статье Контейнеры и поды.
Как события становятся уведомлениями
данные → правило проекта → событие в ленте → каналы проекта → Telegram / MAX / почта- Правило проекта следит за проверками, контейнерами, серверами, хранилищами и метриками всех стеков проекта. Правила настраиваются в правилах уведомлений.
- Сработавшее правило пишет событие с типом и уровнем. Когда проблема ушла — событие возврата. Пока состояние не изменилось, повторных событий нет: одно срабатывание — одно уведомление, без повторов каждую минуту.
- Каналы проекта решают, что отправить: канал должен быть включён, уровень события отмечен в канале, а событие — пройти фильтр канала по источникам и типам. Подробнее — в статье Уведомления в Telegram, MAX и на почту.
Правило без канала только пишет в ленту. Канал без подходящих правил молчит.
Сводки вместо потока сообщений
Первое уведомление о проблеме в стеке приходит сразу. Всё, что случилось в том же стеке следом за ним в ближайшие 30 секунд, приходит одним сообщением «Ещё события» со списком. Если в канал уходит больше 10 сообщений в минуту — например, сбой задел много сервисов, — Наблюдатель присылает одну «Сводку уведомлений» в минуту, пока поток не утихнет. В ленте стека при этом видно каждое событие по отдельности.
Через ИИ-ассистента
ИИ-ассистент читает ленту стека и сервера и сам разбирает сбой: «что случилось в prod ночью», «была ли выкатка перед падением api», «почему пришло уведомление о диске». Он же поможет убрать шум: посмотрит, какие правила срабатывают слишком часто, и предложит поднять порог или понизить уровень.
Что дальше
Первый сервер или стек подключается за пару минут. Бесплатно в раннем доступе.
Нашли неточность или не хватает ответа? Напишите в поддержку