Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. Cloud Monitoring で特定ログの連発を検知してアラート通知する (前編)

Cloud Monitoring で特定ログの連発を検知してアラート通知する (前編)

投稿者:jyokoyama

Cloud Monitoring で特定ログの連発を検知してアラート通知する (前編)

はじめに

はじめまして! クラウドイノベーション部の横山と申します。
先日あるプロジェクトで Cloud Monitoring を使ったアラート通知の設定を行う機会がありました。
Cloud Monitoring には独特な概念があったりしてなかなか難しいですよね。僕はとても苦労しました。
そこで今回は、備忘録も兼ねて Cloud Monitoring の設定を実際に行いながら解説していきます。
長編になってしまったので、前後編の 2 回に分けて連載したいと思います。

目次

--- 前編 ---
1. Cloud Monitoring とは
2. 今回実装するもの
3. Cloud Logging の設定
   - ログベースの指標を作成する

--- 後編 --- 
4. Cloud Monitoring の設定
   - 指標ベースのアラートポリシーを作成する
5. 動作確認
6. まとめ 

1. Cloud Monitoring とは

簡単に言うと、アプリの状態に関するデータを収集し、可視化やアラート通知ができるサービスです。
より詳しく知りたい方はGoogle Cloud 公式ドキュメントをご確認ください。

2. 今回実装するもの

LoggingTimer という自作アプリが 2 分間隔で「あやしい」または「あやしくない」という文字列を Cloud Logging にロギングしています。
今回は「あやしいログが 2 回以上連発した場合にはメールで通知する」仕組みを Cloud Logging と Cloud Monitoring を使って実装したいと思います。

architecture.png

連発の定義には注意が必要です。
Cloud Monitoring は実際はそのログが連発しているかどうかを判断することができません。なぜなら「LoggingTimer が 2 分間隔でログを出力している」なんてことは知りませんし、また「あやしい」「あやしくない」の間に別の種類のログが出力されているかもしれません。
そこで今回はアプリのロギング間隔に合わせて連発の定義を 「直近 4 分間にあやしいログが 2 件以上出力されること」 としてみます。

それでは実際に Cloud コンソールからポチポチと設定をしていきましょう。

3. Cloud Logging の設定

ログベースの指標を作成する

条件に合致するログの件数を監視対象とするには、まずは「ログベースの指標」が必要です。
今回はメッセージ中に文字列「あやしい」を含むログの件数を示す指標を作成します。
このあと作成するアラートポリシーで「この指標が 1 を超える場合に通知する」と指定するのに使います。

手順

1. [Logging]-[Logs-based Metrics] を開きます。
2. [CREATE METRIC]をクリックします。
3. 以下のように入力します。(明記のない項目はデフォルトのままで結構です。)
  • Metric Type: Counter
  • Log metric name: doubtful_log_count
  • Description: 「あやしい」を含むログの件数
  • Build filter:
    logName="projects/<任意のプロジェクト名>/logs/LoggingTimer"
    AND textPayload:"あやしい" 
解説

上記の設定で、 [Build filter] で指定した条件に合致するログエントリの件数を示す指標が作成されます。

  • [Metric Type] では指標の種類を選択します。今回選択したカウンタ指標は、[Build filter] で指定したフィルタに一致するログエントリの数をカウントします。
  • [Build filter] には、カウントしたいログを抽出するためのクエリをロギングのクエリ言語で記入します。
    • 今回はログ名と textPayload に含まれる文字列を指定しています。
    • 記入したクエリが有効かどうか確認したい場合は、[PREVIEW LOGS] が便利です。
      クリックすると、直近 1 時間のログを対象にしたクエリ結果を確認することができます。
4. [CREATE METRIC]をクリックします。

中締め

ここまで読んでいただきありがとうございます。前編はここまでとなります。
今回は実装したいものと、Cloud Logging を使ったログベースの指標の作成手順までを説明しました。
次回はいよいよ Cloud Monitoring の設定を行っていきます。

ページのトップへ