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. 遙測來源原生標籤 — 來自原始接收者 (例如,podnamespacecontainer來自 cAdvisor)

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

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

雙重發佈和遷移

OTel Container Insights 預設為停用。若要啟用此功能,請在附加元件組態trueotelContainerInsights.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。

主題