web-dev-qa-db-ja.com

Busybox /組み込みLinuxでのネットワーク接続の監視

独自のネットワーク接続を監視する必要がある組み込みLinux/Busyboxシステムがあります。デバイスがネットワーク上で10分以上「すべて単独」であるかどうかを確認し、そうである場合は修正措​​置を講じようとしています。システムが物理的にアクセスできない場所にある可能性があります。

私は主に、重大な障害を検出するための一般的なソリューションを探しています。システムのネットワークトラフィックはゼロです。私たちのサーバーはそれ自体で特定のポートを監視できます。

Rootfsは急速に最大サイズの16MBに近づいているため、多くの一般的なアプリケーションはオプションではありません。 nmapまたはtcpdumpは、16MBの制限を超えます。

これが私の考えです:

  • /proc/netの一部のエントリは、最後のTCPまたはUDPパケットの時刻を示している可能性があります
  • ネットワーク上のランダムなピアを見つけて、それらにpingを実行してみてください(誰かが聞いていますか?
  • /sys/class/net/eth0/rx_packetsを監視して、数が増加しているかどうかを確認します

最も信頼できるものは何ですか?

2
Cuadue

後者の2つのアイデアはどちらも優れています。 (最初のアイデアは、3番目のアイデアとほぼ同じです。)問題は、アクティブまたはパッシブのどちらの監視を行う必要があるかです。

パッシブモニタリングのポイントは、たとえば、ボックスが提供するサービスをアクティブに使用しているクライアントがいないという理由だけで、トラフィックの不足が正常な場合があるということです。ユースケースに基づいてこれが発生しないと想定できる場合は、パッシブモニタリングで問題ありません。

アクティブな監視に対するポイントは、監視することを選択した特定の外部リソースが実際にダウンしている場合(つまり、問題がもう一方の端にある場合)、誤って失敗を宣言することです。複数の外部リソースをアクティブに監視し、それらすべてが同時に到達不能になった場合にのみ対応することで、これを軽減できます。

1
Celada