本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Prometheus 進行開放式監控
您可以使用 Prometheus 監控MSK叢集,Prometheus 是一種開放原始碼監控系統,以取得時間序列指標資料。您可以使用 Prometheus 的遠端寫入功能,將此資料發布到適用 Amazon Managed Service for Prometheus。您還可以使用與 Prometheus 格式的指標或與 Amazon MSK 開放監控集成的工具兼容的工具,例如數據多,鏡頭
建立啟用開放式監控的 Amazon MSK 叢集
使用 AWS Management Console
登錄到 AWS Management Console,並在https://console.aws.amazon.com/msk/家裡打開 Amazon MSK 控制台? 區域 = us-east-1 #/
家/. -
在監控區段中,選取使用 Prometheus 啟用開放式監控旁邊的核取方塊。
-
在頁面的所有區段內提供必要資訊,然後檢閱所有可用選項。
-
選擇建立叢集。
使用 AWS CLI
-
呼叫 create-cluster 命令,並指定其
open-monitoring
選項。啟用JmxExporter
、NodeExporter
,或同時啟用兩者。如果您指定open-monitoring
,則無法同時停用兩個匯出工具。
使用 API
-
呼叫作CreateCluster業並指定
OpenMonitoring
。啟用jmxExporter
、nodeExporter
,或同時啟用兩者。如果您指定OpenMonitoring
,則無法同時停用兩個匯出工具。
為現有 Amazon MSK 叢集啟用開放式監控
若要啟用開放式監視,請確定叢集處於 ACTIVE
狀態。
使用 AWS Management Console
登錄到 AWS Management Console,並在https://console.aws.amazon.com/msk/家裡打開 Amazon MSK 控制台? 區域 = us-east-1 #/
家/. -
選擇您要更新的叢集名稱。這會帶您前往包含叢集詳細資訊的頁面。
-
在屬性標籤上,向下捲動並找到監控區段。
-
選擇編輯。
-
選取使用 Prometheus 啟用開放式監控旁邊的核取方塊。
-
選擇 Save changes (儲存變更)。
使用 AWS CLI
-
呼叫 update-monitoring 命令,並指定其
open-monitoring
選項。啟用JmxExporter
、NodeExporter
,或同時啟用兩者。如果您指定open-monitoring
,則無法同時停用兩個匯出工具。
使用 API
-
呼叫作UpdateMonitoring業並指定
OpenMonitoring
。啟用jmxExporter
、nodeExporter
,或同時啟用兩者。如果您指定OpenMonitoring
,則無法同時停用兩個匯出工具。
在 Amazon 執行個體上設定 Prometheus 主機 EC2
-
https://prometheus.io/download/#prometheus
將 Prometheus 伺服器從下載到您的 Amazon 執行個體。EC2 -
將下載的檔案解壓縮到目錄,並前往該目錄。
-
使用下列內容建立名為
prometheus.yml
的檔案。# file: prometheus.yml # my global config global: scrape_interval: 60s # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' static_configs: # 9090 is the prometheus server port - targets: ['localhost:9090'] - job_name: 'broker' file_sd_configs: - files: - 'targets.json'
-
使用此ListNodes作業取得叢集代理程式的清單。
-
創建一個名為以下
targets.json
內容的文件JSON。Replace (取代)broker_dns_1
,broker_dns_2
,以及其餘經紀人DNS名稱以及您在上一步中為經紀人獲得的DNS名稱。包括您在上一個步驟中獲得的所有代理程式。Amazon MSK 使用端口 11001 作為JMX出口商,端口 11002 用於 Node Exporter。注意
要從KRaft控制器抓取JMX指標,請在JSON文件中添加控制器DNS名稱作為目標。例如:
controller_dns_1:11001
controller_dns_1
以實際控制器DNS名稱取代。 -
若要在 Amazon EC2 執行個體上啟動 Prometheus 伺服器,請在擷取 Prometheus 檔案並儲存和的目錄中執行下列命令。
prometheus.yml
targets.json
./prometheus
-
在上一個步驟中,尋找您在其中EC2執行 Prometheus 的 Amazon 執行個體的IPv4公有 IP 地址。您在下一個步驟中需要此公有 IP 地址。
-
要訪問 Prometheus 網絡用戶界面,請打開一個可以訪問您的 Amazon EC2 實例的瀏覽器,然後轉到哪裡
Prometheus-Instance-Public-IP
:9090Prometheus-Instance-Public-IP
是您在上一步中獲得的公共 IP 地址。
Prometheus 指標
由 Apache 卡夫卡發出的所有指標JMX都可以使用開放式監控與 Prometheus 訪問。如需 Apache Kafka 指標的資訊,請參閱 Apache Kafka 文件中的 Monitoringkafka.consumer.group:type=ConsumerLagMetrics
您也可以使用 Prometheus Node Exporter 獲取CPU和磁盤指標為您的代理端口 11002.
將 Prometheus 指標存放在 Amazon Managed Service for Prometheus
適用於 Prometheus 的 Amazon 受管服務是與普羅米修斯相容的監控和警示服務,可用來監控 Amazon 叢集。MSK這是一項全受管服務,既可自動擴展指標的擷取、儲存、查詢和提醒,它還與 AWS 安全服務集成,為您提供快速安全的數據訪問。您可以使用開放原始碼 PromQL 查詢語言來查詢指標並根據指標發出提醒。
如需詳細資訊,請參閱《Amazon Managed Service for Prometheus 入門》。