AWS EC2 RHEL9にCloudWatchエージェントをインストールする方法

環境
RHEL 9.1
AWS EC2

操作手順

・EC2にIAM Roleをアタッチする
・EC2にCloudWacthエージェントのインストール
・CloudWatchエージェント設定ファイルの編集
・CloudWatchエージェントの起動

1.EC2にAIM Roleをアタッチする
CloudWatchにログを転送するには、CloudWatchLogsFullAccess権限をつけてやる必要があります。
CloudWatchAgentServerPolicyを利用してロールを設定します。
CloudWatchLogsFullAccess権限が含まれています。

2.EC2にCloudWacthエージェントのインストールする

# wget https://s3.ap-northeast-1.amazonaws.com/amazoncloudwatch-agent-ap-northeast-1/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

パッケージをインストールします。

# sudo rpm -U ./amazon-cloudwatch-agent.rpm

3.CloudWatchエージェントの設定ファイルを編集する
作成ファイル
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json」

{
    "agent": {
        "metrics_collection_interval": 300,
        "region": "ap-northeast-1",
        -- CloudWatchエージェントのログファイル
        "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"  
    },
    "logs": {
        "logs_collected": {
        "files": {
            "collect_list": [
                {
                    "file_path": "/var/log/app/log.log",  -- 転送対象のログファイル
                    "auto_removal": false,  -- 転送したログを削除するかの設定
                    "log_group_name": "YOUR_LOG_GROUP_NAME",  -- 転送するロググループ名
                    "log_stream_name": "YOUR_LOG_STREAM_NAME_{instance_id}",  -- 転送するログストリーム名
                    "timezone": "Local",
                    "timestamp_format": "%Y-%-m-%-d %H:%-M:%-S.%f",  -- ログ中のタイムスタンプフォーマット
                    "multi_line_start_pattern": "%Y-%-m-%-d %H:%-M:%-S.%f",  -- 複数行モード時のログの開始フォーマット指定
                    "encoding": "utf-8"
                }
            ]
        }
        },
        "log_stream_name": "YOUE_LOG_STREAM_{instance_id}",  -- デフォルトログストリーム名
        "force_flush_interval" : 5  -- 転送間隔(秒)
    }
}

4.CloudWatchエージェントの起動を設定します
起動

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

以下のコマンドでエージェントの起動を確認します。

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

エージェントの再起動

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_amazon-cloudwatch-agent.json

 

AWS

Posted by arkgame