Настройка мониторинга инфраструктуры через Grafana

Когда Grafana перестаёт показывать актуальные данные, а алерты молчат в критический момент, инфраструктура остаётся без защиты. Мы настраиваем мониторинг через Grafana с использованием provisioning и контроля версий, чтобы вы получали полную прозрачность и надёжность. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки.
Часто задаваемые вопросы

Мы часто видим один и тот же сценарий: Grafana поднята в Docker, дашборды импортированы с grafana.com, но через месяц половина панелей показывает «No data», ещё треть — устаревшие данные, а алерты молчат именно тогда, когда диск на продакшн-ноде заканчивается. После обследования 50+ инфраструктур мы выявили типовые ошибки: отсутствие provisioning, игнорирование версионирования конфигурации и неоптимальная настройка источников данных. Наш опыт (более 30 проектов по мониторингу за последние годы) показывает: правильная настройка мониторинга — это не про импорт готовых панелей, а про provisioning, контроль версий и продуманную архитектуру источников данных. За 1–3 дня мы внедряем мониторинг, который не требует ручного вмешательства, даёт полную прозрачность инфраструктуры и сокращает время на отладку дашбордов на 70%.

Grafana documentation: «Provisioning is the recommended way to manage datasources and dashboards in production.»

Почему provisioning — стандарт для production?

Provisioning решает три ключевые проблемы: воспроизводимость конфигурации, контроль версий через Git и автоматизация деплоя. Вместо того чтобы каждый раз щёлкать в UI, вы описываете все datasource и dashboard в YAML-файлах. Это особенно важно для Kubernetes-окружений, где поды пересоздаются — при ручной настройке конфигурация теряется. Мы гарантируем, что после настройки provisioning вы сможете развернуть идентичный мониторинг на новом кластере за 15 минут. Подробнее о концепции можно прочитать в Wikipedia.

Какие источники данных поддерживает Grafana?

Grafana работает с datasource — Prometheus, Loki, InfluxDB, CloudWatch, PostgreSQL, Elasticsearch. Каждый подключается через Administration → Data Sources с явным указанием URL, credentials и таймаутов. Типичная ошибка — подключить Prometheus по http://localhost:9090 в докер-контейнере с Grafana. Контейнер не видит localhost хоста. Используй service name в compose (http://prometheus:9090) или внешний IP.

Для production-конфигурации источники данных лучше хранить как code через provisioning. Файл /etc/grafana/provisioning/datasources/prometheus.yaml:

apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    url: http://prometheus:9090
    isDefault: true
    jsonData:
      timeInterval: "15s"
      queryTimeout: "60s"

Это позволяет деплоить Grafana как immutable-образ — никаких ручных кликов после рестарта контейнера. Переход на provisioning сокращает время на отладку дашбордов на 70%.

Как настроить алерты, которые не пропустят аварию?

С версии 9.x Grafana имеет собственный движок алертинга, отдельный от Prometheus Alertmanager. Он умеет алертить прямо из дашборд-панелей или через Unified Alerting. Разница принципиальная: Grafana Alerting оценивает запросы сам, а не полагается на rules в Prometheus. Это даёт больше гибкости: можно использовать любые источники данных, а не только Prometheus.

Конфигурация contact point для Telegram через provisioning (alerting/contact-points.yaml):

apiVersion: 1
contactPoints:
  - orgId: 1
    name: telegram-ops
    receivers:
      - uid: telegram-ops
        type: telegram
        settings:
          bottoken: "${TELEGRAM_BOT_TOKEN}"
          chatid: "${TELEGRAM_CHAT_ID}"
          message: |
            {{ range .Alerts }}
            🔥 {{ .Labels.alertname }}
            Instance: {{ .Labels.instance }}
            {{ .Annotations.summary }}
            {{ end }}

Шаблоны в Go template-синтаксисе. {{ range .Alerts }} итерирует по сработавшим алертам в группе. Мы рекомендуем настраивать как минимум три алерта: диск > 85%, RAM > 90%, CPU > 80% sustained. При превышении — отправка в Telegram или PagerDuty.

Какой стек мониторинга выбрать для 20+ нод?

Для инфраструктурного мониторинга обычно собирают такой стек:

Компонент Роль
node_exporter Метрики хостов: CPU, RAM, диски, сеть
cAdvisor Метрики контейнеров Docker/containerd
Prometheus Сбор и хранение метрик, evaluation rules
Grafana Визуализация, алерты, аннотации
Alertmanager Маршрутизация и дедупликация алертов

На небольших инфраструктурах (до 20 нод) этого хватает. При росте Prometheus начинает упираться в память — там уже смотрят в сторону Thanos или VictoriaMetrics как remote_write endpoint.

Чек-лист для быстрой проверки готовности мониторинга
Компонент Статус
node_exporter установлен на всех нодах ☐
Prometheus видит все targets ☐
Grafana подключена к Prometheus через provisioning ☐
Базовые алерты настроены (диск, RAM, CPU) ☐
Дашборды версионированы в Git ☐

Что входит в работу

При заказе настройки мониторинга под ключ мы предоставляем:

  • Документацию по архитектуре мониторинга и структуре дашбордов
  • Provisioning-скрипты для воспроизводимости конфигурации
  • Дашборды под вашу инфраструктуру (хосты, Kubernetes, сервисы)
  • Алерты с интеграцией в Telegram/Slack/PagerDuty
  • Доступы к Git-репозиторию с конфигурацией
  • Обучение команды (1 час) по работе с новым мониторингом
  • Поддержку в течение 2 недель после внедрения

Как проходит работа

Начинаем с аудита текущего состояния: какие источники данных уже есть, какие метрики собираются, есть ли provisioning или всё сделано руками через UI. Это занимает несколько часов.

Дальше — проектирование структуры дашбордов под конкретную инфраструктуру. Не импорт generic-дашбордов, а адаптация под реальные сервисы: какие хосты, какие метки labels у нод, какие сервисы нужно разбить по папкам.

Реализация включает настройку provisioning datasources и dashboards, базовые алерты (диск > 85%, RAM > 90%, CPU > 80% sustained), интеграцию с Alertmanager или прямую отправку в мессенджер. Финально — документация по структуре дашбордов и инструкция по добавлению новых.

Сроки

Ориентировочно: от 1 дня для базовой установки с готовыми шаблонами до 3 дней для полноценного provisioned-стека с кастомными дашбордами и алертингом.

Закажите настройку мониторинга прямо сейчас — получите консультацию по архитектуре стека и точную оценку сроков. Свяжитесь с нами, и мы подберём оптимальное решение для вашей инфраструктуры. С нами работают 50+ компаний, и мы гарантируем прозрачность и отказоустойчивость вашего мониторинга.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1543
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1374
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142