本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 個標籤:
-
遙測來源原生標籤 — 來自原始接收者 (例如,
pod、namespace、container來自 cAdvisor) -
OpenTelemetry 資源屬性 — 遵循 Kubernetes、Host 和 Cloud 的 OTel 語意慣例
-
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-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}'
若要停用 OTel Container Insights 並僅保留增強型容器 Insights (Classic),請執行下列命令。
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"otelContainerInsights":{"enabled":false}}'
若要停用增強型容器洞見 (傳統) 並僅保留 OTel 容器洞見,請執行下列命令。
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}'
開始使用
使用下列主題在您的 Amazon EKS 叢集上設定和設定 OTel Container Insights。
主題
-
快速入門:Amazon EKS 上的 OTel Container Insights — 使用最快的設定路徑開始使用 OTel Container Insights。
-
從主控台啟用 OTel Container Insights — 透過 AWS 管理主控台啟用 OTel Container Insights。
-
使用 Helm 部署 OTel 容器洞見 — 使用 Helm Chart 部署 OTel Container Insights,以實現靈活、易於 GitOps 的管理。
-
使用 部署 OTel Container Insights CloudFormation — 使用 CloudFormation 範本部署 OTel Container Insights。
-
將日誌傳送至 Amazon CloudWatch — 設定 Amazon EKS 叢集的日誌集合。
-
Amazon EKS 上 OTel Container Insights 的進階組態 — 為您的環境自訂和微調 OTel Container Insights。