Heroku のジョブを Dead Man’s Snitch で監視しよう
春めいてきましたね!
エンジニアの石かわです。
さてさてジョブが予定通りに動作しているかを監視できる Dead Man’s Snitch というWebサービスがあります。
https://deadmanssnitch.com
先日、Herokuのアドオンストアを眺めていたところ、このサービスが Heroku Add-on になっていたようだったので、Heroku Scheduler で定期実行するジョブの監視を試してみました。
こんな感じの Heroku 環境を作ってみました。Dead Man’s Snitch の Heroku Add-on は無料プランがあるので気軽にインストールして試してみましょう (※無料プランは監視できるジョブが1つだけ)
Dead Man’s Snitch をクリックすると管理画面が開きます。
まずはアカウントの初期設定を求められるので、名前とメールアドレスを入力しましょう。
アカウント初期設定をすると snitch (ジョブ監視の単位)を作成するように求められます。早速つくってみましょう!
こんな感じで名前や監視周期を指定します。
ここでは、とりあえず1時間周期に設定しました。さて、Snitchを作成したあとは、そのSnitchにたいしてチェックインをおこなうチャネルが自動で作成されます。 チャネルは HTTP, Email, Ruby の3種類です。設定した周期でチェックインがなかった場合、アラートがあがる仕組みですね。モザイクをかけてる箇所には英数字10文字のトークンが表示されています。
HTTP
EMAIL
Ruby
今回は Ruby を使ってみます。こんな感じのRakefileを書いて
Heroku Scheduler でまわします。
時間をおいて Dead Man’s Snitch 管理画面を表示すると..
ジョブがうまくいっている場合
ジョブが失敗している場合
真っ赤ですね!ジョブが失敗しているとメールも飛んできます。
こんな感じで、ジョブの監視ができます。無料プランはメール通知になります。有料プランは Heroku Add-on として利用する場合と直接契約で利用する場合で異なるみたいです。詳細はそれぞれのサイトを御覧ください。
以上、Dead Man’s Snitch Heroku Add-on のご紹介でした〜。