ウェブ監視のレスポンスタイムついて

いつもお世話になっております。

お客様のデータセンターに設置されたサーバーの監視にZABBIXを使用しております。

監視対象にはWebサーバーもあり、各種Webサイトが正しく動作しているか監視を行うために、ウェブ監視を利用しております。

監視を始めた当初より、特定のサイトで週一程度障害が発生しておりまして、実際に確認してみると特に異常もなく、
ZABBIX上でも次の監視タイミング(30分毎)では障害復旧となるためあまり気にしておりませんでした。
ところが、先週あたりに他のWebサーバーでも同様の現象が発生し、
流石にうやむやにできる状況ではなくなってきたため、調査を行ってみたところ、
いくつかのサイトのレスポンスタイムが異様に時間がかかっており、
タイムアウト(15秒)になって障害発生と見なされていることが判明しました。

しかし、障害発生時に、手元のマシンよりブラウザで
確認してみた感じでは、それほど読込に時間がかかっている感じはなく、
ZABBIXを実行しているCentOS上より、httpingを行っても1秒位以内にレスポンスがありました。
しかも、その問題のサイトを動かしているWebサーバー上の別サイトでは、
ZABBIX上の監視データから見てもほとんどレスポンスに時間がかかっておりませんでした。

何かしら設定に不備があるのかもしれませんが、どこをどう調べていいのかもわからずお手上げ状態です。。。
どこか調べられるポイント等、アドバイスいただければと思います。
宜しくお願い致します。

コメント表示オプション

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

Zabbixサーバのログにエラーなどは出ていないでしょうか?

また、httpingだけですと実際のコンテンツまでは読み込んでいない可能性もありますので、Zabbixサーバを実行しているサーバから、以下のようにcurlコマンドを実行して応答までの時間を見られた方が良いかと思います。

curl http://<Zabbixで監視しているURL>

ユーザー jyoi2727 の写真

返信有難う御座います。

Zabbixサーバのログにエラーなどは出ていないでしょうか?

ピンポイントなエラーは出ておりませんでしたが、
一応気になるあたりのエラーで、以下がございました。
何か関連性はありますでしょうか?

[b]
4002:20110831:031456.183 Item [Zabbix server:net.tcp.service[ssh]] error: Get value from agent failed: ZBX_TCP_READ() failed [Interrupted system call]
4002:20110831:031456.215 [Z3005] Query failed: [2006] MySQL server has gone away [begin;]
4002:20110831:031456.396 Zabbix Host [Zabbix server]: first network error, wait for 15 seconds
[/b]

また、httpingだけですと実際のコンテンツまでは読み込んでいない可能性もありますので、Zabbixサーバを実行しているサーバから、以下のようにcurlコマンドを実行して応答までの時間を見られた方が良いかと思います。

お恥ずかしい、てっきりhttpingでそのような動きをしていると勘違いしておりました。
さっそく、問題のサイトの応答速度を計測してみたところ、0.110sと特に問題のない時間になりました。
このサイトはZABBIX上、常時5s以上のレスポンスタイムが計測されております。

使用したcurlコマンドは以下になります。
curl https:// -k -o /dev/null -w "status: %{http_code}, time: %{time_total}\n" 2> /dev/null >> status.log
vi status.log

補足:
ウェブ監視のシナリオについては、各サイトのトップページのみとなっており、
問題となっている応答速度はトップページへの接続時のこととなっております。
複数のサイトが対象となっているため、詳細は割愛させて頂きますが、
サイトの構成はIIS6.0+ASP、IIS6.0+ASP.NETが主になっております。

以上、宜しくお願い致します。

ユーザー kodai の写真

4002:20110831:031456.215 [Z3005] Query failed: [2006] MySQL server has gone away [begin;]

このエラーはMySQLの負荷が高いときに発生します。Zabbixサーバも正常に動作していない(正常にデータを保存できていない)可能性もありますので、まずはそこを改善された方が良いかもしれません。

ZabbixのWebインターフェースから[レポート]->[Zabbixサーバの状態]を開き、有効なホスト数、アイテム数、1秒あたりの監視項目数はどのくらいあるでしょうか?

ユーザー jyoi2727 の写真

返信が遅くなってしまい申し訳ございません。

ほとんどのサーバーが、30分毎にしか値を取得していないため、
負荷がかかっているとは思いませんでした。

ZabbixのWebインターフェースから[レポート]->[Zabbixサーバの状態]を開き、有効なホスト数、アイテム数、1秒あたりの監視項目数はどのくらいあるでしょうか?

有効なホスト数:63[14 / 2 / 47]
アイテム数:453[321 / 132 / 0]
1秒あたりの監視項目数:4.15

これが数値的に高いのか低いのか、ちょっと判断が付きませんが、
確かにZABBIXを実行しているサーバーはかなり貧弱な性能のため、
マシンスペックが原因であれば、何らかの対策が打てるかと思います。

以上、宜しくお願い致します。

ユーザー kodai の写真

有効なホスト数:63[14 / 2 / 47]
アイテム数:453[321 / 132 / 0]
1秒あたりの監視項目数:4.15

監視項目数としてはとても少ないと思います。この数値でZabbixサーバのパフォーマンスが問題になることはほとんどないので、MySQLのパフォーマンスが出ない原因がどこかにあるのではないかと思います。

1. MySQLのチューニングが行われていない
2. ハードウェアのスペックが低い
3. HyperThreadingが有効になっている

など、原因となりそうなところはないでしょうか?