Для чего использовал Grafana?

«Для чего использовал Grafana?» — вопрос из категории DevOps, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я использовал Grafana как центральную панель для мониторинга и observability (наблюдаемости) распределённых систем. Её основная ценность — агрегация данных из разных источников и их интуитивная визуализация для быстрого анализа.

Мои типичные use cases:

  1. Мониторинг инфраструктуры и приложений:

    • Подключал дашборды к Prometheus для отображения метрик с хостов (CPU, память, диск) и приложений (JVM-метрики, HTTP-запросы в секунду, latency).
    • Создавал алерты на основе этих метрик (например, на рост 95-го перцентиля времени ответа API выше 500 мс).
  2. Анализ бизнес-метрик: Настраивал подключение к PostgreSQL или ClickHouse для визуализации ключевых бизнес-показателей в реальном времени: количество регистраций, активных пользователей, завершённых транзакций.

  3. Трассировка и логи: Интегрировал с Loki для поиска по логам и с Tempo/Jaeger для визуализации трейсов (трассировок) запросов в микросервисной архитектуре. Это позволяло быстро увидеть, в каком сервисе или запросе к БД происходит задержка.

Пример панели: Я создавал дашборд для сервиса, который отображал на одном экране: график RPS (запросов в секунду), график latency, процент ошибок 5xx, потребление памяти и CPU основными pods в Kubernetes, а также список последних ошибок из логов. Это давало полную картину здоровья сервиса.