クーパーネットを使用してアプリケーションドッカー画像を展開しています。ドッカーからクラウドウォッチへアプリケーションログを送信する方法
アプリケーションログを取得してクラウドウォッチにプッシュすることができます。
アプリケーションログは、マイクロサービスが構築された言語に応じてlog4jまたはlog4jsを使用して生成されます。
これを行う正しい方法は何ですか?
クーパーネットを使用してアプリケーションドッカー画像を展開しています。ドッカーからクラウドウォッチへアプリケーションログを送信する方法
アプリケーションログを取得してクラウドウォッチにプッシュすることができます。
アプリケーションログは、マイクロサービスが構築された言語に応じてlog4jまたはlog4jsを使用して生成されます。
これを行う正しい方法は何ですか?
Cloudwatchエージェントをインストールしたコンテナを作成します。 to do this you will need a Dockerfile
。 Amazon even has docs specifically for this。
ベースコンテナがDebianかRHELベースのどちらかであることを確認する必要があります(Amazonのドキュメントではエージェントとのこの種のディストリビューションのみをサポートしているようです)。
curl https://s3.amazonaws.com//aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
だから、あなたは、コンテナを構築する時には、上記を実行する必要があります。例えば、Debianのベースのシステムではとインストールされたエージェントを持つことになります。
インストールの詳細はhereです。
あなたはIAMポリシーの懸念について言及しました。 Amazons example policy is below;コンテナにアクセスできることを確認する必要があります。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::myawsbucket/*"
]
}
]
}
GitHub has done this alreadyの誰か:
FROM ubuntu:latest
MAINTAINER Ryuta Otaki <[email protected]>, Sergey Zhukov <[email protected]>
...
RUN apt-get install -q -y python python-pip wget
RUN cd/; wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
私は非常にあなたが彼らのリードに従ってください示唆。 Ubuntuを使い、ドキュメントに従ってください。車輪を再発明しないでください。
この質問はHow to Send Kubernetes Logs to AWS CloudWatch?と似ています。 Kubernetesは、ドッカーサポートのようなカスタムログドライバをサポートしていません。 fluentdを使ってログをクラウドウォッチに送ることができます。
@ jerstenこれは、EC2インスタンスで実行されているドッカーインスタンスではなく、EC2インスタンスで行う方法について説明しています。 – user1676688
@ jerstenそれを行う方法に関するドキュメントはありますか?また、IAMポリシーはどうですか?ドッカーに固有の何かがIAMポリシーのために必要となるか? – user1676688