[CentOS-es] consulta Shell Script Nagios

2008-04-03 Por tema Fequay
buenas, 

estimados estoy realizando un script el cual me trae canales
activos, cantidad de registros de cuentas conectados al
asterisk.

Localmente me funciona pero al pasarselo al NRPE de donde se
realiza la consulta no me lleva los datos integer


adjunto codigo:

#!/bin/bash

debug=$(echo $@ | sed -e s/.*\(-D\).*/\1/g)

if [ $debug = -D ]; then
opcion=$( expr $# - 1 )
 else
opcion=$#
fi
 

function retorna_estado {
##


status=$(asterisk -rx core show channels | grep active
calls | awk '{ print $3 $2 $1}')
register=$(asterisk -rx sip show peers  | grep OK | awk
'{ print $3 $2 $1}' | wc -l)
usadas=$(echo $status | awk '{ print $3 }')
libres=$(echo $register - $usadas | bc)



##

prused=$(echo $usadas - $libres | bc -l | sed -e
s/\(^.\).*/\1/g )

if [ $debug != -D ]; then
 status=
 else

status=| $(echo $status | awk '{ print
Call= expr $1 KB;t= $1 ;u= $2 ;f= $3 ;s= $4 ;b=
$5 ;c=$6; }' )

fi

if [ $1 = 0 ]; then

  echo Call Simultaneas:$(echo $usadas * 1 | bc ),
Registros:$(echo $register | bc ), Free:$(echo $libres |
bc ), $status
  exit 0
 ##
 elif [ $1 = 1 ]; then
 if [ $libres -le $(echo $2 | bc) ]; then
 echo Call WARNING Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
   exit 1
  elif [ $libres -gt $(echo $2 | bc) ];then
  echo Call OK: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
 exit 0
fi

elif [ $1 = 2 ];then

  if [ $libres -le $(echo $2 | bc) ];then

  echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
exit 2
  elif [ $libres -gt $(echo $2 | bc) ];then

  echo MEM OK: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
exit 0
 fi

elif [ $1 = 3 ];then

  if [ $libres -le $(echo $3 | b)  ];then

  echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
exit 2
  elif [ $libres -le $(echo $2 | bc) ];then

  echo MEM WARNING: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
exit 1
  elif [ $libres -gt $(echo $2 | bc) ];then
 echo MEM OK: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
 exit 0

fi
   

return 0
fi
}


if [ $1 = -? ];then

echo 
echo uso: $0 -w INTEGER -c INTEGER -D
echo -w : umbral de warning(INTEGER)
echo -c : umbral de critical(INTEGER)
echo -D : Debug de memoria(APAN)
echo -? : esta ayuda
echo 
   
elif [ $# = 1 ]  [ $1 = -D ] || [ $# = 0
];then

retorna_estado 0

elif [ $opcion = 2 ];then

if [ $1 == -w ]  [ $2 !=  ]; then
retorna_estado 1 $2
  
elif [ $1 == -c ]  [ $2 !=  ];then
retorna_estado 2 $2
  
else
echo $0: error de parametros
exit 4
fi

elif [ $opcion = 4 ];then

if [ $1 == -w ]  [ $2 !=  ]  [ $3 ==
-c ]  [ $4 !=  ];then
  retorna_estado 3 $2 $4
else
echo $0: error de parametros
exit 4
fi

else

echo $0: error en parametros
echo 
echo uso: $0 -w INTEGER -c INTEGER
echo -w : umbral de warning(INTEGER)
echo -c : umbral de critical(INTEGER)
echo -? : esta ayuda
echo 

fi



Atte.
Fernando Quil Ayala

___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] consulta Shell Script Nagios

2008-04-03 Por tema Fequay
buenas,

como usuario nagios me da estos errores:

sh check_pruebas

check_pruebas: line 1: asterisk: command not found
check_pruebas: line 1: asterisk: command not found
(standard_in) 2: parse error
(standard_in) 2: parse error
(standard_in) 1: parse error
Call Simultaneas:, Registros:0, Free:,

y los permisos son: 777 para el archivo

-rwxrwxrwx  1 nagios nagios 3.9K Mar 26 16:25 check_pruebas

saludos,

On Thu, 3 Apr 2008 11:42:40 -0300, Guille wrote
 El día 3/04/08, Fequay [EMAIL PROTECTED] escribió:buenas,

 estimados estoy realizando un script el cual me trae canales
 activos, cantidad de registros de cuentas conectados al
 asterisk.

 Localmente me funciona pero al pasarselo al NRPE de donde se
realiza la consulta no me lleva los datos integer

 adjunto codigo:

 #!/bin/bash

 debug=$(echo $@ | sed -e s/.*\(-D\).*/\1/g)

 if [ $debug = -D ]; then
opcion=$( expr $# - 1 )
   else
 opcion=$#
 fi

 function retorna_estado {
 ##

 status=$(asterisk -rx core show channels | grep active
 calls | awk '{ print $3 $2 $1}')
 register=$(asterisk -rx sip show peers  | grep OK | awk
'{ print $3 $2 $1}' | wc -l)
 usadas=$(echo $status | awk '{ print $3 }')
 libres=$(echo $register - $usadas | bc)

 ##

 prused=$(echo $usadas - $libres | bc -l | sed -e
 s/\(^.\).*/\1/g )

 if [ $debug != -D ]; then
  status=
  else

status=| $(echo $status | awk '{ print
 Call= expr $1 KB;t= $1 ;u= $2 ;f= $3 ;s= $4 ;b=
 $5 ;c=$6; }' )

 fi

 if [ $1 = 0 ]; then

   echo Call Simultaneas:$(echo $usadas * 1 | bc ),
 Registros:$(echo $register | bc ), Free:$(echo $libres |
 bc ), $status
  exit 0
   ##
   elif [ $1 = 1 ]; then
   if [ $libres -le $(echo $2 | bc) ]; then
   echo Call WARNING Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
    exit 1
   elif [ $libres -gt $(echo $2 | bc) ];then
   echo Call OK: Total:$(echo $register | bc )Kb,
Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
  exit 0
 fi
 
 elif [ $1 = 2 ];then

   if [ $libres -le $(echo $2 | bc) ];then

   echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 2
   elif [ $libres -gt $(echo $2 | bc) ];then

   echo MEM OK: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 0
   fi
 
elif [ $1 = 3 ];then

   if [ $libres -le $(echo $3 | b)  ];then

   echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
 exit 2
   elif [ $libres -le $(echo $2 | bc) ];then

   echo MEM WARNING: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
 exit 1
   elif [ $libres -gt $(echo $2 | bc) ];then
   echo MEM OK: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
)Kb $status
  exit 0

 fi

 
 return 0
 fi
 }

 if [ $1 = -? ];then

 echo 
 echo uso: $0 -w INTEGER -c INTEGER -D
echo -w : umbral de warning(INTEGER)
 echo -c : umbral de critical(INTEGER)
 echo -D : Debug de memoria(APAN)
 echo -? : esta ayuda
 echo 

 elif [ $# = 1 ]  [ $1 = -D ] || [ $# = 0
];then

 retorna_estado 0

 elif [ $opcion = 2 ];then

 if [ $1 == -w ]  [ $2 !=  ]; then
 retorna_estado 1 $2

 elif [ $1 == -c ]  [ $2 !=  ];then
 retorna_estado 2 $2

 else
 echo $0: error de parametros
exit 4
 fi

 elif [ $opcion = 4 ];then

 if [ $1 == -w ]  [ $2 !=  ]  [ $3 ==
-c ]  [ $4 !=  ];then
   retorna_estado 3 $2 $4
 else
 echo $0: error de parametros
 exit 4
 fi

 else

 echo $0: error en parametros
 echo 
 echo uso: $0 -w INTEGER -c INTEGER
 echo -w : umbral de warning(INTEGER)
echo -c : umbral de critical(INTEGER)
 echo -? : esta ayuda
 echo 

 fi

 Atte.
 Fernando Quil Ayala

 ___
CentOS-es mailing list
 CentOS-es@centos.org
 http://lists.centos.org/mailman/listinfo/centos-es
 
 verifica si puedes ejecutar el script logueado como usuario de nagios, si 
 sigues con problemas seria bueno que envies el output del error.

 Saludos!.
 --
 Take it easy
 Guille

Atte.
Fernando Quil Ayala


___
CentOS-es mailing list
CentOS-es@centos.org

Re: [CentOS-es] consulta Shell Script Nagios

2008-04-03 Por tema César Sepúlveda B
El Thursday 03 April 2008 10:37:03 am Fequay escribió:
 buenas,

 estimados estoy realizando un script el cual me trae canales
 activos, cantidad de registros de cuentas conectados al
 asterisk.

 Localmente me funciona pero al pasarselo al NRPE de donde se
 realiza la consulta no me lleva los datos integer


 adjunto codigo:

 #!/bin/bash

 debug=$(echo $@ | sed -e s/.*\(-D\).*/\1/g)

 if [ $debug = -D ]; then
 opcion=$( expr $# - 1 )
  else
 opcion=$#
 fi


 function retorna_estado {
 ###
###


 status=$(asterisk -rx core show channels | grep active
 calls | awk '{ print $3 $2 $1}')
 register=$(asterisk -rx sip show peers  | grep OK | awk
 '{ print $3 $2 $1}' | wc -l)
 usadas=$(echo $status | awk '{ print $3 }')
 libres=$(echo $register - $usadas | bc)



 ###
###

 prused=$(echo $usadas - $libres | bc -l | sed -e
 s/\(^.\).*/\1/g )

 if [ $debug != -D ]; then
  status=
  else

 status=| $(echo $status | awk '{ print
 Call= expr $1 KB;t= $1 ;u= $2 ;f= $3 ;s= $4 ;b=
 $5 ;c=$6; }' )

 fi

 if [ $1 = 0 ]; then

   echo Call Simultaneas:$(echo $usadas * 1 | bc ),
 Registros:$(echo $register | bc ), Free:$(echo $libres |
 bc ), $status
   exit 0
  ##
  elif [ $1 = 1 ]; then
  if [ $libres -le $(echo $2 | bc) ]; then
  echo Call WARNING Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
exit 1
   elif [ $libres -gt $(echo $2 | bc) ];then
   echo Call OK: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
  exit 0
 fi
 
 elif [ $1 = 2 ];then

   if [ $libres -le $(echo $2 | bc) ];then

   echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 2
   elif [ $libres -gt $(echo $2 | bc) ];then

   echo MEM OK: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 0
  fi
 
 elif [ $1 = 3 ];then

   if [ $libres -le $(echo $3 | b)  ];then

   echo MEM CRITICAL: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 2
   elif [ $libres -le $(echo $2 | bc) ];then

   echo MEM WARNING: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
 exit 1
   elif [ $libres -gt $(echo $2 | bc) ];then
  echo MEM OK: Total:$(echo $register | bc )Kb,
 Used:$(echo $usadas | bc )Kb, Free:$(echo $libres | bc
 )Kb $status
  exit 0

 fi

 
 return 0
 fi
 }


 if [ $1 = -? ];then

 echo 
 echo uso: $0 -w INTEGER -c INTEGER -D
 echo -w : umbral de warning(INTEGER)
 echo -c : umbral de critical(INTEGER)
 echo -D : Debug de memoria(APAN)
 echo -? : esta ayuda
 echo 

 elif [ $# = 1 ]  [ $1 = -D ] || [ $# = 0
 ];then

 retorna_estado 0

 elif [ $opcion = 2 ];then

 if [ $1 == -w ]  [ $2 !=  ]; then
 retorna_estado 1 $2

 elif [ $1 == -c ]  [ $2 !=  ];then
 retorna_estado 2 $2

 else
 echo $0: error de parametros
 exit 4
 fi

 elif [ $opcion = 4 ];then

 if [ $1 == -w ]  [ $2 !=  ]  [ $3 ==
 -c ]  [ $4 !=  ];then
   retorna_estado 3 $2 $4
 else
 echo $0: error de parametros
 exit 4
 fi

 else

 echo $0: error en parametros
 echo 
 echo uso: $0 -w INTEGER -c INTEGER
 echo -w : umbral de warning(INTEGER)
 echo -c : umbral de critical(INTEGER)
 echo -? : esta ayuda
 echo 

 fi



 Atte.
 Fernando Quil Ayala
¿¿Y que tiene que ver esto con el hilo de la discusión?
se estaba hablando sobre un problema con samba y yum, que tiene que ver tu 
¿'problema con script con esto!?


___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] consulta Shell Script Nagios

2008-04-03 Por tema Fequay
buenas,

agregue el usuario nagios al grupo de asterisk y lo ejecuta,
ahora solo queda que pase los vaolres al nagios por NRPE.

Gracias por los aportes.

On Thu, 3 Apr 2008 12:08:22 -0300, O. T. Suarez wrote
 Hola:
 
 2008/4/3 Fequay [EMAIL PROTECTED]:
  como usuario nagios me da estos errores:
 
  sh check_pruebas
 
  check_pruebas: line 1: asterisk: command not found
 Pudiera ser que no esta en el PATH para ese usuario.
 
 Prueba:
  sh ./check_pruebas
 
 si te funciona, tienes que adicionar el path donde 
 tienes el binario al  path del usuario nagios o 
 mas sencillo, copiarlo para /usr/local/bin o algo asi.
 Saludos
 Osvaldo
 ___
 CentOS-es mailing list
 CentOS-es@centos.org
 http://lists.centos.org/mailman/listinfo/centos-es


Atte.
Fernando Quil Ayala

___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es