Google Apps ScriptでWeb死活監視

こんにちは。松田です。

ここでDozensのメンバーブログを始めたので、技術系や経営系?のネタなどがあったらここに書いていくようにしたいと思います。よろしくおねがいします。

さて今回はGoogle Apps Script を使って簡易的にWEBサーバの死活監視をするスクリプトを書いてみました。

外部からURL叩いて 200 が返ってこなかったらメールをするだけのとてもシンプルなコードです。

Google Apps Scriptを採用した理由は以下の3つです。

  1. JSで書けてお手軽
  2. Google Apps Scriptで定期実行が可能
  3. Google Apps の基盤上で動かせるので可用性が高い

毎分スクリプトを動かすことができるので便利なのと死活監視自体が死んでるということを極力回避できるというのはポイント高いと思います。死活監視の死活監視なんて新たな死活監視を産むだけです。 やがて世界は死活監視だらけとなるでしょう。Google Apps Scriptはかなり便利なので使ってみてください。


var url = 'http://www.example.com/';
var to = 'foo@example.com';
var sub = 'サーバ障害報告';
var body = "監視中の サーバが停止した模様です。サーバの状態を確認してください。\n" + url ;
function myFunction()
{
if(check_server(url) != 200){
MailApp.sendEmail(to, sub, body);
}
}
function check_server(url)
{
try{
var res = UrlFetchApp.fetch(url);
return res.getResponseCode();
} catch(e){
return 999;
}
}

ではでは

追記(2014/1/17 18:54更新):
こちらに複数URL編を書いてみました。
Google Apps Script でWEB死活監視(複数URL編)