Kafka在Linux環境下的監控方法如下:
一、原生工具監控
- 命令行工具
kafka-topics.sh
:查看主題詳情、分區狀態。
kafka-consumer-groups.sh
:監控消費者組偏移量、消費速率及延遲。
kafka-run-class.sh
:獲取生產/消費者性能指標。
- JMX監控
- 啟用JMX端口(如
export JMX_PORT=9999
),通過jconsole
或JMX Exporter
采集指標。
二、第三方工具監控
- Prometheus + Grafana
- 通過
kafka-exporter
或JMX Exporter
暴露指標,Grafana可視化展示吞吐量、延遲、堆積等數據。
- Kafka專用工具
- Kafka Manager:Web界面管理集群狀態、主題、消費者組。
- Burrow:專注消費者偏移量監控,支持延遲告警。
- Confluent Control Center:商業級監控,提供集中化告警和分析。
- 日志與系統監控
- 通過
tail -f /var/log/kafka/server.log
查看實時日志。
- 使用
top/htop
、iostat
、vmstat
監控服務器資源使用情況。
三、關鍵監控指標
- Broker:吞吐量(BytesIn/BytesOut)、延遲、磁盤使用率、副本同步狀態(UnderReplicatedPartitions)。
- Topic/Partition:消息堆積量、ISR數量、Leader選舉次數。
- 消費者:消費延遲(Lag)、消費速率、提交成功率。
四、自動化與告警
- 編寫腳本定期檢查進程狀態、磁盤空間,觸發異常告警。
- 集成Prometheus告警規則,對關鍵指標(如延遲>10秒、堆積量>10000)設置告警。
以上方法可組合使用,根據實際需求選擇工具,確保Kafka集群的穩定運行。