Kafka与Prometheus结合使用,可以实现对Kafka集群的实时监控和告警。以下是基于Kafka_exporter、Prometheus和Grafana的配置与告警规则的详细步骤和规则示例:
prometheus.yml
,添加Kafka_exporter作为抓取目标。kafka_server_brokertopicmetrics_bytesin_total{job="kafka-exporter"} == 0 for: 5m
[3](@ref。kafka_controller_underreplicated_partitions{job="kafka-exporter"} > 0 for: 10m
[3](@ref。max_over_time(kafka_consumer_group_lag{job="kafka-exporter"}[5m]) > 300 for: 10m
[3](@ref。kafka_log_log_end_offset{job="kafka-exporter",topic="my-topic"} - kafka_consumer_group_lag{job="kafka-exporter",group="my-consumer-group",topic="my-topic"} > 1000 for: 10m
[3](@ref。rate(kafka_server_replicafetchermanager_total_time_ms{job="kafka-exporter"}[5m]) > 0 and rate(kafka_server_replicafetchermanager_total_time_ms{job="kafka-exporter"}[1h])/ rate(kafka_server_replicafetchermanager_total_time_ms{job="kafka-exporter"}[1m]) > 10 for: 15m
[3](@ref。通过上述步骤和规则,可以有效地对Kafka集群进行实时监控和告警,确保系统的稳定运行。需要注意的是,具体的监控配置和告警规则可能需要根据实际的Kafka集群配置和业务需求进行调整。