### CloudWatch Logsの主な機能
– インスタンスやサービスログの蓄積
– ログのモニタリング
– ログのフィルタリング
– ログデータのアーカイブ
– ログデータの分析
– ログのアラート化
### IAMロールの作成
AWS Service -> EC2 -> Add Permissionで “CloudWatchLogsFullAccess” をつける -> role nameはそのまま”CloudWatchLogsFullAccess” にする
### roleをattach
Modify IAM roleで作成した”CloudWatchLogsFullAccess”をroleにつける
sshログインしてapache2を入れる
$ sudo yum install httpd
$ sudo systemctl start httpd
$ sudo systemctl status httpd
$ sudo systemctl enable httpd
$ sudo systemctl is-enabled httpd
$ httpd -v
public ipを叩き、ipが入っていることを確認
cloudwatch logsエージェントインストール
$ sudo yum install -y awslogs
/etc/awslogs/awscli.confがconfファイル。us-east-1になっているので、ap-northeast-1に変更する
$ sudo cat /etc/awslogs/awscli.conf
[plugins] cwlogs = cwlogs [default] region = us-east-1
[plugins] cwlogs = cwlogs [default] region = ap-northeast-1
$ sudo cat /etc/awslogs/awslogs.conf
[/var/log/messages] datetime_format = %b %d %H:%M:%S file = /var/log/messages buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = /var/log/messages
fileで対象となるログファイルを指定する
buffer_duration: ログイベントのバッチ期間
apacheエラーログを追加
[Apache_AccessLog] log_group_name = TestSV_Apache log_stream_name = {instance_id}_accesslog file = /etc/httpd/logs/access_log datetime_format = %a %b %d %H:%M:%S %Y initial_position = start_of_file buffer_duration = 5000 [Apache_ErrorLog] log_group_name = TestSV_Apache log_stream_name = {instance_id}_errorlog file = /etc/httpd/logs/error_log datetime_format = %a %b %d %H:%M:%S %Y initial_position = start_of_file buffer_duration = 5000
amazon linux2 amiの場合
$ sudo systemctl start awslogsd
CloudWatch Logsで確認するとログが出力されている
なるほど、これをS3に転送するのね
なんか凄いことになってるな