서버에 대한 무한한 ICMP 요청이 연결을 모니터링하는 좋은 방법입니까?

서버에 대한 무한한 ICMP 요청이 연결을 모니터링하는 좋은 방법입니까?

나는 자체 호스팅 vps 서버를 가지고 있으며, 내 집 컴퓨터의 시스템 트레이에서 해당 상태를 항상 확인하고 싶습니다(연결 가능한지 여부). 이를 위해 다음과 같은 간단한 bash 스크립트를 작성했습니다.

#! /bin/bash

while true
do
    if ping -c 1 -W 1 vps > /dev/null
    then
        # Draw green icon in the tray
    else
        # Draw red icon in the tray
    fi
    sleep 1
done

그게 다야. 그러한 지속적인 요청이 대역폭에 의미 있는 영향을 미칠 수 있습니까? 호스팅 제공업체는 그러한 행동을 의심스러운 것으로 간주할 수 있습니까? 연결을 모니터링하는 더 좋은 방법이 있습니까?

답변1

댓글 교환을 통해 질문에 대해 더 많이 생각하게 되었고, 결국 실제 답변을 보장하는 일련의 사고로 이어졌습니다.

대답은 '아니오'입니다. VPS가 작동 중인지 작동 중지되었는지 확인하는 것이 목표인 경우 핑은 VPS 연결을 모니터링하는 좋은 방법이 아닙니다.

이 질문에서 핑(또는 ICMP 요청)은 작은 패킷을 컴퓨터에서 라우터, 인터넷, 데이터 센터, 라우터, 서버, 마지막으로 해당 서버의 가상 인스턴스로 보냅니다.

데이터 센터에는 네트워크에 ICMP 요청을 감지하는 스마트 스위치가 있는 경우가 많으며 해당 스위치는 ICMP 요청에 응답하고 승인합니다. 핑은 VPS가 실행 중인지 여부를 알려주지 않습니다.

또한 컴퓨터나 네트워크 어딘가에서 ping을 실행하면 다음과 같은 문제가 발생합니다. 나쁜 인터넷 연결, 문제가 있는 모뎀/라우터는 잘못된 요청 응답을 제공하는 ICMP 요청을 보낼 수 없습니다. VPS를 핑하면 VPS가 다운되었다는 트리거를 제공할 수 있지만 실제로는 그렇지 않았습니다. 작동하지 않는 자신의 인터넷.

홈 네트워크는 데이터 센터 네트워크 및 VPS 서버에 비해 올바르게 작동하지 않는 경우가 훨씬 더 많습니다.

물론 VPS는 다운될 수 있지만 ICMP 패키지를 사용해도 그러한지 여부를 알 수는 없습니다.

대부분의 경우 VPS를 임대할 때 공급자는 귀하가 조회할 수 있는 서비스 상태 페이지도 제공합니다. 이 페이지는 모니터링 도구에 의해 자동 생성되는 경우가 많으며 더 정확합니다.

또한 원격 서버에 주기적으로 체크인하는 모니터링 도구를 VPS에 설치할 수도 있으며, 해당 체크인에 실패하면 원격 서버는 "안녕하세요, 서버 X에서 체크인을 놓쳤습니다"라고 말합니다. 그런 일이 발생하면 이메일을 보냅니다. 연속으로 5번 정도요.

이 마지막 방법이 가장 좋은 방법입니다. 프로그래밍에 능숙하다면 PHP로 간단한 것을 프로그래밍할 수 있지만 다른 곳에서는 웹호스팅 서비스가 필요합니다. VPS는 브라우저에서 URL을 열고 해당 페이지는 10초마다 새로 고쳐지며 해당 페이지는 로그에 마지막 새로 고침도 기록합니다. 동일한 웹 서버의 크론 작업은 마지막 새로 고침을 확인하고 너무 오래 전에 발생한 경우 이메일을 보냅니다.

물론 VPS가 재부팅되면 브라우저를 다시 열어야 하지만 이를 자동화하는 방법이 있습니다.

서버 모니터링을 위해 특별히 고안된 프로그램도 있지만, 머리 속에는 저렴한 프로그램이 생각나지 않습니다.

관련 정보