Zabbixによるweb監視作成のポイント
web監視について
zabbixでは基本的にzabbixエージェントによる監視を実施しています。
そのため、エージェントにより取得している情報でシステムの稼働監視は完了!とする場合もあります。
しかし、エージェントから取得している情報は正常でも、なぜかシステムはログインできない!というような場合もあります。
例えば、サーバ証明書の更新を忘れていた!等。。。
そういった場合に、利用するのがこの「web監視」になります。
これは、Zabbixサーバからhttpリクエストを送信し、その結果からサーバを監視しようというもの。
監視時に取得できる情報は以下となります。
すべてのWebシナリオで次の情報が収集されます。
- シナリオ全体のすべてのステップに関する1秒あたりの平均ダウンロードスピード
- 失敗したステップの番号
- 直近のエラーメッセージ
すべてのWebシナリオのステップで次の情報が収集されます。
- 1秒あたりのダウンロードスピード
- レスポンスタイム
- レスポンスコード
- 取得したHTMLページにあらかじめ設定された文字列が含まれるかどうか
これらの情報から、システムが正常に稼働しているかどうかを判断していきます。
シナリオの作成
1.操作するシナリオを決める
Web監視にて監視するシステムがどのような操作を実施した場合に正常稼働と判断できるのかを確認します。
例)
1.トップページの表示
2.ログイン処理
3.マイページにログインユーザ名が表示されればOK
2.操作したシナリオを再現する
zabbixにて想定したシナリオを再現するためにWebシナリオのステップを作成してくことになるのですが、必要な情報としては以下となります。
URL:リクエストURL
ポストデータ:リクエスト時にポストしてるデータ。
ヘッダー情報:特定のヘッダーのみ許可している場合に利用できます。
要求文字列:ログイン後に表示されるユーザ名など
要求ステータスコード:200を設定しておけばいいと思います。
3.シナリオを再現するための参考
自分で開発したシステムを自分でZabbixに監視環境を構築していれば苦労はしないのですが、監視環境の構築のみを行っている場合には、なかなか必要な情報がわからなかったりします。(しました。)
その際に、シナリオを再現するための方法を参考として書いておきます。
3.1.開発者ツールを利用する。
ブラウザで素直にF12を押し、開発者ツールを起動しましょう。
そこでネットワーク系の情報のページから該当の情報を取得してみましょう。
3.2.Jmeterのプロキシサーバ機能で取得したシナリオを利用する。
開発者ツールで取得できていればそれで完了ですが、もし、社内で負荷テストを実施した際のシナリオが存在しているのであれが、それを再利用しましょう。
確実に動くシナリオが準備されていることになり、ハッピーです。
※Jmeterのシナリオ作成のポイントは別途記事化する予定です。
3.3.Badboyを使用する。
お手軽に操作履歴を取得したい場合には、「badboy」がおすすめです。
Jmeterのシナリオも作成でき、使いこなせれば心強いツールとなります。