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