[CentOS-es] consulta Shell Script Nagios
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
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
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
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