ZabbixでWebトランザクションを監視する方法
CentOS6.7 にてZabbix2.4の検証環境を構築しています。
ホストA (Zabbix-Server) IP:192.168.0.1
ホストB (Zabbix-Agent) IP:192.168.0.2
別メーカの監視ソフトウェアからZabbixへの乗り換えを検討しています。
その監視ソフトウェアでは、Webトランザクションの計測をおこなっています。
Webサーバ(ホストB)へにアクセスがあった場合に"/var/log/httpd/access_log"を解析し、下記の情報を取得します。
・リクエスト回数
・リクエスト処理時間
・トラフィック量(KB)
・エラー回数
上記のうち、リクエスト回数は、ホストBのApacheステータス情報より
Totalaccess数を監視するアイテムキーを作成し、監視しています。
※書籍「Zabbix総合監視実践入門」を参考にしました。
他、リクエスト処理時間、トラフィック量、エラー回数を取得する方法がわからないため、
教えていただけないでしょうか。
また、できればリクエスト回数も上記の監視設定以外に取得可能な方法があれば教えてください。
宜しくお願い致します。
TNK - 投稿数: 4769
利用されているWebサーバがApache HTTP Serverであるならば、
ログの設定で、各リクエストの処理時間をアクセスログに出力
することができます。
レスポンスのサイズも同様です。
ご参考:
ログファイル
http://httpd.apache.org/docs/2.4/logs.html
http://httpd.apache.org/docs/2.4/mod/mod_log_config.html
エラー回数の定義がわかりませんが、レスポンスコードが500だっ
たらエラーということであれば、その行をカウントすることで実現
できるとは思います。
しかし、こういったログを取得して処理するとしても、アクセス頻
度の多いWebサイトではZabbixだと簡単に処理しきれないほどの負
荷上昇となってしまうことが容易に予想されます。
ログに出力された情報を集計するのであれば、他のログ集計の仕組
みを利用して集計した結果をZabbixに送るような構成にしたほうが
良いと思います。
トラフィック量に関しては、上記のレスポンスのサイズを集計する
のではなく、Apache HTTP Serverのserver-statusから取得しても
良いでしょう。
何の目的で、どのような値を把握すべきなのかを検討してみてくだ
さい。最大値や最小値を調べることが必要かどうかによっても何を
使ってどう処理するかは変わると思います。
server-statusを利用しないのであれば、これもログを集計する仕
組みとの連動を検討することになると思います。
例えば、ログの集計とZabbixの連携に関しては、FluentdとZabbix
の連携方法として何人かの方が情報を公開されているので探してみ
てください。