ping はサーバーが利用可能かどうかを確認する十分な方法ですか?

ping はサーバーが利用可能かどうかを確認する十分な方法ですか?

私の会社は WAN 上で運営されています。各支店は特定の範囲の IP (たとえば、192.168.0.100、192.168.1.100、192.168.2.100) 上で運営されています。

接続を監視したいです。5 秒ごとに各アドレスに ping し、結果を CSV ファイルに記録する簡単なコンソール アプリケーションを C# で作成しました。これで十分でしょうか。次のテストではアドレスが使用可能になる可能性があるのに (つまり、ダウンしているのではなく、タイムアウトしている)、TimedOut エラーが頻繁に発生します。なぜこのようなことが起こるのでしょうか。ping の頻度が高すぎるのでしょうか。タイムアウト期間を長めに設定しました。

ありがとう。

編集: 各ブランチには「サーバー」はなく、WAN の一部として構成されたルーターがあるだけなので、接続をテストする以外に何かできることはあるでしょうか?

答え1

WAN を介したポイント間の基本的なネットワーク接続の確認について。通常の状況では、定期的な Ping トレースは安定した接続を示すはずです。
ただし、お客様の場合 (WAN リンク経由) は、接続が弱いようです。
つまり、WAN パス上で断続的なパケット損失が発生する可能性があるということです。

サーバー アプリケーションの可用性の確認について。これは別の話です。
サーバー プロトコル (Web サーバーの場合は TCP および HTTP/HTTPS) を含むテストを使用する必要があります。
なぜなら、「サーバー」はアクセス可能でも、サービスが壊れているかシャットダウンしている可能性があるからです。

コメントからの更新:
ルーターの先に確認済みのアドレスが1つも存在せず、そのネットワークが到達可能かどうかを確認する方法がない場合は、従来の方法を検討する必要があります: セットアップネットワーク管理ルーター上で作業し、ウェブベースの追跡フレームワーク。

答え2

私の意見では、一部のサービス (www、ファイル共有など) が利用可能であることを確認する、より充実したテストが本当に必要です。Ping は、ベース OS が実行中であることを示すだけです。Nagios、ZenOSS、monit など、既にこれを実行する無料ツールがあります。

答え3

何らかのタイプの SNMP ソフトウェアを調べてみるとよいでしょう。これはまさにあなたがやりたいことのために設計されています。ネットSNMPオープンソースであり、非常に人気があります。

答え4

利用可能かどうかによって意味が異なります。ping は物理サーバーへの接続を確認しますが、サーバー ソフトウェアと着信要求に応答する能力は確認しません。タイムアウトは、ソースとサーバー間のどこかで ping がドロップされたために発生する可能性があります。traceroute (Windows では tracert) を使用すると、ping がドロップされた場所が表示されます。どちらも、サーバー (ソフトウェア) の応答性についてはわかりません。

関連情報