独自のネットワーク接続を監視する必要がある組み込みLinux/Busyboxシステムがあります。デバイスがネットワーク上で10分以上「すべて単独」であるかどうかを確認し、そうである場合は修正措置を講じようとしています。システムが物理的にアクセスできない場所にある可能性があります。
私は主に、重大な障害を検出するための一般的なソリューションを探しています。システムのネットワークトラフィックはゼロです。私たちのサーバーはそれ自体で特定のポートを監視できます。
Rootfsは急速に最大サイズの16MBに近づいているため、多くの一般的なアプリケーションはオプションではありません。 nmap
またはtcpdump
は、16MBの制限を超えます。
これが私の考えです:
/proc/net
の一部のエントリは、最後のTCPまたはUDPパケットの時刻を示している可能性があります/sys/class/net/eth0/rx_packets
を監視して、数が増加しているかどうかを確認します最も信頼できるものは何ですか?
後者の2つのアイデアはどちらも優れています。 (最初のアイデアは、3番目のアイデアとほぼ同じです。)問題は、アクティブまたはパッシブのどちらの監視を行う必要があるかです。
パッシブモニタリングのポイントは、たとえば、ボックスが提供するサービスをアクティブに使用しているクライアントがいないという理由だけで、トラフィックの不足が正常な場合があるということです。ユースケースに基づいてこれが発生しないと想定できる場合は、パッシブモニタリングで問題ありません。
アクティブな監視に対するポイントは、監視することを選択した特定の外部リソースが実際にダウンしている場合(つまり、問題がもう一方の端にある場合)、誤って失敗を宣言することです。複数の外部リソースをアクティブに監視し、それらすべてが同時に到達不能になった場合にのみ対応することで、これを軽減できます。