Je cherche des alternatives à l'exécution du ping entre deux machines (mA et mB) et je rapporte cela à Nagios (sur mC). Mes pensées actuelles sont d'écrire un script BASH qui enverra un ping aux machines dans un travail cron, affichera les données dans un fichier puis aura un autre script bash que Nagios pourra utiliser pour lire ce fichier. Cela ne se sent pas comme la meilleure/bonne façon de le faire si?Script Bash pour permettre à Nagios de rapporter le ping entre deux autres machines Linux
Voici le script que je prévois de courir dans la tâche 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
Je pensais que sur l'utilisation de la route de trace, mais je pense que ce serait produit un ping plus lent ?, est-il une autre façon de réaliser ce que je vouloir?
Note: Je sais que Nagios peut directement envoyer une requête ping à une machine, mais ce n'est pas ce que je veux faire et je ne vais pas me dire ce que je veux. C'est aussi mon deuxième scénario, donc c'est probablement de la foutaise. Aussi, quelle alternative aurais-je si ICMP était bloqué?
Je voudrais savoir à ce sujet avant d'écrire le script ... encore apprendre bash, ce qui était amusant. –