Google Apps ScriptとGoogle Sheetsを使えば、誰でもExcelをいじる感覚でお手軽にヘルスチェックを登録、編集することができます。
具体的には次のようなことが出来ます。
- インターネット上に公開されていて、http(s)でアクセスできるWebサイト・Webサービスの死活監視
- HTTPメソッドはGET, POST, PUT, DELETEのいずれかを指定可能
- 任意のContent-Type, Header, およびbodyを指定可能
- 期待する結果(HTTPステータスコードとbody)を指定可能
- リクエストと期待する結果が異なる場合、 Slackに通知(Google Apps Script自体の失敗はメールで通知可能)
- シートを閉じても(PCをシャットダウンしても)定期的にチェック
インストール
git clone https://github.com/kei-sato/gas-health-check && cd gas-health-check && pbcopy < main.js
-
Google Drive > NEW > Google Sheets
適当な名前でスプレッドシートを作成 -
Tools > Script editor...
Google Apps Scriptを開く -
main.js
をペーストして保存 -
Select function > onOpen
を指定して、実行(この時求められるパーミッションを許可しないと動作しません) - シートに戻ると、メニューバーに
Custom Menu
が追加されている -
pbcopy < sample-sheet.txt
でサンプルシートの内容をコピーしてシートに貼り付ける -
Custom Menu > check right now
正常に動作することを確かめる
定期実行
- Google Apps Script(Tools > Script editor...)側で、
Resources > Current project's triggers > Add a new trigger
を選択して、実行関数にhealthCheck
を指定 - 実行感覚はお好みで
-
notifications
から、以上終了時のメール通知を設定することも出来ます
Slack通知設定
リクエストの結果が期待と異なる場合に、Slackに通知するよう設定することが出来ます。
-
https://slack.com/apps > Build > Make a custom integration > Incoming Webhooks
を選択して、画面にしたがって、入力する - 得られた
Webhook URL
をコピーする -
Custom Menu > Slack notifications
を選択して、Webhook URL
を貼り付ける - ルーム名は必要に応じて
以上で設定は完了です