diff --git a/php-fpm/php-fpm-check.sh b/php-fpm/php-fpm-check.sh index 62faa91..95b30c7 100755 --- a/php-fpm/php-fpm-check.sh +++ b/php-fpm/php-fpm-check.sh @@ -50,12 +50,17 @@ fi # # Extract data from nginx stats # -RESULT=$(echo "$NGINX_STATS" | awk 'match($0, "^'"$ZBX_REQ_DATA"':[[:space:]]+(.*)", a) { print a[1] }') -if [ $? -ne 0 -o -z "$RESULT" ]; then - echo $ERROR_WRONG_PARAM - exit 1 -fi - -echo $RESULT +case $ZBX_REQ_DATA in +'accepted conn') echo "$NGINX_STATS" | grep '^accepted conn:' | cut -f2 -d ':' | sed 's/\s//g';; +'active processes') echo "$NGINX_STATS" | grep '^active processes:' | cut -f2 -d ':' | sed 's/\s//g';; +'idle processes') echo "$NGINX_STATS" | grep '^idle processes:' | cut -f2 -d ':' | sed 's/\s//g';; +'listen queue len') echo "$NGINX_STATS" | grep '^listen queue len:' | cut -f2 -d ':' | sed 's/\s//g';; +'listen queue') echo "$NGINX_STATS" | grep '^listen queue:' | cut -f2 -d ':' | sed 's/\s//g';; +'max active processes') echo "$NGINX_STATS" | grep '^max active processes:' | cut -f2 -d ':' | sed 's/\s//g';; +'max children reached') echo "$NGINX_STATS" | grep '^max children reached:' | cut -f2 -d ':' | sed 's/\s//g';; +'max listen queue') echo "$NGINX_STATS" | grep '^max listen queue:' | cut -f2 -d ':' | sed 's/\s//g';; +'total processes') echo "$NGINX_STATS" | grep '^total processes:' | cut -f2 -d ':' | sed 's/\s//g';; +*) echo $ERROR_WRONG_PARAM; exit 1;; +esac exit 0