0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudWatch LogsでDockerバッチの成功ログを可視化・監視する手順

Posted at

環境

  • EC2
    • OS: Amazon Linux 2023
  • EC2インスタンスは起動済みであること

手順1:EC2インスタンスにIAMロールをアタッチ

手順1:IAMロールの作成

IAMのロールのロールを作成をクリック

信頼されたエンティティを選択

設定項目 入力内容
信頼されたエンティティタイプ AWSのサービス
サービスまたはユースケース EC2
ユースケース EC2

入力が完了しましたら、次へをクリックします

許可を追加

設定項目 入力内容
許可ポリシー CloudWatchAgentServerPolicy

入力が完了しましたら、次へをクリックします

名前、確認、および作成

設定項目 入力内容
ロール名 sample-ec2-role
説明 Allows EC2 instances to call AWS services on your behalf.

入力が完了しましたら、ロールを作成をクリックします

手順2:EC2のIAMロールを変更

EC2管理画面 → インスタンス選択 → 「アクション」→「セキュリティ」→「IAM ロールの変更」

設定項目 入力内容
IAMロール sample-ec2-role

入力が完了しましたら、IAM ロールの更新をクリックします

手順2:CloudWatchのロググループの作成

設定項目 入力内容
ロググループ名 /ec2/sample
保持期間の設定 7日
ログクラス スタンダード

入力が完了しましたら、作成をクリックします

手順3:CloudWatch Logs連携用のDockerログ設定

コンテナ毎に下記のようなコードを書いて、EC2上でDockerを起動します

docker-compose.yaml
logging:
  driver: "awslogs"
  options:
    awslogs-group: "/ec2/sample"
    awslogs-region: "ap-northeast-1"
    awslogs-stream: "sample-web"

手順4:CloudWatch Logs Insightsの作成

選択基準はec2/sampleを選択
クエリ文には下記を入力

fields @timestamp, @message
| filter @message like /"[Batch Logic] SUCCESS:"/
| stats count() as success_count

入力が完了しましたら、保存をクリックします

設定項目 入力内容
クエリ名 [Batch] sample - batch - success - log

入力が完了しましたら、保存をクリックします

手順5:メトリクスフィルターの作成

対象のロググループを選択し、「メトリクスフィルターを作成」をクリック

パターンを定義

設定項目 入力内容
フィルターパターン "[Batch Logic] SUCCESS:"
テストするログデータを選択 sample-batch

入力が完了しましたら、NEXTをクリックします

メトリクスの割り当て

設定項目 入力内容
フィルター名 sample-batch-success
メトリクス名前空間 Sample/Batch
メトリクス名 SampleBatchSuccessCount
メトリクス値 1
デフォルト値 0
Unit Count

入力が完了しましたら、NEXTをクリックします

プレビューと作成

入力内容に問題がなかった場合、メトリクスフィルターを作成をクリックします

手順6:アラームの作成

  • 「Sample/Batch」 → 「ディメンションなしのメトリクス」 → 「SampleBatchSuccessCount」
    • 1日合計1回未満バッチ処理が成功しなかった場合通知

メトリクスと条件の指定

メトリクス

設定項目 入力内容
名前空間 Sample/Batch
メトリクス名 SampleBatchSuccessCount
統計 合計
期間 1日

条件

設定項目 入力内容
しきい値の種類 静的
SampleBatchSuccessCount が次の時... より低い
... よりも 1

入力が完了しましたら、次へをクリックします

アクションの設定

通知

設定項目 入力内容
アラーム状態トリガー アラーム状態
次の SNS トピックに通知を送信 新しいトピックの作成
新規トピックの作成中... alarm-sample
通知を受け取る E メールエンドポイント … メールアドレス

入力が完了しましたら、トピックの作成次へをクリックします

名前と説明を追加

名前と説明

設定項目 入力内容
アラーム名 Sample-Batch-DailySuccessMissing

入力が完了しましたら、次へをクリックします

プレビューと作成

以上で問題がない場合、アラームの作成をクリックします

まとめ

EC2上のDockerコンテナのログをCloudWatch Logsに送信し、バッチ成功ログをもとにメトリクスとアラームを作成して、バッチの実行有無を自動で監視できるようにする手順を解説しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?