0
0

More than 1 year has passed since last update.

EC2 (Amazon Linux 2) で CloudWatch エージェントを使用して CloudWatch Logs にログ出力するまで

Last updated at Posted at 2021-09-23

やりたいこと

Session Manager 経由で、CloudWactch Agent をインストールして、messages を CloudWatch Logs に出力する

環境

・パブリックサブネットの Amazon Linux 2

Session Manager からのアクセス許可設定

以下の通り、AWS 管理ポリシー [AmazonSSMManagedInstanceCore] を EC2 に付与する。
[AmazonEC2RoleforSSM] は非推奨になったみたい。

ステップ 2: Session Manager のアクセス許可を持つ IAM インスタンスプロファイルを確認または作成する
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html

CloudWactch Agent のインストール

以下を参考に AWS Systems Manager の Run Command でコマンドドキュメント[AWS-ConfigureAWSPackage] を実行。
「Name」は [AmazonCloudWatchAgent] を指定すること。

パッケージの 1 回インストールまたは更新 (コンソール)
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html#distributor-deploy-pkg-console

ポリシーの付与

以下の通り、AWS 管理ポリシー [CloudWatchAgentServerPolicy] を EC2 に付与する。
[AmazonSSMManagedInstanceCore] のみだと CloudWatch Logs にログ出力されない。

Amazon EC2 インスタンスの CloudWatch エージェントで使用する IAM ロールを作成する
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent.html#create-iam-roles-for-cloudwatch-agent-roles

CloudWactch Agent の設定

AWS Systems Manager のパラメータストアに以下のようなパラメータを登録。

{
    "logs": {
        "logs_collected": {
            "files": {
                "collect_list": [
                    {
                        "file_path": "/var/log/messages",
                        "log_group_name": "/var/log/messages",
                        "log_stream_name": "{instance_id}"
                    }
                ]
            }
        }
    }
}

上記の設定ファイルの詳細は以下を参照。

CloudWatch エージェント設定ファイルを手動で作成または編集する
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html

続いて AWS Systems Manager の Run Command でコマンドドキュメント[AmazonCloudWatch-ManageAgent] を実行。
「Optional Configuration Location」は上記のパラメータ名を指定すること。

以上で、messages が CloudWatch Logs の以下に出力される。

パラメータ
ロググループ /var/log/messages
ログストリーム インスタンスID

出力先を変更する場合は上記の log_group_name と log_stream_name を変更すること。

参考資料

AmazonCloudWatch-ManageAgentドキュメントでCloudWatchエージェントを設定する際の挙動を確認した
https://dev.classmethod.jp/articles/amazoncloudwatch-manageagent-ssm-run-command/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0