自サーバーのWebアプリが正しい内容、適切な応答時間で動作しているか確認するため、Rubyのopen-uriを使って動作チェックするスクリプトを作成してみました。
(1)仕様
・実行環境は、CentOS6.5、Ruby2.0.0。
・open-uriを使ってWebページを取得し、titleタグの内容を抽出。正しいタイトルが取得できているかチェック。
・titleタグの内容が正しくない場合、または、Webページの応答時間が2秒以上の場合はメールで通知。
・スクリプトの実行記録をログファイルに出力する。
(2)サンプルスクリプト
require 'rubygems' require 'mail' require 'open-uri' log = File.open('web_chk.log','a') title_def = "サンプルページのタイトル名" s_time = Time.now web_page = open(htp://example.com/wp/sample/").read e_time = Time.now title = web_page.scan(/<title>(.*?)<\/title>/m) if title[0][0] == title_def && e_time - s_time
(3)サンプルスクリプトの補足説明
1)テキストファイルへの追加書込み
①追加書込みでオープン
log = File.open('web_chk.log','a')
②書込み
mail_body = "処理結果・・・"
log.puts(mail_body)
③クローズ
log.close
2)タイムスタンプ
・現在の時刻
Time.now
・下記フォーマットに変換
2014-12-20 15:36:04
Time.now.strftime("%Y-%m-%d %H:%M:%S")