設定第三方監控工具的附加元件 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定第三方監控工具的附加元件

您可以設定 Network Flow Monitor 附加元件,以在安裝期間公開 OpenMetrics 伺服器。這可與第三方監控工具整合,例如 Prometheus,讓您收集和分析現有監控基礎設施的網路流量指標。進一步了解 OpenMetrics。此功能可從附加元件版本 v1.1.0 取得。

若要啟用 OpenMetrics 伺服器,請將 OPEN_METRICS、OPEN_METRICS_ADDRESS 和 OPEN_METRICS_PORT 新增至 EKS 網路流量監視器附加元件的組態值。本指南將說明如何同時使用 CLI 和主控台來執行此操作。如需新增組態值的其他詳細資訊,請參閱 Amazon EKS 附加元件進階組態。

CLI 組態

使用 時 AWS Command Line Interface,您可以提供組態值做為參數:

aws eks create-addon \ --cluster-name my-cluster-name \ --addon-name aws-network-flow-monitoring-agent \ --addon-version v1.1.0-eksbuild.1 \ --configuration-values '{"env":{"OPEN_METRICS":"on","OPEN_METRICS_ADDRESS":"0.0.0.0","OPEN_METRICS_PORT":9109}}'

主控台組態

使用 Amazon EKS 主控台時,這些值可以在選用組態設定下新增,做為組態值的一部分。

範例 JSON:

{ "env": { "OPEN_METRICS": "on", "OPEN_METRICS_ADDRESS": "0.0.0.0", "OPEN_METRICS_PORT": 9109 } }

YAML 範例:

env: OPEN_METRICS: "on" OPEN_METRICS_ADDRESS: "0.0.0.0" OPEN_METRICS_PORT: 9109

EKS 網路流量監控附加元件 OpenMetric 參數

  • OPEN_METRICS:

    • 啟用或停用開啟指標。如果未提供,則停用

    • 類型:字串

    • 值:【"on"、"off"】

  • OPEN_METRICS_ADDRESS:

    • 接聽開放指標端點的 IP 地址。如果未提供,則預設為 127.0.0.1

    • 類型:字串

  • OPEN_METRICS_PORT:

    • 開放指標端點的接聽連接埠。如果未提供,則預設為 80

    • 類型:整數

    • 範圍:【0..65535】

重要:將 OPEN_METRICS_ADDRESS 設定為 0.0.0.0 時,指標端點可從任何網路界面存取。考慮將 127.0.0.1 用於僅限 localhost 的存取,或實作適當的網路安全控制,以限制僅對授權監控系統的存取。

疑難排解

如果您遇到 OpenMetrics 伺服器組態的問題,請使用下列資訊來診斷和解決常見問題。

指標未顯示

問題:已設定 OpenMetrics 伺服器,但指標未出現在您的監控工具中。

故障診斷步驟:

  1. 確認您的附加元件組態中已啟用 OpenMetrics 伺服器:

    • 檢查組態值中的 OPEN_METRICS 是否設為 "on"。請參閱 describe-addon

    • 設定選取的附加元件設定中,確認附加元件版本為 v1.1.0 或更新版本。

  2. 直接測試指標端點:

    • 在 http://pod-ip:port/metrics 存取指標 (將 Pod-ip 取代為實際的 Pod IP 地址,將連接埠取代為您設定的連接埠)。

    • 如果您無法存取端點,請驗證您的網路組態和安全群組設定。

  3. 驗證您的監控工具組態。如需如何執行下列作業的詳細資訊,請參閱監控工具使用者指南:

    • 確保您的監控工具 (例如 Prometheus) 設定為抓取正確的端點。

    • 檢查抓取間隔和逾時設定是否適當。

    • 確認您的監控工具具有 Pod IP 地址的網路存取權。

特定 Pod 中遺失的指標

問題:指標可從叢集中的某些 Pod 取得,但不適用於其他 Pod。

故障診斷步驟:

Network Flow Monitor 附加元件不支援使用 hostNetwork: true 的 Pod。如果您的 Pod 規格包含此設定,則無法從這些 Pod 取得指標。

解決方法:移除 hostNetwork:可能的話,從您的 Pod 規格進行 true 設定。如果您需要應用程式使用主機聯網,請考慮針對這些特定 Pod 使用替代的監控方法。

連線遭拒錯誤

問題:您在嘗試存取指標端點時收到「連線遭拒」錯誤。

故障診斷步驟:

  1. 驗證 OPEN_METRICS_ADDRESS 組態:

    • 如果設定為 127.0.0.1,則只能從 Pod 內存取端點。

    • 如果設定為 0.0.0.0,則應該可以從叢集中的其他 Pod 存取端點。

    • 確保您的監控工具可以到達設定的地址。

  2. 檢查 OPEN_METRICS_PORT 組態:

    • 確認連接埠號碼尚未由其他 服務使用。

    • 確定連接埠在有效範圍內 (1-65535)。

    • 確認任何安全群組或網路政策都允許此連接埠上的流量。

驗證步驟

若要確認您的 OpenMetrics 組態正常運作:

  1. 檢查附加元件狀態:

    aws eks describe-addon --cluster-name your-cluster-name --addon-name aws-network-flow-monitoring-agent
  2. 驗證 Pod 狀態:

    kubectl get pods app.kubernetes.io/name=aws-network-flow-monitoring-agent
  3. 從叢集內測試指標端點:

    kubectl exec add-on-pod-name -- curl localhost:9109/metrics

    將 9109 取代為您設定的連接埠號碼,並將 Pod 名稱取代為 AddOn Pod 名稱。