協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
存取 EKS 功能控制器日誌
ACK、kro 和 Argo CD 的 EKS 功能控制器會在叢集外部執行受 AWS管基礎設施。您可以使用 Amazon CloudWatch Vended Logs 為這些控制器設定日誌交付,讓您了解控制器行為以進行監控和故障診斷。
日誌會以結構化 JSON 格式交付,並包含操作欄位,例如日誌層級、訊息、控制器名稱和對帳識別符。交付前會先篩選內部 AWS 中繼資料,您只會收到與功能控制器相關的操作日誌內容。
支援的日誌類型
每個 功能都有一或多個日誌類型,您可以獨立設定為 CloudWatch Vended Logs 交付來源。
ACK
-
EKS_CAPABILITY_ACK_LOGS
kro
-
EKS_CAPABILITY_KRO_LOGS
Argo CD
-
EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS
-
EKS_CAPABILITY_ARGOCD_APPLICATIONSET_LOGS
-
EKS_CAPABILITY_ARGOCD_COMMITSERVER_LOGS
-
EKS_CAPABILITY_ARGOCD_REPOSERVER_LOGS
-
EKS_CAPABILITY_ARGOCD_SERVER_LOGS
ACK 使用涵蓋所有 ACK 服務控制器的單一日誌類型。日誌記錄包含 controllerGroup 欄位 (例如 s3.services.k8s.aws、rds.services.k8s.aws),可識別哪些 ACK 服務控制器產生日誌。您可以使用此欄位來篩選 CloudWatch Logs Insights 或其他查詢工具中特定服務控制器的日誌。
Argo CD 有五種不同的日誌類型,每個控制器元件一個。這可讓您僅啟用所需控制器的記錄,並將其路由到不同的目的地。
設定日誌交付
若要設定功能控制器日誌交付,請使用 AWS 管理主控台 或 Amazon CloudWatch Logs API。如需詳細設定指示,請參閱《Amazon CloudWatch Logs 使用者指南》中的從 AWS 服務啟用記錄。每個功能控制器都可以設定為個別的 CloudWatch Vended Logs 交付來源,因此您可以選擇要接收的日誌。
主控台
-
在以下網址開啟 Amazon EKS 主控台:https://console.aws.amazon.com/eks/home#/clusters。
-
選取您的叢集名稱。
-
選擇功能索引標籤,然後選取您的功能。
-
在日誌交付區段中,選擇新增。
-
選取您 功能的日誌類型,然後選擇目的地。
-
選擇新增以建立交付。
使用 Amazon CloudWatch APIs
設定記錄需要三個步驟:
-
使用 CloudWatch
PutDeliverySourceAPI 建立 功能的交付來源。使用 功能 ARN 做為 ,resourceArn並指定所需的日誌類型。 -
使用 建立交付目的地
PutDeliveryDestination。指定 CloudWatch 日誌群組、S3 儲存貯體或 Amazon Data Firehose 交付串流的 ARN。 -
建立交付以使用 連接來源和目的地
CreateDelivery。
您可以使用 describe-capability命令擷取功能 ARN:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability\ --query 'capability.capabilityArn' --output text
您可以設定單一功能 (交付來源),透過建立多個交付將日誌傳送至多個目的地。您也可以將日誌從多個功能傳送至相同的目的地。
IAM 許可
根據選取的目的地,您可能需要為 CloudWatch 日誌群組、S3 儲存貯體或 Data Firehose 交付串流設定 IAM 政策或角色,以確保日誌交付成功。如果您要跨 AWS 帳戶傳送日誌,請使用 PutDeliveryDestinationPolicy API 來設定允許交付至目的地的 IAM 政策。如需其他資訊,請參閱 CloudWatch Vended Logs 許可文件。
範例:使用 CloudWatch Logs Insights 查詢日誌
若要檢視所有控制器的錯誤日誌:
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
如需更多查詢範例,包括依服務控制器篩選、追蹤對帳週期和 Argo CD 應用程式篩選,請參閱使用控制器日誌進行故障診斷。
檢視您的日誌
設定日誌交付後,日誌會交付到您指定的目的地。存取日誌的方法取決於您選擇的目的地類型:
-
CloudWatch Logs — 在 CloudWatch Logs 主控台中檢視日誌、使用 AWS CLI 命令,或搭配 CloudWatch Logs Insights 進行查詢。
-
Amazon S3 — 透過 S3 主控台、 AWS CLI 或 Amazon Athena 等分析工具,將日誌作為 S3 儲存貯體中的物件存取。
-
Amazon Data Firehose — 日誌會串流到您設定的 Firehose 目標 (例如 S3、OpenSearch Service、Redshift 等)。
定價
根據您選擇的交付目的地,CloudWatch Vended Logs 會收取日誌交付和儲存的費用。與標準 CloudWatch Logs 相比,CloudWatch Vended Logs 以更低的價格使用內建 AWS 身分驗證和授權來實現可靠、安全的日誌交付。如需詳細資訊,請參閱 CloudWatch 定價頁面的已修訂日誌一節