Ich suche nach Alternativen, um den Ping zwischen zwei Rechnern (mA und mB) auszuarbeiten und melde dies an Nagios (auf mC).Bash-Skript, damit Nagios Ping zwischen zwei anderen Linux-Rechnern melden kann
Meine derzeitigen Gedanken sind, ein BASH-Skript zu schreiben, das die Maschinen in einem Cron-Job pingt, die Daten in eine Datei ausgibt und dann ein anderes Bash-Skript, das Nagios verwenden kann, um diese Datei zu lesen. Das fühlt sich nicht wie der beste/richtige Weg an, dies zu tun?
Hier ist das Skript Ich plane, in den Cron-Job auszuführen:
#!/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
ich Spurenweg obwohl über, aber ich denke, dies ist ein langsamer Ping erzeugt würde ?, gibt es eine andere Art und Weise, was zu erreichen I wollen?
Hinweis: Ich weiß, Nagios kann direkt eine Maschine anpingen, aber das ist nicht das, was ich tun will und mir nicht sagen wird, was ich will. Auch das ist mein zweites Skript, also ist es wahrscheinlich Müll. Welche Alternative hätte ich, wenn ICMP blockiert wäre?
Ich wünschte, ich wüsste darüber, bevor ich das Skript schrieb ... immer noch Bash lernen, was Spaß gemacht hat. –