全部產品
Search
文件中心

Application Real-Time Monitoring Service:如何部署和配置Kafka JMX Agent

更新時間:Jul 06, 2024

本文介紹如何部署和配置Kafka JMX Agent。

使用限制

目前支援在Container Service類型的Prometheus執行個體ECS類型的Prometheus執行個體中接入Kafka JMX Agent。

步驟一:部署Kafka JMX Agent

  1. 下載kafka JMX-Agent包到Kafka所在的Pod或ECS內。
  2. 在Kafka Producer、Broker、Consumer的JVM啟動參數中,增加參數-javaagent:/{jmx-agent儲存目錄}/kafka-jmx_prometheus_javaagent-1.18.1.jar={jmx監聽連接埠},具體參數樣本如下圖。
    • 儲存目錄:需要替換為您實際的儲存目錄。
    • jmx監聽連接埠:需要替換為您實際的JMX監聽連接埠。
    vr
  3. 重新啟動Kafka Producer、Broker、Consumer。
  4. 確認Kafka Producer、Broker、Consumer的Kafka JMX Agent是否正常工作。即在各Pod或ECS上,執行命令curl localhost:{jmx監聽連接埠}/metrics,觀察是否有正常的Metric返回。如果有正常的Metric返回,說明Kafka Producer、Broker、Consumer的Kafka JMX Agent已正常工作。

    jmx監聽連接埠:需要替換為您實際的JMX監聽連接埠。

    cr

(可選)步驟二:配置containerPort

若您是Container Service類型的Prometheus執行個體,您還需要配置containerPort,以便可觀測監控 Prometheus 版能順利抓取到Kafka JMX Agent的資料。若您是ECS類型的Prometheus執行個體,請跳過此步驟。

  1. 登入Container Service管理主控台

  2. 在控制台左側導覽列,單擊叢集

  3. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

  4. 在叢集管理左側導覽列中,選擇工作負載 > 有狀態。然後單擊工作負載名稱,在kafka頁簽的連接埠地區配置連接埠名稱、容器連接埠號碼和連接埠協議。
    • 連接埠名稱:Kafka JMX Agent連接埠名,例如app1-kafka-jmx。
    • 容器連接埠:為在步驟一:部署Kafka JMX Agent中定義的JMX監聽連接埠。
    • 連接埠協議:選擇TCP協議。
    xw

步驟三:配置Kafka Pod或ECS的標籤

可觀測監控 Prometheus 版可以通過識別Pod或ECS的標籤實現服務發現(Service Discovery),因此您需要定義一個標籤,以便可觀測監控 Prometheus 版能夠識別到。如果您的業務中已經存在類似的標籤,則可以跳過此步驟。

Container Service類型的Prometheus執行個體配置標籤

在Kafka Producer、Broker、Consumer的Pod上配置標籤{自訂標籤}:{自訂標籤值},例如:arms-kafka-exporter:my-kafka1,具體操作如下:

  1. 登入Container Service管理主控台

  2. 在控制台左側導覽列,單擊叢集

  3. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

  4. 在叢集管理左側導覽列中,選擇工作負載 > 容器組,並單擊工作負載名稱,在容器組詳情頁面,單擊右上方的編輯,然後在彈出的對話方塊中新增標籤,並單擊更新
    sj

ECS類型的Prometheus執行個體配置標籤

在Kafka Producer、Broker、Consumer的ECS上配置標籤{自訂標籤}:{自訂標籤值},例如:arms-kafka-exporter:my-kafka1,ECS建立標籤的具體操作,請參見建立或綁定標籤vr

後續操作

Kafka JMX-Agent配置完成後,您可以在可觀測監控 Prometheus 版控制台完成接入配置並查看其監控資料。具體操作,請參見如何使用Prometheus監控Kafka