Windowsサーバのsystem.uptimeの取得に関して

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

掲題の件でご存じの方がいらしたらお教えいただけますと幸いです。

環境
 Zabbixサーバ 2.2.10
 Zabbixエージェント 2.2.9

上記の環境で監視対象(Windows2003R2)サーバをTemplate_OS_Windowsにて
監視を行っております。

先日テンプレートに登録されているトリガー「○○○ has just been restarted」を
検知いたしました。
しかしながらOSのイベントビューアを確認しても再起動した形跡はありません。
また、特別エラーを検知した形跡もありません。

Zabbixサーバおよびエージェント(監視対象サーバ)のログも確認しましたが
DebugLevelがデフォルトのまま(3)の為か、該当時間帯でのエラーは
記録されておりませんでした。

該当サーバを設置しているネットワークがもともと不安定の為、通信が瞬断するような
状況であり、それが影響したのかとも考えているのですが、そもそもこのトリガーが
監視しているsystem.uptimeはWindowsの場合は何を監視しているのかと思い
質問させていただきました。

Linux同様にsysteminfoから取得できる時刻を拾っているのかとも思いますが、
Widows2003R2の場合は直近の起動日時からの継続時間が取得されますので
Zabbixエージェントが前回チェックした際の値と大小比較しているのでしょうか。
現在時刻との比較を行うようであれば、一時的にサーバの現在時刻がずれることで
誤検知をすることも有り得るかとも思ったのですが、Windows2003R2の場合は
それもなさそうだと思っております。

以上、ご存じの方がいらしたらお教えいただけますと幸いです。

コメント表示オプション

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

「○○○ has just been restarted」が出たのであれば、

 system.uptime

の値が起動している間増え続けるはずなのにもかかわらず、そのト
リガーが発生したタイミングで、前回の値取得よりも小さな値が取
得されたのでしょう。

最新データから、そのサーバのsystem.uptimeの値がどう変化して
いたかを確認してみてください。
ちなみに、Windowsの場合、system.uptimeはパフォーマンスカウン
タから取得するようになっているようです。

もし仮想環境を利用されているのであれば、物理サーバの時計のず
れや、仮想環境の高負荷などによって、その環境上のVMの時計が大
きくずれることがあります。
ご注意ください。

ユーザー Nkjm の写真

TNK様

いつも的確なご指摘ありがとうございます。

system.uptimeを確認したところ、当該時刻で値が減少しておりました。
イベントビューアを見ていると、ちょうど24時間後頃にNTPサーバとの
接続ができず時刻調整が24時間できていないことを示す警告が出ておりました。

このことから当該時刻に何かしらの時刻調整が行われたものと考えます。
しかし、NTPで時刻調整を行ったのであれば、イベントビューアにその旨の
ログが記録されると認識しているのですが、出ておりません。
TNK様ご指摘の通り、仮想サーバ(明記しておりませんで失礼しました)の負荷等
による時刻のずれや、ホスト側のNTPによる時刻調整が仮想サーバへどのように
影響するかなどを確認しようと思います。

以上、ありがとうございました。