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 でログファイルをカスタマイズするにはどうすればよいですか?」を参照してください。


関連情報

Amazon CloudWatch Logs で Elastic Beanstalk を使用する

logs-streamtocloudwatch-linux.config

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ