うな(。・ε・。)

Android, iOS, AppEngine まわりのめもめも

Google Cloud Monitoring を使って障害のアラートを受け取る(*´ω`*)

App Engine でサービスを作っていると、ログは確かにいつでも見られて安心ですが、何かが起こった時にすぐに知れないのが辛いですね。 そんな時には Google Cloud Monitoring です。

下の図のようにアラートを設定し、メール, Slack, SMS, 電話など様々な手段で受け取る事が出来ます。

f:id:liedderoptik:20150512214649p:plain

f:id:liedderoptik:20150512220316p:plain

つかいかた

Google Cloud Console のメニューより、Monitoring > Dashboard & alerts をクリックすることで、Google Cloud Monitoring のダッシュボードを表示する事が出来ます。

いわゆる障害監視のサービスですので、色々出来る事がありますが、まずは表題の通り、アラートを設定しましょう。

"Set Alerting Policies" と見出しのある場所のボタン "Create Policy" を押して、アラートを作る事が出来ます。

f:id:liedderoptik:20150512220514p:plain

アラートを作成するページでは、まず「どんな種類の条件か」を聞かれます。最初から設定されている "Threshold Conditions" を使うので、青い "Next" ボタンを押してください。

Resource Type (監視対象) を聞かれるので、"App Engine" に設定し、自分のアプリ名を選択します。その後 "Next" です。

f:id:liedderoptik:20150512215207p:plain

最後に監視する指標を決めます。App Engine で困るのはだいたい、「エラーがたくさん発生してる」「課金が足りなくて Over Quota になってる」の二つなので、設定しておきましょう。

下の図は、「エラーがたくさん発生している」の設定例です。実際のエラー率を元に数字を決める事が出来ます。

f:id:liedderoptik:20150512215353p:plain

「課金が足りなくて Over Quota になってる」は "Quota Based Request Denials" という Metrics で監視出来ます。これは Threshold を 1 など低い値にしておくといいでしょう。

あとは適当にアラート先(メール, Slack, SMS, 電話)を設定すれば、障害の検知を行なう事が出来ます。

便利(*´ω`*)

追記

課金アカウントを変えると App Engine の Daily Budget が $0.00 になります。(わお)他にも、課金の支払いを何回も失敗すると同様の事が起こります。

この謎仕様により Over Quota になってしまい障害になるという、笑えない失敗事例がありました。不測の事態に対応するためアラートは設定しておきましょう…