Bash Script, позволяющий Nagios сообщать о пинге между двумя другими компьютерами Linux - PullRequest
1 голос
/ 30 ноября 2010

Я ищу альтернативы проработке пинга между двумя машинами (мА и мБ) и сообщаю об этом обратно в Nagios (на мК).

В настоящее время я думаю о том, чтобы написать скрипт BASH, который будет пинговать машины в задании cron, вывести данные в файл, а затем получить другой скрипт bash, который Nagios может использовать для чтения этого файла.Хотя это не самый лучший / правильный способ сделать это?

Вот сценарий, который я планирую запустить в задании cron:

#!/bin/bash

if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]
then
   echo $0: usage: $0 file? ip? pingcount? deadline?
   exit 126
else
   FILE=$1
   IP=$2
   PCOUNT=$3
   DLINE=$4

   while read line
   do
      if [[ $line == rtt* ]]
      then

         #replace forward slash with underscore
         line=${line////_}

         #replace spaces with underscore
         line=${line// /_}

         #get the 8 item when splitting string on underscore
         #echo $line| cut -d'_' -f 8 >> $FILE #Append
         #echo $line| cut -d'_' -f 8 > $FILE #Overwrite
         echo $line| cut -d'_' -f 8
      fi

   done < <(ping $IP -c $PCOUNT -q -w $DLINE) #-q output summary / -w deadline / -c pint count

Я думаю об использовании трассировки маршрута,но я думаю, что это приведет к медленному пингу? Есть ли другой способ достичь того, чего я хочу?

Примечание: я знаю, что Nagios может напрямую пинговать машину, но это не то, что я хочу делать, ине скажи мне, что я хочу.Также это мой второй сценарий за всю историю, так что, вероятно, это мусор.Кроме того, какая альтернатива была бы у меня, если бы ICMP был заблокирован?

1 Ответ

0 голосов
/ 14 декабря 2010

Вы смотрели на NRPE и check_ping?Это позволило бы машине nagios (mC) запросить mA пропинговать mB, а затем mA сообщит результаты mC.Чтобы это работало, вам нужно установить и настроить NRPE и nagios-plugins на mA.

...