サーバーのインターネットへの接続を監視および報告するスクリプトを設定するための最良のアプローチは何ですか?私はローカルネットワークへの接続について言及しているのではなく、ISPの接続がダウンした場合に備えて、サーバー(またはネットワーク全体)がインターネットにアクセスする能力について言及しています。
インターネット接続を24時間年中無休でテストして結果をログに記録する(または、停止した場合はログに記録する)スクリプトである必要があります。次に、これらのログを読み取ってレポートを生成し、さまざまな統計情報を表示する他の方法( ISP接続がオフラインだった時間の割合など)。
これは、さまざまな人気のあるURL(google.com、Amazon.comなど)にpingを送信し、それをテストとして使用してインターネットにアクセスできるかどうかを判断するのと同じくらい簡単ですか?それとももっと良いアプローチがありますか?
これの目的は主に、ISPが失敗している間は常にログに記録することです。そのため、それらを表示して、問題を修正したり、上司がISPを切り替えるための手段としてログを使用したりできます。
これは通常、ファイアウォール/ルーター自体でSNMPを使用したインターフェイス監視を通じて行われます。さらに、インターフェースでnetflow/sflow/jflowを使用して、より詳細な統計/情報を収集できます。
大規模なISPは、監視ツールを備えたポータルも提供します(Sprint/Cox/TWなどが思い浮かびます)。
さらに、Nagiosなどのアウトバウンドにpingを実行できるツールや、追加のレイヤー/チェックをセットアップできます。
http://newrelic.com/monitor-everything などのサードパーティツールを使用して、サーバーが到達可能であることを確認するために、外部から監視することもできます。または、ファイアウォールのWAN IP)にpingを送信し、到達不能な場合は警告する無料のオンラインpingモニター(検索のみ)のような単純なもの。
サーバーの観点からのみ監視することは近視眼的であり、ISP自体の実際の停止を正確に反映していない可能性があります。
一般的に、最初に行う必要があるのは、インターネットの停止と呼ばれるものを正確に定義することです。 「停止」とは、到達できないことを意味しますか?
特定のインスタンス(インターネット接続の安定性を特定しようとする)の場合、ルーターからログやSNMPを監視すると、必要な情報が得られますが、トラフィック通過の「実際の」テストはおそらく役に立ちます。それがあなたとISPの間のリンクである場合は、いくつかのISPホスト(DNS /メールなど)にpingを実行するか、DNSサーバーに対するスクリプトと実際のDNSルックアップを改善することをお勧めしますおよび確立を試みますメールサーバーへのSMTP接続。もちろん、これを頻繁に行わないでください。そうしないと、利用規定、利用規約などに違反していると非難される可能性があります。
私はこのような接続を監視するための優れたツールを使用しています。
[〜#〜] mtr [〜#〜] またはMyTraceルート。
これは、単一のping操作とトレースルートからの進化であり、ほぼ2つのハイブリッドです。
MTRにはいくつかの動作モードがあります
mtr --report google.com
分析のためにISPに送信するレポートを生成します。
またはあなたは試すことができます
mtr google.com
そしてdを2回押して、一定期間のすべてのホップ間の遅延または損失を確認します。
参照しているLinuxのフレーバーに応じて、ほとんどのディストリビューションのネイティブリポジトリにMTRがあります。