osechiman’s blog

開発備忘録

Codelabsをやってみた[Configure an Uptime Check and Alerting Policy]

Codelabs

Configure an Uptime Check and Alerting Policy

1. Overview

Codelabsでこれから何を学ぶかが書いてある。

ヘルスチェックが出来る。
アラートポリシーは様々な条件で設定出来る。

アラートポリシーの条件を満たすとCloud Monitoring Consoleでインシデントとして通知される。
メールでの送信も可能。

このセクションではインスタンスのヘルスチェックをして、アラート(警告)を通知させる。
インスタンスがダウンしている場合はインシデントを通知させる。

2. Setup and Requirements

Googleアカウントを持っていない人は作ってね。
持ってる人はManage resources pageへ遷移して。

プロジェクトがまだ無い場合は作ってねとあったが、
今回は以前に作っていたプロジェクトでやる為、流し読み。

3. Creating Resources to Monitor

リソース監視モニターを作成。

まずはColudLancherを使って監視対象を作成。
ColudLancher初めてDeployまでしたけど
f:id:osechiman:20180120230738p:plain
f:id:osechiman:20180120232034p:plain
この環境がワンクリックで手に入るのはかなり便利だと思った。
月にかかるコストの概算もでてるし、
何か構築したい場合はまずはColudLancherを探そうと思った。

上の手順で作ったリソースを監視していく。

4. Enable Stackdriver Monitoring

StackDriverのアカウントを作成。

指示に従い進めるだけ。
30日間はクレジットカードの登録無しに利用可能。

GCPだけではなくAWSのリソースも監視出来る。

>4.On the Monitor AWS accounts page click Continue
に関してはContinueという選択肢ではなく「Skip AWS Setup」に変更されていた。

セットアップが完了した時点で
既にダッシュボードにはいくつかのリソース状況が表示されている。

5. Create An Uptime Check

ヘルスチェックする。

作成したNGINXサーバに対してHTTPでヘルスチェックをする。
f:id:osechiman:20180120232352p:plain
こんな感じで出来上がる。

6. Create An Alerting Policy

ヘルスチェックに対してアラートを設定する。

若干手順が古い感じの部分があって
Menuの「Uptime Checks」から該当ページへ飛んだ。

ヘルスチェックが失敗した場合にEmailで通知がされるように設定する。

Documentaionは通知内容を追加出来る。
復旧手順、原因に関して考慮する必要があるとあったので
今回は適当に何か入れる。
Markdownで書けるのが地味に嬉しい。

# CodeLabs Insident
## 理由
nginxstack-1-vmのヘルスチェックに失敗しました。
## 原因
考えられるのは以下の通りです。

  1. なんか気分が乗らない
  2. 馬鹿なヤツがうっかり止めてしまった

## 復旧対応
とにかく頑張ってください。
頑張ればなんとかなります。

作成が完了するとPOLICIESにベルマークが出る。
Overviewにも出てくるけど、6つのロケーションから監視が行われる様子。

  • VIRGINIA
  • OREGON
  • IOWA
  • BELGIUM
  • SINGAPORE
  • SAO PAULO

問題の切り分けの際に役に立ちそう。

7. Congratulations!

おめでとう!

いやいや挙動の確認までさせてくれいと思ったので作ったVMを停止してみる。
f:id:osechiman:20180120233951p:plain
停止前はこう。

停止してみる。
f:id:osechiman:20180120234511p:plain

少しするとちらほらロケーション毎にビックリマークに変わっていく。
f:id:osechiman:20180120235723p:plain

全てのロケーションからのチェックにビックリマークが付いてから体感3分位でメールが届いた。

動き的には全てのロケーションからのヘルスチェックが失敗した
というのがインシデントメールのトリガーになっている様に見える。

インシデントメールの内容にデフォルトで書かれるのはこんな感じ。

Stackdriver has detected that one of your resources has entered an alert state.
Summary: An uptime check on codelabs-XXXXX nginxstack-1-vm is failing.
Violation Began: 2018-01-20 14:51:45 UTC (3 mins 43 secs)
Condition Name: HTTP check on instance nginxstack-1-vm

View violation details: https://app.google.stackdriver.com/incidents/XXXXXXXXX

しばらく待っても再度メールが飛んでくるという事は無かったので
CodeLabsの設定では一度飛んできたら通知終わりみたい。

監視設定を削除する際はUptimeChecksに設定しているAlertingを削除後でないと、
UptimeChecksを削除する事は出来ない。

Deleteしても「削除しました」みたいはポップアップは出なくて、
しばらくしたら勝手に消えてた。

大事だと思ったこと
  • アカウント連携だけでもかなり簡単にリソースの監視をする事が出来る。
  • ColudLancher便利。
  • 6つのロケーションから監視が行われる。
  • インシデント発生時のドキュメントがMarkdownで書けるの嬉しい。