Zabbix监控nginx

作者:黄兆平 于 2020年05月24日 发布在分类/ 运维

Agent服务器上的配置:


1.  配置nginx启用status状态页

参考 http://gudaoyufu.com/?p=850


nginx添加以下配置之后reload一下:

location /status {
    stub_status on;
    allow 127.0.0.1;
    access_log off;
}


2.  新建shell脚本,用于查询nginx状态,要记得给shell添加执行权限!

mkdir  /script

cd /script

vi ngx_status.sh


shell脚本内容如下:

#! /bin/bash

HOST="127.0.0.1"
PORT="80"


function ping {
/sbin/pidof nginx | wc -l
}

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}'
}

$1

3. 修改zabbix_agentd.conf(在Zabbix angent安装目录下),启用自定义key


vim /etc/zabbix/zabbix_agentd.conf


#把UnsafeUserParameters设置为1,默认为0,表示不允许自定义key
UnsafeUserParameters=1

4. 新建配置文件定义针对nginx的自定义监控项

vi /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf


内容如下,注意这里的路径就是第二步shell文件存放的路径

UserParameter=nginx.status[*],/script/ngx_status.sh $1


5. 重启Zabbix Agent

systemctl restart zabbix-agent.service


服务器上的配置到此结束。



打开服务端管理页面:

http://192.168.10.22/zabbix/zabbix.php?action=dashboard.view


依次选择配置->模板->导入

导入文件: zabbix_nginx.xml


主机绑定上一步新建的nginx模板

到这里配置完成。


查看nginx监控数据:


分享到朋友圈 分享到微信
发表评论
验证码