AWSのCloudWatch Logsを使ってみたので作業記録として残しておきます。
#前提
前提として、Webサーバーを構築済みでパブリックIPアドレスでのアクセスが可能とします。
用意したWebサーバーの情報は、以下になります。
- OS:AmazonLinux2
- ミドルウェア:Apache
#作業の流れ
- IAMロールを作成する
- CloudWatch Logsの設定をする
- AWSコンソールから確認する
#1. IAMロールを作成する
ロールの作成をクリックします。
EC2を選択し、次のステップへ進みます。
CloudWatchLogsFullAccessを選択し、次のステップへ進みます。
タグ設定は任意です。
ロール名を入力し、ロールの作成をクリックします。
続いて、EC2インスタンスへIAMロールの割り当てを行います。
「IAMロールを変更」をクリックします。
プルダウンから、先ほど作成したIAMロールを選択し、保存します。
#2. CloudWatchLogsの設定をする
次のコマンドでエージェントをインストールします。
yum install -y awslogs
続いて、CloudWatchLogsエージェントの設定を行います。
/etc/awslogs内のawscli.confを開きます。
[root@ip-10-0-0-81 awslogs]# ls
awscli.conf awslogs.conf config proxy.conf
regionを東京リージョン(ap-northeast-1)に変更します。
※デフォルトではバージニアリージョン(us-east-1)になっています。
[plugins]
cwlogs = cwlogs
[default]
region = ap-northeast-1
/etc/awslogs内のawslogs.confを開きます。
以下のように追記します。
[accesslog_test]
datetime_format = %b %d %H:%M:%S
file = /etc/httpd/logs/access_log
buffer_duration = 5000
log_stream_name = {instance_id}_accesslog
initial_position = start_of_file
log_group_name = accesslog_test
次のコマンドでエージェントを実行します。
systemctl start awslogsd
#3. AWSコンソールから確認する
CloudWatch Logsのメニューから、先ほど作成したロググループが作成されていることが確認できます。
クリックすると、先ほど作成したログストリームが存在しており・・・
以上になります。