GCP Cloud Logging でエラーを検知したら Slack に通知する

GCP Cloud Logging でエラーを検知したら Slack に通知する

December 5, 2022

掲題、以前は色々と手間のかかった作業のようなのですが、いまは GCP のダッシュボードからポチポチするだけで完了する簡単なものです。すでに同内容をまとめてくださる方がいますが、自分用の備忘録としてあらためて本記事にまとめておきます。

クエリを作成して Create alert に進む #

Cloud Logging のダッシュボードを開きます。その後、検知対象としたいログだけを表示するように左下のカラムを操作して絞り込み表示しておきます。このとき、絞り込みに利用されたクエリが上部の Query のところに表示されます。

この状態で Create alert のボタンを押下します。

Cloud Logging

この画像では、「Cloud Run で発生したもの」かつ「Severity が ERROR」のものでクエリしています。

resource.type="cloud_run_revision"
severity=ERROR

アラートの内容を記載する #

質問されるままにアラートの内容を設定していきます。

最後に「Who should be notified?」という設定項目が出てきます。ここから Slack の通知先を登録します。「MANAGE NOTIFICATION CHANNELS」を選択してページを移動しましょう。

「Notification channels」のページに移動します。通知先の候補の中に Slack があるので、ADD NEW します。

その後作業を進めていくと通知先のチャンネル名を聞かれます。間違えないように入力します。またこのとき「SEND TEST NOTIFICATION」というボタンがあるはずです。これを押下すると入力されているチャンネルに向けて確認用の通知が飛びます。通知が受け取れていることを確認して「SAVE」します。

その後は先ほどまで開いていたアラート内容設定のページに戻りましょう。「Who should be notified?」のところにいま追加した Slack の通知先が表示されるようになっていますので、これを選択して「SAVE」。これで完了です。

アラートが登録されていることを確認する #

GCP の検索バーから「Monitoring」のダッシュボードに移動します。設定されているアラートは以下に表示されています。

Monitoring >> Alerting >> Policies

Slack の通知例 #

1つめのメッセージがテスト通知で送られたメッセージ、2つめのメッセージが実際にエラーを検知したときのメッセージです。

Slack