Я ищу альтернативы проработке пинга между двумя машинами (мА и мБ) и сообщаю об этом обратно в 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 был заблокирован?