AWS EC2 RHEL9にCloudWatchエージェントをインストールする方法
環境
RHEL 9.1
AWS EC2
操作手順
・EC2にIAM Roleをアタッチする
・EC2にCloudWacthエージェントのインストール
・CloudWatchエージェント設定ファイルの編集
・CloudWatchエージェントの起動
・EC2にIAM Roleをアタッチする
・EC2にCloudWacthエージェントのインストール
・CloudWatchエージェント設定ファイルの編集
・CloudWatchエージェントの起動
・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
# wget https://s3.ap-northeast-1.amazonaws.com/amazoncloudwatch-agent-ap-northeast-1/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
# 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
# sudo rpm -U ./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 -- 転送間隔(秒)
}
}
{
"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 -- 転送間隔(秒)
}
}
{ "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 -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 -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 -m ec2 -a status
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
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
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