View a markdown version of this page

從增強型容器洞見 (傳統) 遷移至 OTel 容器洞見 - Amazon CloudWatch

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

從增強型容器洞見 (傳統) 遷移至 OTel 容器洞見

增強型容器洞見 (傳統) 和 OTel 容器洞見都使用相同的 amazon-cloudwatch-observability Amazon EKS 附加元件。遷移是就地附加元件版本更新,您可以在 15-30 分鐘內完成。

警告

使用 Classic 指標名稱設定的 CloudWatch 警示不會自動使用 OTel 指標。您必須使用以 PromQL 為基礎的警示規則重新建立警示。

先決條件

開始遷移之前,請確認您符合下列要求。

  • 執行 Kubernetes 1.28 版或更新版本的 Amazon EKS 叢集

  • 附加amazon-cloudwatch-observability元件已安裝且處於 ACTIVE 狀態

  • AWS CLI 2.15.0 版或更新版本

  • kubectl 設定為與您的目標叢集通訊

  • 連接 CloudWatchAgentServerPolicy受管政策的 IAM 角色

突破性變更

在開始遷移之前,請檢閱下列重大變更。

已移除功能

OTel Container Insights 不提供下列功能:

  • StatsD 自訂指標 — 請改用 OTel StatsD 接收器。

  • 收集的外掛程式 — 遷移至 OTel 原生檢測。

已變更的預設值

下表顯示 Classic 和 OTel Container Insights 之間變更的預設值。

設定 傳統預設 OTel CI 預設
收集間隔 60 秒 60 秒
增強可觀測性 已啟用 已啟用
代理程式 CPU 請求 200 m 100 公尺
代理程式記憶體請求 200Mi 128Mi

移轉步驟

此遷移使用分階段方法將監控差距降至最低。您可以平行執行 Classic 和 OTel 指標串流、驗證資料,然後停用 Classic 串流。

階段 1:確認目前狀態 (僅限傳統)

在進行變更之前,請確認您目前的附加元件狀態,並記錄版本以供轉返。

確認您目前的附加元件組態
  1. 執行下列命令來檢查目前的附加元件狀態。

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability
  2. 確認 status 欄位為 ACTIVE

  3. 記錄 addonVersion值。如果您必須轉返,則需要此值。

階段 2:啟用雙重發佈 (傳統 + OTel)

啟用 OTel Container Insights 與增強型容器洞見 (傳統)。這會同時發佈兩個指標串流,以便您可以驗證資料對等性。

重要

這兩個指標串流都會在此階段產生費用。我們建議您盡可能縮短雙發佈時段,以將成本降至最低。

啟用雙重發佈
  1. 執行下列命令,在啟用兩個串流的情況下更新附加元件。

    aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --addon-version latest-version \ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}' \ --resolve-conflicts OVERWRITE
  2. 等待附加元件狀態傳回 ACTIVE

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.status"
  3. 透過使用 PromQL 查詢已知指標,確認 OTel 指標出現在 CloudWatch 中。

階段 3:重新建立警示和更新儀表板

為現有的 Classic 警示和儀表板建置 OTel 替換。在此階段期間,請將 Classic 警示保持為作用中的安全網。

為 OTel 指標重新建立警示
  1. 識別參考 Classic Container Insights 指標名稱的所有 CloudWatch 警示。

  2. 使用參考 OTel 指標名稱的 PromQL 型指標數學表達式建立對等警示。

  3. 驗證新警示是否進入 OK 狀態,並產生同等的閾值評估。

  4. 更新任何 CloudWatch 儀表板,以包含以 OTel 指標為基礎的小工具,以及現有的 Classic Widget。

階段 4:停用傳統 (僅切換到 OTel)

驗證 OTel 指標、警示和儀表板是否正常運作後,請停用 Classic 串流。

停用 Classic 並僅保留 OTel
  1. 執行下列命令來停用 Classic 指標發佈。

    aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}' \ --resolve-conflicts OVERWRITE
  2. 等待附加元件狀態傳回 ACTIVE

  3. 移除您在階段 3 中取代的 Classic 警示。

驗證

完成遷移後,請確認可觀測性堆疊是否正常運作。

  • 檢查 Query Studio 中的指標 — 使用 PromQL 查詢來確認指標從 OTel 管道流動。

  • 與基準值比較 — 確認指標值與您在階段 2 期間記錄的 Classic 指標一致。

  • 驗證 Container Insights 儀表板 — 確認 Container Insights 主控台會顯示叢集的資料。

  • 驗證日誌交付 — 檢查容器日誌是否繼續出現在 CloudWatch Logs 中。

  • 驗證警示 — 確認沒有警示處於 INSUFFICIENT_DATA 狀態。

轉返

如果您在遷移後遇到問題,您可以還原先前的 Classic 組態。

轉返至增強型容器洞見 (傳統)
  1. 識別您在階段 1 中記錄的先前附加元件版本。

  2. 執行下列命令來降級附加元件。

    aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --addon-version previous-version \ --resolve-conflicts OVERWRITE
  3. 等待附加元件狀態傳回 ACTIVE

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.status"
  4. 重新套用您用於先前版本的任何自訂組態值。