Google Cloud Monitoring を使って障害のアラートを受け取る(*´ω`*)
App Engine でサービスを作っていると、ログは確かにいつでも見られて安心ですが、何かが起こった時にすぐに知れないのが辛いですね。 そんな時には Google Cloud Monitoring です。
下の図のようにアラートを設定し、メール, Slack, SMS, 電話など様々な手段で受け取る事が出来ます。
つかいかた
Google Cloud Console のメニューより、Monitoring > Dashboard & alerts をクリックすることで、Google Cloud Monitoring のダッシュボードを表示する事が出来ます。
いわゆる障害監視のサービスですので、色々出来る事がありますが、まずは表題の通り、アラートを設定しましょう。
"Set Alerting Policies" と見出しのある場所のボタン "Create Policy" を押して、アラートを作る事が出来ます。
アラートを作成するページでは、まず「どんな種類の条件か」を聞かれます。最初から設定されている "Threshold Conditions" を使うので、青い "Next" ボタンを押してください。
Resource Type (監視対象) を聞かれるので、"App Engine" に設定し、自分のアプリ名を選択します。その後 "Next" です。
最後に監視する指標を決めます。App Engine で困るのはだいたい、「エラーがたくさん発生してる」「課金が足りなくて Over Quota になってる」の二つなので、設定しておきましょう。
下の図は、「エラーがたくさん発生している」の設定例です。実際のエラー率を元に数字を決める事が出来ます。
「課金が足りなくて Over Quota になってる」は "Quota Based Request Denials" という Metrics で監視出来ます。これは Threshold を 1 など低い値にしておくといいでしょう。
あとは適当にアラート先(メール, Slack, SMS, 電話)を設定すれば、障害の検知を行なう事が出来ます。
便利(*´ω`*)
追記
課金アカウントを変えると App Engine の Daily Budget が $0.00 になります。(わお)他にも、課金の支払いを何回も失敗すると同様の事が起こります。
この謎仕様により Over Quota になってしまい障害になるという、笑えない失敗事例がありました。不測の事態に対応するためアラートは設定しておきましょう…