здравствуйте. задача: снять показания о состоянии bgp сессий, и показать это в нагиосе. был найден скрипт:
#!/bin/sh
prx=`/usr/bin/sudo /usr/bin/vtysh -e 'sh ip bgp su' | grep $2 | /bin/awk '{ print $10 }'`
if [ -z $prx ]
then
echo "Critical - BGPD not work"
exit 1
fi
if [ $prx = 'Connect' ]
then
echo "Critical - Connect"
exit 1
elif [ $prx = 'Active' ]
then
echo "Critical - Active"
exit 1
elif [ $prx = 'Idle' ]
then
echo "Critical - Idle"
exit 1
elif [ $prx -lt $1 ]
then
echo "CRITICAL - Prefixes $prx"
exit 1
else
echo "OK - Prefixes $prx"
exit 0
fi
запуск скрипта локально работает, и отдает нужные параметры.
# /usr/lib64/nagios/plugins/check_bgp.sh 0 89.179.xx.xx
OK - Prefixes 0
запуск скрипта удаленно, через nrpe выдает только Critical - BGPD not work.
в логах регистрируется
sudo: nrpe : TTY=pts/0 ; PWD=/usr/lib64/nagios/plugins ; USER=root ; COMMAND=/usr/bin/vtysh -e sh ip bgp su
# grep nagios /etc/sudoers
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nagios ALL=(ALL) NOPASSWD: /usr/bin/vtysh
nrpe ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nrpe ALL=(ALL) NOPASSWD: /usr/bin/vtysh
однако
./check_nrpe -H 192.168.0.1 -c check_bgp_beeline
Critical - BGPD not work
# grep bgp /etc/nagios/nrpe.cfg
command[check_bgp_beeline]=/usr/lib64/nagios/plugins/check_bgp.sh 0 89.179.xx.xx
подскажите коллеги, где я неправ? «родные» плагины отрабатывают как локально, так и удаленно