CloudWatch Logs Agentをセットアップする時に便利なあんちょこ

CloudWatch Logs AgentをEC2環境で手動でセットアップしたいということが稀によくあって、 毎回エディタで開いて実行するのも面倒なのであんちょこを書いておく。

# agentのインストール
sudo yum install -y awslogs

# awscli.confのregionを 'us-east-1' to 'ap-northeast-1' に変更する
sudo sed -e s/us-east-1/ap-northeast-1/ /etc/awslogs/awscli.conf -i

# 変更されてるかを確認する
sudo cat /etc/awslogs/awscli.conf

# awslogs.confにcloudwatch logsに送りたいログの収集設定を追記する
# 基本的には「/var/log/xxxxxxxxxx_log」に相当する所を置換すれば良い
# 詳しい設定方法のリファレンスはこちら: https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html
    
sudo tee -a /etc/awslogs/awslogs.conf echo << EOS

[/var/log/xxxxxxxxxx_log]
datetime_format = [%a %b %d %H:%M:%S %Y]
file = /var/log/xxxxxxxxxx_log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/xxxxxxxxxx_log
EOS

# serviceの再起動
sudo service awslogsd restart

# 自動起動を設定しておく
sudo chkconfig awslogs on

# 自動起動設定の確認
chkconfig --list | grep awslogs

さいごに

IaCが整ってる環境であればこんなことしなくても良いという話ではあるが、お試しで立てるインスタンスなどわざわざコードを書くのは大げさだよねーという場合に便利です