如何對 Elastic Beanstalk 環境的 CloudWatch 串流相關錯誤進行疑難排解?

1 分的閱讀內容
0

我想要解決與 AWS Elastic Beanstalk 環境的 Amazon CloudWatch 串流相關的錯誤。

簡短描述

將您的日誌串流至 CloudWatch 有助於保護您的資料。例如,如果您的 Elastic Beanstalk 環境遇到終止的 Elastic Compute Cloud (Amazon EC2) 執行個體,則您仍然可以從 CloudWatch 復原日誌。您還可以使用日誌輪替來防止資料遺失。

如果即使在啟用日誌串流之後,環境的執行個體日誌仍未串流至 CloudWatch,則您必須觀察下列常見問題

  • 您的 IAM 執行個體設定檔角色缺少必要的 IAM 許可。
  • 您在不支援 CloudWatch 日誌的 AWS 區域啟動了您的環境。
  • 您指定的路徑中不存在其中一個自訂日誌。

解決方案

1.    確認您的 Elastic Beanstalk 執行個體設定檔角色具有下列許可:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

2.    如果您要串流自訂日誌,則使用設定檔案直接安裝 CloudWatch Logs 代理程式並設定檔案。此外,您必須驗證該組態檔案的格式和縮進。如需將自訂日誌串流至 CloudWatch 的詳細資訊,請參閱範例組態檔案

3.    檢查 CloudWatch 代理程式狀態和代理程式日誌,以找出日誌串流問題的原因。

檢查舊的 CloudWatch 代理程式 (awslogsd) 狀態和日誌:

  • **代理程式狀態:**systemctl status awslogsd.service
  • 代理程式日誌位置:/var/log/awslogs.log

檢查最新的 CloudWatch 代理程式 (amazon-cloudwatch-agent) 狀態和日誌:

  • **代理程式狀態︰**systemctl status amazon-cloudwatch-agent.service
  • 代理程式日誌位置:/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

如需有關在 Elastic Beanstalk 中自訂日誌檔案的詳細資訊,請參閱如何在 Elastic Beanstalk 中自訂日誌檔案?


相關資訊

搭配使用 Elastic Beanstalk 與 Amazon CloudWatch Logs

logs-streamtocloudwatch-linux.config

AWS 官方
AWS 官方已更新 1 年前