Heroku のジョブを Dead Man’s Snitch で監視しよう

By |4月 18, 2016|heroku, |


春めいてきましたね!

エンジニアの石かわです。

さてさてジョブが予定通りに動作しているかを監視できる Dead Man’s Snitch というWebサービスがあります。

https://deadmanssnitch.com

deadmansnitch_top_page

先日、Herokuのアドオンストアを眺めていたところ、このサービスが Heroku Add-on になっていたようだったので、Heroku Scheduler で定期実行するジョブの監視を試してみました。

こんな感じの Heroku 環境を作ってみました。Dead Man’s Snitch の Heroku Add-on は無料プランがあるので気軽にインストールして試してみましょう (※無料プランは監視できるジョブが1つだけ)

dead-man-s-snitch-demo_Resources___Heroku

Dead Man’s Snitch をクリックすると管理画面が開きます。

まずはアカウントの初期設定を求められるので、名前とメールアドレスを入力しましょう。

deadmansnitch-create-account

アカウント初期設定をすると snitch (ジョブ監視の単位)を作成するように求められます。早速つくってみましょう!

deadmansnitch-create

こんな感じで名前や監視周期を指定します。
deadmansnitch_hourly-job

ここでは、とりあえず1時間周期に設定しました。さて、Snitchを作成したあとは、そのSnitchにたいしてチェックインをおこなうチャネルが自動で作成されます。 チャネルは HTTP, Email, Ruby の3種類です。設定した周期でチェックインがなかった場合、アラートがあがる仕組みですね。モザイクをかけてる箇所には英数字10文字のトークンが表示されています。

HTTP
deadmasnitch-http

EMAIL
deadmasnitch-email

Ruby
deadmasnitch-ruby
今回は Ruby を使ってみます。こんな感じのRakefileを書いて

Heroku Scheduler でまわします。

deadmansnitch-scheduler

時間をおいて Dead Man’s Snitch 管理画面を表示すると..

ジョブがうまくいっている場合
deadmansnitch-green

ジョブが失敗している場合
deadmansnitch-red

真っ赤ですね!ジョブが失敗しているとメールも飛んできます。
deadmasnitch-gmail

こんな感じで、ジョブの監視ができます。無料プランはメール通知になります。有料プランは Heroku Add-on として利用する場合と直接契約で利用する場合で異なるみたいです。詳細はそれぞれのサイトを御覧ください。

以上、Dead Man’s Snitch Heroku Add-on のご紹介でした〜。