ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

nagiosのcheck_httpコマンドでHTMLの文字列チェック

nagiosのcheck_httpコマンドで指定ページHTMLに特定文字列が含まれているかのチェック方法です。

今回は、はてなブックマークのIT(新着順)ページにて現在時刻の投稿記事が存在するかのチェックをします。

はてなブックマークのIT(新着順)
http://b.hatena.ne.jp/hotentry/it

例として、2015年7月20日23時09分に実行したとすると、「2015/07/20 23:」の文字列が入っていればOKとします。

実行例

実際に実行してみた所、CRITICALになりました。
さすがにそんな早くはてブには載らないそうです。

[root@localhost ~]# /usr/local/nagios/libexec/check_http -H b.hatena.ne.jp -u /hotentry/it -s "2015/07/20 23:"

HTTP CRITICAL: HTTP/1.1 200 OK - string '2015/07/20 23:' not found on 'http://b.hatena.ne.jp:80/hotentry/it' - 113733 bytes in 0.558 second response time |time=0.557605s;;;0.000000 size=113733B;;;0

10時にすればヒットしました。

[root@localhost ~]# /usr/local/nagios/libexec/check_http -H b.hatena.ne.jp -u /hotentry/it -s "2015/07/20 10:"

HTTP OK: HTTP/1.1 200 OK - 113733 bytes in 0.382 second response time |time=0.381973s;;;0.000000 size=113733B;;;0

オプション

-H
ホスト名

-u
パス

-s
文字列検索(含んでいればOK、含まれて無ければCRITICAL)

オプションはこちらのサイトが分かりやすく纏めています。
PHPのこととかPHPのこととかをつらつらと: Nagios HTTP監視