AWS CloudWatch Logsにダミーログをポストする手順
AWS CloudWatch Logsを使用して、アプリケーションのログを監視し、アラートを設定することは非常に重要です。本記事では、特に本番環境やSTG環境での動作確認を目的として、CloudWatch Logsにダミーログをポストする手順を解説します。
1. AWS CLIの準備
まず、AWS CLIがインストールされていることを確認します。AWS CLIは、AWSのサービスにコマンドラインからアクセスするためのツールです。インストールされていない場合、以下のコマンドを実行して設定します。
aws configure
このコマンドにより、AWSの認証情報とデフォルトリージョンを設定できます。
2. ダミーログメッセージの作成
次に、ポストするダミーログメッセージを作成します。以下は、サンプルメッセージです。これらは、特定のバッチ処理の状態を示すものであり、実際のアプリケーションのログに類似しています。
[2734312.880239] app-process[42]: [BATCH] [2024-10-04 10:00:00,000] [main] [INFO] [BATCH] [メール送信処理] バッチ処理を開始します。
[2734312.884213] app-process[42]: [BATCH] [2024-10-04 10:00:00,100] [main] [WARN] [BATCH] ダミーバッチは実行中です。
[2734312.884403] app-process[42]: [BATCH] [2024-10-04 10:00:00,200] [main] [INFO] [BATCH] [メール送信処理] バッチ処理が正常に終了しました。
- INFO: プロセスが正常に進行していることを示す情報メッセージ。
- WARN: 潜在的な問題を示す警告メッセージ。この場合、ダミーバッチが実行中であることを示しています。
3. ログストリームの作成
次に、ダミーログをポストするためのログストリームを作成します。AWS CloudWatch Logsでは、ロググループ内に複数のログストリームを作成することができます。以下のコマンドを実行して、dummy-log-stream
という名前のログストリームを作成します。
aws logs create-log-stream --log-group-name "/ecs/my-application" --log-stream-name "dummy-log-stream"
- ロググループ: 同種のログをグループ化するためのコンテナ。例えば、アプリケーションごとにロググループを作成することが一般的です。
- ログストリーム: 特定のソースから生成されたログのシーケンス。1つのロググループには複数のログストリームを持つことができます。
4. ダミーログのポスト
続いて、作成したログストリームにダミーログをポストします。以下のコマンドを使用して、3つのメッセージをそれぞれポストします。
# 1つ目のメッセージ
aws logs put-log-events --log-group-name "/ecs/my-application" \
--log-stream-name "dummy-log-stream" \
--log-events timestamp=$(date +%s%3N),message="[2734312.880239] app-process[42]: [BATCH] [2024-10-04 10:00:00,000] [main] [INFO] [BATCH] [メール送信処理] バッチ処理を開始します。"
# 2つ目のメッセージ
aws logs put-log-events --log-group-name "/ecs/my-application" \
--log-stream-name "dummy-log-stream" \
--log-events timestamp=$(date +%s%3N),message="[2734312.884213] app-process[42]: [BATCH] [2024-10-04 10:00:00,100] [main] [WARN] [BATCH] ダミーバッチは実行中です。"
# 3つ目のメッセージ
aws logs put-log-events --log-group-name "/ecs/my-application" \
--log-stream-name "dummy-log-stream" \
--log-events timestamp=$(date +%s%3N),message="[2734312.884403] app-process[42]: [BATCH] [2024-10-04 10:00:00,200] [main] [INFO] [BATCH] [メール送信処理] バッチ処理が正常に終了しました。"
- timestamp: ログイベントが生成された時刻。ミリ秒単位で指定します。
- message: ログの内容。ここに記述したメッセージがCloudWatchに記録されます。
5. 確認
ダミーログをポストした後、AWS管理コンソールのCloudWatch Logsにアクセスし、/ecs/my-application
ロググループ内の dummy-log-stream
を確認します。ポストしたダミーログが正しく表示されているか確認してください。
6. 注意事項
- 本番環境の注意: 実際の業務に影響を与えないよう、事前に関係者に通知してください。
- タイムスタンプ:
timestamp
は現在時刻を使用しているため、送信する際に適切な時間で調整する必要があります。
7. 追加情報
CloudWatch Logsの利点
- リアルタイム監視: CloudWatch Logsは、アプリケーションのリアルタイムなログデータを監視し、異常を迅速に検知するのに役立ちます。
- カスタムメトリクス: 特定の条件に基づいたカスタムメトリクスを作成し、アラートを設定できます。これにより、必要な情報を即座に取得し、問題に迅速に対応できます。
メトリクスフィルターの設定
- フィルターパターン: 特定のログイベントを抽出するためのパターンを設定します。これにより、特定のイベントが発生したときにメトリクスとして記録されます。
コスト管理
- ログの保存期間: CloudWatch Logsは、保存期間を設定できます。不要なログを削除することでコストを削減できます。
この手順を実施することで、AWS CloudWatch Logsにダミーログをポストし、動作確認を行うことができます。何か質問や不明点があれば、xやSNSから気軽にお知らせください!