View a markdown version of this page

OTel Container Insights (建議) - Amazon CloudWatch

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

OTel Container Insights (建議)

OTel Container Insights 是在 Amazon EKS 叢集上啟用 Container Insights 的建議方法。它以 OpenTelemetry 為基礎,透過簡化的部署模型和主動持續開發,在指標和日誌之間提供全面的可觀測性。

OTel Container Insights 和增強型容器 Insights (傳統) 都使用相同的 amazon-cloudwatch-observability Amazon EKS 附加元件。差別在於附加元件版本和組態,而不是不同的產品。OTel Container Insights 是較新且積極開發的附加元件組態。

此方法專為下列使用案例而設計:

  • 想要叢集可觀測性最佳支援路徑的新 Amazon EKS 客戶

  • 想要在單一現代遙測管道上合併的現有客戶

  • 採用 OpenTelemetry 的團隊想要與 CloudWatch 原生整合

主要優點

OTel Container Insights 提供下列優點:

  • 簡化設定 — 透過主控台在幾分鐘內啟用完整可觀測性 AWS CLI,或 CloudFormation

  • 全方位訊號 — 從單一代理程式部署收集指標和日誌

  • 增強可觀測性 — 存取詳細的 Kubernetes 指標、Pod 層級洞察和相關訊號

  • 主動開發 — 持續接收新功能、效能改善和擴展訊號涵蓋範圍

  • OpenTelemetry-native — 以 OpenTelemetry Collector 為基礎,符合業界標準的可觀測性架構

為什麼建議使用此方法

建議 OTel Container Insights 優於其他 Container Insights 方法,因為它以最簡單的部署模型提供最廣泛的訊號涵蓋範圍 (指標和日誌)。其他方法處於僅限維護模式或需要更複雜的手動組態。

下表比較 OTel Container Insights 與 Enhanced Container Insights (Classic)。

考量事項 OTel Container Insights 增強型容器洞見 (傳統)
訊號 指標、日誌 指標、日誌
增強可觀測性 是 是
維護狀態 主動開發 Maintenance (維護)
部署複雜性 低 低

指標來源和接收者

OTel Container Insights 會從開放原始碼接收者收集指標,並使用 OpenTelemetry 語意慣例自動充實指標。與使用專屬指標名稱的 Enhanced Container Insights (Classic) 不同,OTel Container Insights 會保留每個來源的原始指標名稱。這使得它們與現有的 PromQL 儀表板和社群文件相容。

OTel Container Insights 會使用 OpenTelemetry Protocol (OTLP) 以 30 秒精細程度從多個接收者收集開放原始碼指標。指標使用其原始來源名稱 (例如,container_cpu_usage_seconds_total來自 cAdvisor) 而非 CloudWatch 格式名稱,您可以使用 PromQL 來查詢它們。

下表列出可用的接收者及其先決條件。

接收者 收集的內容 先決條件
cAdvisor 容器 CPU、記憶體、網路、磁碟/檔案系統指標 內建於 kubelet 中 — 無需額外設定
Prometheus Node Exporter 節點層級 CPU、記憶體、磁碟、檔案系統、網路、系統、VMStat、netstat/socket 指標 包含在附加元件中
Kube 狀態指標 Pod、節點、部署、DaemonSet、StatefulSet、ReplicaSet、Job、CronJob、Service、Namespace、PV、PVC 指標 包含在附加元件中
Kubernetes API 伺服器 API 伺服器和等指標 可在控制平面上使用
NVIDIA DCGM GPU 使用率、記憶體、電源/熱度、限流、錯誤/可靠性、NVLink 指標 需要 NVIDIA 裝置外掛程式和容器工具組
AWS Neuron 監視器 NeuronCore、NeuronDevice 和 Neuron 系統指標 需要 Neuron 驅動程式和裝置外掛程式
AWS Elastic Fabric 轉接器 EFA 網路指標 需要 EFA 裝置外掛程式
NVMe NVMe SMART 運作狀態指標 沒有其他設定

每個指標最多可新增來自下列三個來源的 150 個標籤:

  1. 遙測來源原生標籤 — 來自原始接收者 (例如,pod、namespace、container來自 cAdvisor)

  2. OpenTelemetry 資源屬性 — 遵循 Kubernetes、Host 和 Cloud 的 OTel 語意慣例

  3. Kubernetes Pod 和節點標籤 — Kubernetes API 的所有標籤,字首為 k8s.pod.label.*和 k8s.node.label.*

雙重發佈和遷移

OTel Container Insights 預設為停用。若要啟用此功能,請在附加元件組態true中otelContainerInsights.enabled將 設定為 。

從附加元件版本 v6.2.0 開始,附加元件支援透過 Enhanced Container Insights (Classic) 和 OTel Container Insights 同時發佈指標。這可讓您在完全遷移之前驗證新的指標管道。

若要啟用 OTel Container Insights 與 Enhanced Container Insights (Classic),請執行下列命令。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}'

若要停用 OTel Container Insights 並僅保留增強型容器 Insights (Classic),請執行下列命令。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":false}}'

若要停用增強型容器洞見 (傳統) 並僅保留 OTel 容器洞見,請執行下列命令。

aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}'

開始使用

使用下列主題在您的 Amazon EKS 叢集上設定和設定 OTel Container Insights。

主題