1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoogleAppsScriptでURL外形監視する

Posted at

概要

入門監視やWebサービスを支えるモニタリングにて、URL外形監視からモニタリングするという話がありました。

URL外形監視をやるに辺り、モニタリングサービス(ex. StatusCake, Mackerel)で行えますが、今回はお手軽にGoogleAppsScript
(以下GAS)でやってみようと思います。

実装

実際に書いてみたコードは下記になります。
コードは単純にステータスコードが200以外なら、異常と捉えてSlackに通知する実装になります。

単純に問題を検知するなら、これくらいでも良いかなと思います。
あとはこれをスケジュール実行することで、定期的に状態をチェックすることができます。

また、このエンドポイントをページではなく、healthエンドポイントにすれば、定期的にシステム全体の監視もできると思います。
※入門監視7章で紹介されています

var END_POINT = "URL";
var SLACK_INCOMING_URL = 'ウェブフックURL';

function main() {
  var message = '';
  var result = UrlFetchApp.fetch(END_POINT, { muteHttpExceptions:true }).getResponseCode();
  if (result !== 200) {
    message = 'ページにアクセスできません。';
    sendSlack(message);
  }
}

function sendSlack(message) {
  var jsonData = {
    text: message,
  }
  
  payload = JSON.stringify(jsonData);
  options = {
    "method" : "post",
    "contentType" : "application/json",
    "payload" : payload
  };
  
  UrlFetchApp.fetch(SLACK_INCOMING_URL, options)
}

まとめ

GASでステータスコードを見るというアプローチで、外形監視をやってみました。
単純な方法に見えますが、あると便利だなという感覚でした。

以上、最後まで見ていただきありがとうございました。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?