1

2 台のマシン (mA と mB) の間で ping を実行し、これを (mC で) Nagios に報告する代わりの方法を探しています。

私の現在の考えは、cron ジョブでマシンに ping を実行する BASH スクリプトを作成し、データをファイルに出力してから、Nagios がそのファイルを読み取るために使用できる別の bash スクリプトを作成することです。しかし、これはこれを行うための最良/正しい方法のようには感じませんか?

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

トレースルートの使用について考えましたが、これはpingが遅くなると思いますか?、私が望むものを達成する別の方法はありますか?

注: Nagios がマシンに直接 ping を実行できることは知っていますが、これは私がやりたいことではなく、何をしたいのか教えてくれません。また、これは私の 2 番目のスクリプトなので、おそらくゴミです。また、ICMP がブロックされた場合、どのような代替手段がありますか?

4

1 に答える 1

0

NRPEと check_pingを見ましたか? これにより、nagios マシン (mC) が mA に mB を ping するように要求し、mA が結果を mC に報告できるようになります。これを機能させるには、mA に NRPE と nagios-plugins をインストールして構成する必要があります。

于 2010-12-13T21:31:29.587 に答える