Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

  1. ping(1)를 이용해서 해당 서버의 ICMP(:12) 응답률과 상태를 체크한다.
  2. 일정간격으로 값을 측정한다음 RRD(:12)에 쌓는다면, 시스템 가용율과 상태 확인을 위한 통계자료로의 활용이 가능할 것이다.
    #!/usr/bin/perl
    
    $host = $ARGV[0];
    open(FD, "ping -c 3 $host -W 1|");
    $i = 0;
    $is_reply = 0;
    $avail = 0;
    while($line = <FD>)
    {
      if ($line =~ m/^rtt/)
      {
        @_ = split /\//, $line;
        $is_reply = 1;
        break;
      }
      if ($line =~ m/transmitted/)
      {
        @_ = split /, +/, $line;
        @_ = split /%/, $_[2];
        $avail = 100 - $_[0];
      }
    }
    if ($is_reply == 0)
    {
      print "ICMP CHECK FAILURE | avail=$avail";
    }
    else
    {
      print "ICMP CHECK OK | avail=$avail time=$_[5]\n";
    }