淄博網(wǎng)站長清區(qū)seo網(wǎng)絡(luò)優(yōu)化軟件
prometheus 監(jiān)控 kafka 常見的有兩種開源方案,一種是傳統(tǒng)的部署 exporter 的方式,一種是通過 jmx 配置監(jiān)控,本文將采用第二種方式進行配置。
- 項目地址:
- kafka_exporter:https://github.com/danielqsj/kafka_exporter
- jmx_exporter:https://github.com/prometheus/jmx_exporter
本文將介紹使用JMX-Exporter監(jiān)控Kafka。
JMX-Exporter簡介
JMX-Exporter 是 Prometheus 社區(qū)提供的一個工具,用來把 JMX 暴露的監(jiān)控指標數(shù)據(jù)轉(zhuǎn)換為 Prometheus 可識別的格式。JMX-Exporter 通過 HTTP 服務(wù)的方式暴露監(jiān)控指標數(shù)據(jù),Prometheus 通過 HTTP 協(xié)議來拉取監(jiān)控指標數(shù)據(jù)。
JMX-Exporter 提供了兩種采集并暴露指標的用法:
- 啟動獨立進程。JVM 啟動時指定參數(shù),暴露 JMX 的 RMI 接口,JMX-Exporter 調(diào)用 RMI 獲取 JVM 運行時狀態(tài)數(shù)據(jù),轉(zhuǎn)換為 Prometheus metrics 格式,并暴露端口讓 Prometheus 采集。這種方式的好處是有任何調(diào)整不需要重啟 Kafka Broker 進程, 缺點是多維護了一個獨立的進程。
- JVM 進程內(nèi)啟動 (in-process)。JVM 啟動時指定參數(shù),通過 javaagent 的形式運行 JMX-Exporter 的 jar 包,進程內(nèi)讀取 JVM 運行時狀態(tài)數(shù)據(jù),轉(zhuǎn)換為 Prometheus metrics 格式,并暴露端口讓 Prometheus 采集。這種方式的缺點是:如果有任何調(diào)整, 需