자체 네트워크 연결을 모니터링해야 하는 임베디드 Linux/Busybox 시스템이 있습니다. 장치가 네트워크에서 10분 이상 "혼자" 실행되었는지 확인하고, 그렇다면 수정 조치를 취하려고 합니다. 시스템이 물리적으로 접근할 수 없는 위치에 있을 수 있습니다.
저는 주로 시스템의 네트워크 트래픽 제로와 같은 심각한 오류를 감지하기 위한 일반적인 솔루션을 찾고 있습니다. 우리 서버는 모니터링할 수 있습니다특정한자신의 항구.
rootfs는 최대 크기인 16MB에 빠르게 접근하고 있으므로 많은 일반 애플리케이션은 더 이상 선택 사항이 아니며 예를 들어 nmap
16MB tcpdump
제한을 초과하게 됩니다.
이것이 내 생각이다:
- 의 일부 항목은
/proc/net
마지막 TCP 또는 UDP 패킷의 시간을 나타낼 수 있습니다. - 네트워크에서 임의의 피어를 찾아 ping을 시도합니다(듣고 있는 사람 있나요? ? ?)
- 모니터 수가
/sys/class/net/eth0/rx_packets
늘어나나요?
가장 신뢰할만한 것은 무엇입니까?
답변1
마지막 두 아이디어는 모두 좋은 아이디어입니다. (첫 번째 아이디어는 세 번째 아이디어와 거의 동일합니다.) 문제는 능동 모니터링이 필요한지, 수동 모니터링이 필요한지 여부입니다.
수동적 모니터링에 대한 요점은 예를 들어 상자에서 제공하는 서비스를 적극적으로 사용하는 클라이언트가 없기 때문에 때로는 트래픽 부족이 정상일 수 있다는 것입니다. 사용 사례에 따라 이런 일이 발생해서는 안 된다고 가정할 수 있다면 수동 모니터링이 좋습니다.
활성 모니터링에 대한 한 가지 반대 의견은 모니터링하기로 선택한 특정 외부 리소스가 실제로 다운된 경우(즉, 문제가 반대편에 있는 경우) 오류를 잘못 선언한다는 것입니다. 여러 외부 리소스를 사전에 모니터링하고 동시에 액세스할 수 없는 경우에만 대응함으로써 이 문제를 완화할 수 있습니다.