在zabbix上监控nginx进程

由于大部分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即可。

发表评论