本文介紹如何部署和配置Kafka JMX Agent。
使用限制
目前支援在Container Service類型的Prometheus執行個體和ECS類型的Prometheus執行個體中接入Kafka JMX Agent。
步驟一:部署Kafka JMX Agent
- 下載kafka JMX-Agent包到Kafka所在的Pod或ECS內。
- 在Kafka Producer、Broker、Consumer的JVM啟動參數中,增加參數
-javaagent:/{jmx-agent儲存目錄}/kafka-jmx_prometheus_javaagent-1.18.1.jar={jmx監聽連接埠}
,具體參數樣本如下圖。- 儲存目錄:需要替換為您實際的儲存目錄。
- jmx監聽連接埠:需要替換為您實際的JMX監聽連接埠。
- 重新啟動Kafka Producer、Broker、Consumer。
- 確認Kafka Producer、Broker、Consumer的Kafka JMX Agent是否正常工作。即在各Pod或ECS上,執行命令
curl localhost:{jmx監聽連接埠}/metrics
,觀察是否有正常的Metric返回。如果有正常的Metric返回,說明Kafka Producer、Broker、Consumer的Kafka JMX Agent已正常工作。jmx監聽連接埠:需要替換為您實際的JMX監聽連接埠。
(可選)步驟二:配置containerPort
若您是Container Service類型的Prometheus執行個體,您還需要配置containerPort,以便可觀測監控 Prometheus 版能順利抓取到Kafka JMX Agent的資料。若您是ECS類型的Prometheus執行個體,請跳過此步驟。
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
- 在叢集管理左側導覽列中,選擇 。然後單擊工作負載名稱,在kafka頁簽的連接埠地區配置連接埠名稱、容器連接埠號碼和連接埠協議。
- 連接埠名稱:Kafka JMX Agent連接埠名,例如app1-kafka-jmx。
- 容器連接埠:為在步驟一:部署Kafka JMX Agent中定義的JMX監聽連接埠。
- 連接埠協議:選擇TCP協議。
步驟三:配置Kafka Pod或ECS的標籤
可觀測監控 Prometheus 版可以通過識別Pod或ECS的標籤實現服務發現(Service Discovery),因此您需要定義一個標籤,以便可觀測監控 Prometheus 版能夠識別到。如果您的業務中已經存在類似的標籤,則可以跳過此步驟。
Container Service類型的Prometheus執行個體配置標籤
在Kafka Producer、Broker、Consumer的Pod上配置標籤{自訂標籤}:{自訂標籤值}
,例如:arms-kafka-exporter:my-kafka1
,具體操作如下:
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
- 在叢集管理左側導覽列中,選擇 ,並單擊工作負載名稱,在容器組詳情頁面,單擊右上方的編輯,然後在彈出的對話方塊中新增標籤,並單擊更新。
ECS類型的Prometheus執行個體配置標籤
在Kafka Producer、Broker、Consumer的ECS上配置標籤
{自訂標籤}:{自訂標籤值}
,例如:arms-kafka-exporter:my-kafka1
,ECS建立標籤的具體操作,請參見建立或綁定標籤。後續操作
Kafka JMX-Agent配置完成後,您可以在可觀測監控 Prometheus 版控制台完成接入配置並查看其監控資料。具體操作,請參見如何使用Prometheus監控Kafka。