feat(monitoring): add Kafka monitoring via kafka-exporter

- Add kafka-exporter service to docker-compose.yml
- Add kafka job to prometheus.yml scrape configs
- Add Kafka Overview dashboard (Grafana provisioning)
- Add Kafka alert rules (broker down, consumer lag, etc.)
- Add make reload-monitoring command for easy updates
- Update OPERATIONS.md with TL;DR and troubleshooting

API verified via Context7:
- /danielqsj/kafka_exporter for exporter config
- /prometheus/docs for scrape_configs format
This commit is contained in:
2026-02-08 21:25:31 +03:00
parent 41c867d68d
commit ae593fd08c
7 changed files with 1219 additions and 11 deletions
+14 -1
View File
@@ -1,4 +1,4 @@
.PHONY: up ddl data transform
.PHONY: up ddl data transform reload-monitoring
COMPOSE ?= docker compose
@@ -13,3 +13,16 @@ data:
transform:
bash ./scripts/run_batch.sh
# Перезагрузка конфигурации мониторинга (после изменений в provisioning)
reload-monitoring:
@echo "=== Перезагрузка сервисов мониторинга ==="
$(COMPOSE) up -d prometheus grafana kafka-exporter
$(COMPOSE) restart prometheus
@echo "=== Перезагрузка provisioning Grafana ==="
@sleep 2
@curl -s -u admin:admin -X POST http://localhost:3000/api/admin/provisioning/datasources/reload && echo " [datasources]"
@curl -s -u admin:admin -X POST http://localhost:3000/api/admin/provisioning/dashboards/reload && echo " [dashboards]"
@curl -s -u admin:admin -X POST http://localhost:3000/api/admin/provisioning/alerting/reload && echo " [alerting]"
@echo "=== Проверка ==="
@curl -s http://localhost:9090/api/v1/targets | grep -o '"job":"[^"]*"' | sort | uniq