VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

RubyでWebページの応答時間を計測し、メールで通知

自サーバーの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")
モバイルバージョンを終了