■ はじめに
* Auto Scaling だと、EC2が破棄された際、 ログが残らなくなるので、EC2内のログを残して、 管理する方法の一つとして、CloudWatch Logsを使ってみる
目次
【1】環境構築 0)設定環境 1)IAM ユーザ作成 2)EC2 に CloudWatch Logs エージェントをインストール 3)マネジメントコンソールから確認 【2】CloudWatchエージェントの確認 0)前提知識:新・旧エージェント 1)amazon-cloudwatch-agentの確認 2)awslogs(旧エージェント)の確認 【3】管理しているログパスの確認
【1】環境構築
すごく簡単!!!! 1)IAM ユーザ作成 2)EC2 に CloudWatch Logs エージェントをインストール 3)マネジメントコンソールから確認
0)設定環境
* OS : CentOS7
1)IAM ユーザ作成
[1-1] AWSログイン後に [IAM]-[ユーザー]-[ユーザーを追加]を選択
[1-2] 「ユーザーを追加」で以下を入力すると、
「次のステップ:アクセス権限」ボタン押下
+ ユーザー名:任意のユーザー名
+ アクセス種類:「プログラムによるアクセス」にチェック入れる
[1-3] IAMユーザー名のアクセス権限において、
「CloudWatchFullAccess」にチェックを入れ、
「次のステップ:確認」ボタン押下
[1-4] 「ユーザーの作成」ボタン押下
[1-5] 「表示」リンク押下で
「アクセスキーID」「シークレットアクセスキー」を
コピーしたりして取っておき、「閉じる」ボタン押下
(後で使う)
2) EC2 に CloudWatch Logs エージェントをインストール
[2-1] 以下を実行し、EC2 に CloudWatch Logs エージェントをインストール
実行例
$ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O $ sudo python ./awslogs-agent-setup.py --region ap-northeast-1 # サービス「awslogs」が立ち上がり、 # ログをCloudWatch Logsにアップする Launching interactive setup of CloudWatch Logs agent ... Step 1 of 5: Installing pip ...DONE Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ... DONE Step 3 of 5: Configuring AWS CLI ... AWS Access Key ID [None]: AKIAXXXXXXXXXXXXXXXXX # ★[1-5]の「アクセスキーID」★ AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXX # ★[1-5]の「シークレットアクセスキー」★ Default region name [None]: ap-northeast-1 Default output format [None]: Step 4 of 5: Configuring the CloudWatch Logs Agent ... Path of log file to upload [/var/log/messages]: /var/log/messages Destination Log Group name [/var/log/messages]: ec2-/var/log/messages # ★[1-5]の「シークレットアクセスキー」★ Choose Log Stream name: 1. Use EC2 instance id. 2. Use hostname. 3. Custom. Enter choice [1]: 1 Choose Log Event timestamp format: 1. %b %d %H:%M:%S (Dec 31 23:59:59) 2. %d/%b/%Y:%H:%M:%S (10/Oct/2000:13:55:36) 3. %Y-%m-%d %H:%M:%S (2008-09-08 11:52:54) 4. Custom Enter choice [1]: 1 Choose initial position of upload: 1. From start of file. 2. From end of file. Enter choice [1]: More log files to configure? [Y]: N Step 5 of 5: Setting up agent as a daemon ...DONE ------------------------------------------------------ - Configuration file successfully saved at: /var/awslogs/etc/awslogs.conf - You can begin accessing new log events after a few moments at https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logs: - You can use 'sudo service awslogs start|stop|status|restart' to control the daemon. - To see diagnostic information for the CloudWatch Logs Agent, see /var/log/awslogs.log - You can rerun interactive setup using 'sudo ./awslogs-agent-setup.py --region ap-northeast-1 --only-generate-config' ------------------------------------------------------
3)マネジメントコンソールから確認
[3-1] AWS Management Console の
[CloudWatch]-[ログ]から/var/log/messagesを確認
【2】CloudWatchエージェントの確認
0)前提知識:新・旧エージェント
* CloudWatch関連のエージェントは以下の2通りある
| カテゴリ | サービス名 |
|---|---|
| 新エージェント | amazon-cloudwatch-agent |
| 旧エージェント | awslogs |
# どっちか分からなかったら、以下でサービス一覧表示で探す sudo systemctl list-unit-files -t service
systemd 〜 systemctlコマンド 〜
https://dk521123.hatenablog.com/entry/2025/07/01/114457
1)amazon-cloudwatch-agentの確認
# active (running) なら CloudWatch Agent が動作中 sudo systemctl status amazon-cloudwatch-agent
2)awslogs(旧エージェント)の確認
# active (running) なら CloudWatch Agent が動作中 sudo systemctl status awslogs
【3】管理しているログパスの確認
* 以下のいずれかの設定ファイルに
amazon-cloudwatch-agent
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.yaml /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml
awslogs(旧エージェント)
/etc/awslogs/awslogs.conf
参考文献
公式サイト
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html
一般サイト
https://dev.classmethod.jp/cloud/aws/amazon-cloudwatch-logs/
関連記事
CloudWatch ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2022/03/08/145856
CloudWatch ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2018/05/01/215925
CloudWatch ~ アラーム作成 ~
https://dk521123.hatenablog.com/entry/2018/02/13/234005
CloudWatch ~ プロセス監視を考える ~
https://dk521123.hatenablog.com/entry/2018/02/10/115436
Terraform ~ AWS CloudWatch ~
https://dk521123.hatenablog.com/entry/2023/05/17/123335