Ответ
Использовал Grafana как основную платформу для визуализации метрик и настройки алертов в DevOps-стеке.
Типичный стек и use cases:
- Источники данных (Datasources): Prometheus (основной для метрик приложений), InfluxDB (для метрик инфраструктуры, например, Telegraf), Elasticsearch (для логов через Loki или прямых запросов), PostgreSQL.
- Мониторинг Java-приложений:
- JVM: Heap/Non-Heap память, количество потоков, загрузка классов.
- Garbage Collection: Время пауз, частота сборок по типам GC.
- Бизнес-метрики и производительность: Throughput (RPS), latency (p95, p99), error rate. Для экспорта использовался Micrometer.
- Мониторинг инфраструктуры: CPU, память, дисковое пространство и I/O, сетевой трафик (часто через Node Exporter и Grafana дашборды типа "Node Exporter Full").
Пример конфигурации Datasource для Prometheus (через provisioning):
# grafana/provisioning/datasources/prometheus.yaml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
isDefault: true
editable: false
Работа с алертами:
- Настраивал правила алертов прямо в интерфейсе Grafana (или через Alertmanager для Prometheus).
- Каналы уведомлений: Slack, Email, Telegram.
- Пример алерта: "Latency p99 > 500ms в течение 5 минут".
Итог: Grafana — мощный инструмент для создания единой операционной картины (single pane of glass) за счёт агрегации данных из разных источников в настраиваемых дашбордах.