zabbix监控nginx

前提:已经在机器A安装好zabbix服务端,机器B安装好zabbix客户端

一、linux机器上操作

除了特别注明,以下在机器B(zabbix客户端)上进行操作

1.1、修改nginx配置文件nginx.conf,内容示例如下

修改完后重启nginx:/usr/local/nginx/sbin/nginx -s reload

1.2、 Nginx 监控脚本 nginx_status.sh内容如下

shell脚本开始》》》》》》

#!/bin/bash

HOST="127.0.0.1"

PORT="8999"

#检查nginx进程是否存在

function ping {

    /sbin/pidof nginx | wc -l

}

#采集nginx数据

function active {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'

}

function reading {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'

}

function writing {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'

}

function waiting {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'

}

function accepts {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'

}

function handled {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'

}

function requests {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'

}

# 执行function

$1

shell脚本结束《《《《《

将 nginx_status.sh放在目录/etc/zabbix/zabbix_agentd.d里

1.3、配置zabbix_agentd.conf,定义监控脚本key

vim /etc/zabbix/zabbix_agentd.conf

修改:UnsafeUserParameters=1

添加:UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh

修改完后重启zabbix客户端:service zabbix-agent restart

1.4、进行访问测试检测:

curl http://127.0.0.1:8999/status

1.5、在zabbixf服务端连接测试

/usr/bin/zabbix_get -s IP(zabbix客户端ip) -p 10050 -k nginx.status[accept]

二、进入 zabbix web界面配置监控模板

https://blog.51cto.com/13481789/2363477

问题1:根据链接配置好后页面出现:Unsupported item key

解决办法:

你可能感兴趣的:(zabbix监控nginx)