前のページ

GCPのStackdriverでモニタリングでエラー通知を作成する

GCPには強力なロギング/分析/モニタリングツールとして Stackdriver が提供されています。

とても優秀なツールで、各種コンピューティングリソースをデプロイすると、勝手にログを収集してくれたり、分析をすることができる使い勝手のよいサービスです。

今回はこのStackdriverの機能の一つを使って、slackへのアラート作成の手順をまとめます。

Monitoringでアラート作成する手順

大まかな手順は以下のようにしてできます

  1. metrics作成
    1. カスタムフィルターを設定する
  2. Monitoringのアラート作成
    1. 上記作成したmetricsをアラートの condition に設定する
    2. 通知のための閾値を設定する
    3. 通知先を設定する

metrics作成

GCP console の Logging を選択して、ログベースの指標を選択して、画面上部にある 指標を作成 をクリックして、指標(metrics)を作成します。

view metrics
view metrics

右サイドバーにmetricsの名称や詳細のフォームが出てきます。metricsのフィルター(条件)はフィルターのエディターがログの上部にありますので、そこでqueryを書いてログを取得してください。

create metrics
create metrics

今回は、CloudRunで作ったapiサーバーのサーバーエラー(500~)を検知したかったので、以下のqueryを設定しました。

resource.type="cloud_run_revision"
severity>=ERROR

その後、指標を作成を押して、metricsを作成します

Monitoringのアラート作成

次に、先ほど作ったmetricsを利用して、アラートを作成します

作成したmetricsをアラートの condition に設定し、閾値を決める

Monitoring を選択して、アラートをクリックしてください。

view monitoring alert
view monitoring alert

画面上部にある、ポリシー作成を押すとアラートのポリシーの詳細を設定することができます。

条件の追加から、先ほど作成したmetricsの名称を Find resource type and metric 部分に記述すると、候補に出てくる自作のmetricsを選択してください。今回は resource.type を設定したいたのでリソースを自分で選ぶ必要がありませんでしたが、作ったmetricsによっては、GCSやGAEなどのリソースを選択する必要があると思います。

Configuration では通知のための閾値(threshold)を設定できますので、適当な値を設定してください。

creating alert
creating alert

通知先を設定する

条件を追加したら、あとは通知先を設定します。

今回は Slack への通知を設定しました。

created alert
created alert

ちなみに、ここでSlackの選択肢が出ていない人は、左サイドバーのアラートを押した時に画面上部に出ている通知チャンネルの編集(EDIT NOTIFICATION CHANNELS)から設定できます。

view monitoring alert
view monitoring alert

ここまでできたら、保存を押します。これで設定完了です。

まとめ

いかがだったでしょうか。たったこれだけの手順でslack(他にもメール、PubSub、SMSなど)へと通知することができます。コードを書かずに簡単に設定できるのは本当に良い時代になりました。

サーバーをデプロイしたらとりあえずサーバーエラーぐらいは通知を設定しておいても良いのではないでしょうか?今回の記事がアラート設定のハードルを少しでも下げられたら嬉しいです。

このページでは、Google Analyticsを利用しています。