0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Healthchecks.io を使ってみる

Posted at

死活監視には大きく分けて二つの方法があります。

  • チェックして、正常でなければ異常と判定する
  • 常に正常報告し、報告が途切れたら異常と判定する

(もちろん分類軸は他にもありますけどね。push 型と pull 型とか...)

この記事では後者である報告が途切れたら異常と判定する方法のサービスである Healthchecks.io を使ってみるというものです。

以前、こちらの記事で書いたものとアイデアとしては同じです。私なんぞが考えるようなことは、既に世の中にいくらでも存在するということですね(当たり前)

Healthchecks とは

Healthchecks は以下の URL で公開されている OSS で、自前の環境に構築して使用することも出来ます。

Healthchecks.io はこの Healthchecks を SaaS として利用できるようにしたサービスです。監視対象が20以下といった制限下では無料で利用できます。

今回は、この Healthchecks.io を使ってみます。

アカウント作成

https://healthchecks.io/ にアクセスしたら、左上にある「Sign Up」をクリックします。

image.png

メールアドレスを入力するダイアログが表示されますので、入力して「Email Me a Link」をクリックします。

image.png

メールアドレス宛に招待メールが届きますので、「Log in」をクリックします。

image.png

Healthchecks.io にアカウントが作成され、ログインされます。この時点ではパスワードが設定されてませんのでご注意ください。

image.png

「Account」-「Account Settings」からパスワードと2要素認証を設定しておきます(下の画像はパスワードのみ設定済の状態です)。

image.png

死活監視を行う

「My First Check」というチェックが最初から用意されていますので、こちらを利用します。

image.png

「Period Grace」というカラムをクリックすると、ダイアログが開きます。最初は1日と1時間に設定されていますが、テストを行うのには間隔が長すぎますので、Period/Grace Time を共に 1 分に変更し、「Save」をクリックします。

image.png

「Ping URL」カラムにある URL をクリックすると、報告用 URL がクリップボードにコピーされます。この URL を使って以下のようなテストスクリプトを用意します。

#!/bin/bash

curl -fsS -m 10 --retry 5 -o /dev/null https://hc-ping.com/xxxxx

監視対象になるホストの crontab に以下の記述を行います。

* * * * * /home/hoge/bin/check.sh

Checks の右端にある「...」をクリックして表示される詳細画面の Events 欄に通知があったことが表示されます。

image.png

crontab を書き換え、テストスクリプトを停止します。

# * * * * * /home/hoge/bin/check.sh

Events の Status が down になりました。

image.png

同時にメールで通知が届きます。

image.png

crontab を元に戻して、テストスクリプトの実行を再開させます。

* * * * * /home/hoge/bin/check.sh

Events の Status が up になりました。

image.png

メールでの up 報告も届いています。

image.png

Slack に通知する

最初の例では通知先がメールでしたが、これは用意されていた設定でして、他の通知先に変更することもできます。ここでは Slack に通知するように変更してみます。

CHECKS の隣の INTEGRATIONS メニューをクリックすると、以下の画面になります。

image.png

Add More を辿っていくと Slack がありますので、「Add Integration」をクリックします。

image.png

ガイドに従って設定を行います。最初に「Add to Slack」をクリックします。

image.png

Slack のアプリ権限設定画面に遷移しますので、Workspace と Webhook 用のチャンネルを選択して、「許可する」をクリックします。

image.png

Slack 通知の integration が追加されました。

image.png

CHECKS に戻ると、integrations に Slack が追加されています。メール通知は不要なので、クリックして不活性化しておきます。

image.png

先ほどと同じ手順でテストスクリプトを停止させると、Slack に down の通知が来ました。

image.png

テストスクリプトを再開させると、Slack に up 通知が来ました。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?