Практика Prometheus и Grafana: метрики, которым можно доверять
На панели красивая линия, но при сбое она исчезает, а уведомление так и не приходит. Мониторинг полезен только тогда, когда понятно, откуда взялось число и что система сделает при отсутствии данных. Ниже — маршрут от получения метрики до проверенного алерта. Его удобно пройти на одном небольшом сервисе, который можно перезапускать и останавливать.
Метрики и уведомления без неверных выводов
Отсутствующая серия и ноль означают разное. Среднее процентов может скрыть большую долю ошибок. Следующие разборы помогают проверить смысл запросов и правила уведомлений.
- Critical не подавил warning: проверяем equal в Alertmanager
- Silence на обслуживание скрыл чужой сервис: сужаем matchers
- Cron зелёный, а данные старые: метрика последнего успеха через textfile
- Средняя доля ошибок врёт при разном трафике: считаем общий ratio
- Новые targets без рестарта Prometheus: обновляем file_sd атомарно
- Доля ошибок пропала с графика: отличаем отсутствие серии от нуля
- PromQL посчитал все instance: почему bool меняет результат count
Как работать с подборкой
Возьмите учебный сервис с запросами и ошибками, Prometheus и Grafana. Зафиксируйте несколько контролируемых событий: успешные запросы, ошибки, перезапуск процесса и остановку сбора. Для каждого заранее запишите, что ожидаете увидеть в данных. Это даст опору при проверке запроса и панели.
Ниже — статьи с объяснениями и примерами. Практические эксперименты выполняются в вашем учебном окружении; это не встроенный автоматический экзамен.
1. Убедиться, что данные действительно собираются
Сначала проверьте endpoint, интервалы и обработку labels. Если нужно измерять доступность снаружи, разберите отдельную проверку через blackbox exporter: работоспособность сборщика и успешность проверки сервиса — разные вещи.
- Scrape timeout в Prometheus: как различить медленный exporter и проблему сети
- relabel_configs и metric_relabel_configs: на каком этапе меняются метки
- Blackbox exporter: up равен 1, а сайт недоступен — проверяем probe_success
2. Получить правильное число
Рост счётчика, скорость запросов и процентиль отвечают на разные вопросы. Проверьте вычисления на понятной нагрузке, затем перезапустите процесс или измените label и проследите, как меняется результат.
- Rate и increase в Prometheus: считаем запросы и учитываем сброс счётчика
- После добавления label пропала история метрики: идентичность серии Prometheus
- P95 в Prometheus: как считать задержку по histogram и не усреднять процентили
- Many-to-many matching not allowed в PromQL: как сопоставить серии
3. Сделать панель устойчивой к обычным действиям
Изменение масштаба времени, сложный запрос и повторное развёртывание dashboard не должны превращаться в загадку. Проверьте каждый случай отдельно и сохраните понятный способ воспроизведения.
- График rate пропадает при приближении: $__rate_interval и частота scrape
- Grafana показывает No data: проверяем метрику, время и переменные
- Dashboard Grafana сбрасывает изменения: UI, provisioning и источник файла
- Медленный dashboard: когда выносить PromQL в recording rules
4. Проверить уведомление до настоящего сбоя
Для алерта важны не только порог, но и длительность условия, исчезновение ряда и доставка повторных уведомлений. Разберите правила на заранее подготовленных данных, затем проверьте весь путь до получателя.
- Алерт Prometheus не срабатывает: выражение, for и пропавшие данные
- Как проверить алерт до аварии: тесты правил с promtool
- Alertmanager шлёт слишком много сообщений: group_by и интервалы уведомлений
Соберите результат в одну рабочую процедуру
Закончите упражнение небольшим сценарием аварии: сервис отвечает ошибками, потом останавливается, затем восстанавливается. Сверьте реальные панели и уведомления с записанными ожиданиями. Если исчезновение метрики выглядит как улучшение здоровья сервиса, доработайте проверку отсутствия данных.
Продолжить обучение
Программу обучения с метриками, панелями и оповещениями можно посмотреть в курсе Prometheus и Grafana: мониторинг и observability. На странице курса — программа, условия доступа и покупки. Сопоставьте их со своей ближайшей рабочей задачей.
Если пока не хватает базы или нужен соседний инструмент, выберите другой маршрут в путеводителе по практике DevOps.
Продолжить на практике
- Prometheus и Grafana: мониторинг и observability ↗
Замечайте сбои до жалоб пользователей. Соберите мониторинг приложения: метрики Prometheus, запросы PromQL, дашборды Grafana и алерты, по которым понятно, что делать. Итог — наблюдаемый сервис и разбор учебного инцидента.
