由于大部分web服务器的apache都更换为了nginx,zabbix中以前http进程监控也需要调整了。
在zabbix中可以自定义监控变量,通过自己写的bash脚本来抓取相关信息返回给zabbix server,这里我们需要在运行zabbix agent的服务器上编辑/etc/zabbix/zabbix_agentd.conf,增加下行:
UserParameter=nginx.connects,/data/shells/nginx_status.sh connections
其中nginx.connects是定义的zabbix agent变量,/data/shells/nginx_status.sh connections定义这个变量的动作脚本。
/data/shells/nginx_status.sh内容如下:
#!/bin/sh
case $1 in
'connections')
info=`curl -s http://localhost/status | sed q`;
echo ${info##*:};
;;
*)
echo 0;
;;
esac
返回nginx的进程数,即status中的active connections。
在zabbix server中为agent设备增加条目,类型为zabbix agent,key值为上面定义的nginx_connects即可。