GCP上で何か処理をしている場合、エラーになったり、何か定期実行していて完了したかどうかの通知を自動的にしたい場合があるとします。
そのログデータを監視するという意味で、GCPには通知などを行う「Monitoring」というリソースがあります。
ここではそのMonitoringでできることについて軽く触れようと思います。
MonitoringではLoggingのデータを用いて通知をしたりするので、Loggingについても理解しておく必要があります。
Loggingについては以下で扱ってますので、ぜひ!
Contents
Monitoringとは
通知を行うということは、何か条件があったときに通知をするというのがイメージできるかと思います。
なのでその通知トリガーとなる情報を設定する必要があります。
そしてその情報がログの中の情報になります。
ログの中の情報を用いて、条件を作成し、その条件がtrueになったら通知を行うという形になります。
基本的に条件に使う値は、ある数値がこの値になったらという形になります。
なのでその判定条件に必要な指標を定める必要があります。
Monitoringで通知を行うために必要な指標「メトリクス」について
メトリクスはすでに定義されているものと、ユーザーで独自で作成できるものの2種類があります。
Monitoringですでに定義されてるメトリクス
▼ GCPで定義されているメトリクス
https://cloud.google.com/monitoring/api/metrics_gcp?hl=ja
ユーザー独自でのメトリクス
カスタム指標とは、独自で指標(メトリクス)を作成して、先程のLogDataから計算します。
そしてそれを満たした場合、メール配信やslack配信をするなどの処理を行うことができます。
すでにMonitoringにはすでに作成されているメトリクスもあれば、独自で作成することもできます。例えばLogタイプがERRORが直近1時間に1回あればアラートメールを送信するなど。
https://cloud.google.com/monitoring/custom-metrics/creating-metrics?hl=ja
以下のように
ログの名前と、フィルタによってUser Defineのカスタム指標を定義することが可能になります。
ロギングの指標を用いて、Cloud Monitoringでアラートメールなどを出すような設定が可能です。