Webサイトの変更検知方法はありますでしょうか

はじめまして。
先日からzabbixをインストールして色々試しています。
試していく中で、一つ実現したい機能があったのですが、そもそもzabbixでできるのか、できないのかの判断がつかなかったので質問をさせていただきました。

Webサイトの監視でサイトの変更検知ができないものかと思っています。
具体的には前回Webサイトへアクセスしたときに取得したHTMLと、今回Webサイトへアクセスしたときに取得したHTMLとの差分をとり、変更があった際にトリガを上げる方法です。

欲を言えば取得したHTML中に動的変更される部分があるので、正規表現でそこを取り除く事ができる処理も間に挟めると嬉しいです。

実際そのように動作している手製の監視システムがあり、できればzabbixにその監視もお任せしたいと考えています。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

Zabbixだけですと私の知っている限りでは実現することができないと思います。

実現方法としては、Zabbixにあるファイルのチェックサムをチェックする機能を利用する方法が考えられます。
まず、Zabbixとは別に、定期的にWebサーバにアクセスして受け取ったHTMLの動的変更部分を削除してファイル化するスクリプトかプログラムを用意します。
あとは、Zabbixでその生成されたファイルのチェックサムを監視すれば良いのではないでしょうか。

ユーザー soushi の写真

早速の返信ありがとうございます :-)

なるほど、ローカルファイルに落としてチェックサム確認を使う方法ですね。
全然想像できなかったアプローチ方法でしたが、確かに実現はできそうです。

あとはファイルを作る別スクリプトをどうするかですね。
zabbixのvfs.file.cksumを実行前にプレスクリプトとして何か処理を挟めればいいのですが、調べた限りわかりませんでした。
ただ、別途cronで定期的にスクリプトを動かしてもいいかなと思うので、必要に応じて用意してみます。

ユーザー kodai の写真

こんにちは。

完全に静的なページの変更をチェックするのであれば、

web.page.get[]

のキーを使ってページ全体のHTMLファイルを収集するようにしておき、トリガーの設定で

{hostname:web.page.get[].diff(0)}=1

と設定する方法ではうまくいかないでしょうか?

動的なページの変更チェックはスクリプトを作成しないと難しいでしょうね。