Lo primero que tenemos que hacer es activar stub_status, para esto podemos hacerlo de 2 formas, bien añadirlo a la configuración del servidor web NGINX o crear un fichero nuevo y cambiar el puerto de monitorización. Nosotros optamos por esta opción ya que en entornos con Paneles de control tipo Plesk o Cpanel, el archivo nginx.conf puede ser modificado y que perdamos la configuración.

Hemos elegido el puerto 8181 como podiamos haber elegido cualquier otro, hemos comprobado que existe una linea en el fichero nginx.conf que incorpora todos los archivos del directorio conf.d (include /etc/nginx/conf.d/*.conf;)

 

Por tanto hemos creado el archivo:

/etc/nginx/conf.d/monitor.conf

Con el siguiente contenido:

server {
listen X.X.X.X:8181; (IP DEL SERVIDOR)# Status for NGINX
location /nginx_status {
stub_status on;
access_log off;
allow X.X.X.X; (IP DEL SERVIDOR YA QUE SON PETICIONES LOCALES)
deny all;
}
}

Reiniciamos NGINX:

# /etc/init.d/nginx restart

Ahora toca añadir al archivo del agente zabbix los parametros:

# NginX KeysUserParameter=nginx.active[*],wget -O- -q $1:$2/nginx_status | awk ‘/^Active/ {print $NF}’
UserParameter=nginx.reading[*],wget -O- -q $1:$2/nginx_status | awk ‘/Reading/ {print $$2}’
UserParameter=nginx.writing[*],wget -O- -q $1:$2/nginx_status | awk ‘/Writing/ {print $$4}’
UserParameter=nginx.waiting[*],wget -O- -q $1:$2/nginx_status | awk ‘/Waiting/ {print $$6}’
UserParameter=nginx.accepted[*],wget -O- -q $1:$2/nginx_status | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}’
UserParameter=nginx.handled[*],wget -O- -q $1:$2/nginx_status | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}’
UserParameter=nginx.requests[*],wget -O- -q $1:$2/nginx_status | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}’

El * son los parametros que vamos a pasar desde el server de zabbix que son la IP del host y el puerto.

Una vez añadido esto reiniciamos el agente zabbix:

# /etc/init.d/zabbix_agentd restart

Por último debemos crear las key en zabbix de la siguiente manera:

nginx.active[{HOST.IP1},8181]

Aquí podéis descargar el template (debeis cambiar la extensión a XML) para modificarlo a vuestro gusto:

zbx_export_templates