2019年2月20日水曜日

Stackdriver で特定のページの ping チェックを行う

概要

Stackdriver は GCP と AWS で使える統合監視ツールです
エージェント方式でロギングやサーバのメトリックの収集を行います
本来は GCP や AWS のインスタンスの監視を行うためのサービスですが Stackdriver には「Uptime Checks」というサービスがあります
これを使えば外部のサイトの ping チェックのような死活監視を行うことができます
またアラートの通知も豊富などでいろいろなところに通知することができます
今回は特定のホストを Uptime Checks で監視する方法とそのアラートを Slack に通知する方法を紹介します

環境

  • Stackdriver (2019/02/18 時点)

Uptime Checks の作成

まずは Uptime Checks を作成します
左メニューから「Uptime Checks」を選択し Overview を表示しましょう
一覧に移動して「Add Uptime Checks」を選択します

「Uptime Checks」を作成するダイアログが表示されるので必要な情報を入力します
今回は特定の https ページのヘルスチェックを行います

  • Title・・・任意の名前を設定します
  • Check Type・・・HTTPS を選択します
  • Resource Type・・・URL を選択します
  • Hostname・・・ヘルスチェックを行いたい任意の URL を入力します
  • Path・・・必要であればパスを設定します

これで OK です
「Advanced Options」でヘッダの設定やレスポンスボディに含まれる文字列のチェック、認証情報などを設定可能です
これも必要があれば設定しましょう
ダイアログ下部に「Test」があるのでテストすると良いと思います
200 が返ってくればチェックできています

作成が完了したら各リージョンからのチェックが始まります
すべて緑ならページが健全だということになります

Alerting の作成

もしページがダウンした場合にアラートを送信します
今回は Slack に通知してみます

Slack チャネルを作成する

まずこのページから Slack チャネルを作成します

「Add Slack Channel」を選択します

「Authorize Stackdriver」を選択します
Slack アプリを登録するための OAuth のページが開くので認証します

もしチームが違う場合はログインし直しましょう

「Test Connection」を選択して Slack に通知が来るかテストしましょう
問題なければ「Save」でチャネルを保存します

Policy の作成

左メニューの「Alerting」から Overview を表示します
右上の「Add Policy」を選択します

まずは「Add Condition」でアラートの条件を作成します

「Target」と「Configuration」を設定します
「Target」は以下の通りです

  • Resource Type・・・Uptime Monitoring Url を選択します
  • Uptime check id・・・Test page を選択します、これは先程作成した Uptime Checks になります

「Configuration」は以下の通りです
基本はそのままで大丈夫だと思います

  • Condition triggers if・・・Any time series violates
  • Condition・・・is above
  • Threshold・・・1
  • For・・・1 minute

一番上に Condition 名がすでに設定されています
問題なければ「Save」で Condition を作成します

次に Notifications を設定します
「Add Notification Channel」で先程作成した Slack チャネルを設定しましょう

あとは Policy 名を設定すれば OK です
問題なければ「Save」で Policy を作成しましょう

これで死活監視とアラートの設定は完了です
もしテストできるならアプリやファイアウォールでアクセスできないようにしてみましょう
Slack に通知が来れば OK です

最後に

Stackdriver を使って Uptime Checks を行ってみました

参考サイト

0 件のコメント:

コメントを投稿