zabbix监控nginx状态
我们要用zabbix来获取nginx的状态首先我们的nginx要支持 –with-http_stub_status_module模块。可以通过nginx -V来查看,如果没有配置那么请把nginx平滑升级,这里不在描述。
如果有这个模块那么我们就开始来启用nginx status配置在默认主机里面加上location或者你希望能访问到的主机里面。
[root@koby ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 82;
location /nginx_stat {
stub_status on;
access_log off;
allow 39.106.6.114; #允许的ip
allow 127.0.0.1;
deny all;
}
}
重启nginx
nginx -s reload
查看链接状态
[aaa@qq.com ~]# curl http://127.0.0.1:82/nginx_stat
Active connections: 2
server accepts handled requests
22421 22421 75450
Reading: 0 Writing: 1 Waiting: 1上传监控nginx的脚本
[aaa@qq.com ~]# cd /usr/local/zabbix-3.4.4/scripts/
[aaa@qq.com scripts]# cat nginx_status.sh
#!/bin/bash
HOST="39.106.6.114" #这里的地址要写自己的
PORT="82" #端口号和配置文件中的nginx_stat
function proc_num {
num=$(pgrep nginx |wc -l)
}
function active {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |grep 'Active' |awk '{print $NF}')
}
function reading {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |grep 'Reading' |awk '{print $2}')
}
function writing {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |grep 'Writing' |awk '{print $4}')
}
function waiting {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |grep 'Waiting' |awk '{print $6}')
}
function accepts {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |awk NR==3 |awk '{print $1}')
}
function handled {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |awk NR==3 |awk '{print $2}')
}
function requests {
num=$(curl -s "http://$HOST:$PORT/nginx_stat" |awk NR==3 |awk '{print $3}')
}
$1
echo ${num:-0}
[aaa@qq.com scripts]# chmod 755 nginx_status.sh & chown -R zabbix.zabbix nginx_status.sh
脚本已经改好接下来我们把userparameter_nginx.conf放到zabbix_agentd.conf.d中
[root@koby ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@koby zabbix_agentd.conf.d]# cat userparameter_nginx.conf
UserParameter=nginx.status[*],/usr/local/zabbix-3.4.4/scripts/nginx_status.sh $1
重启zabbix_agentd
[aaa@qq.com ~]# service zabbix_agentd restart
Shutting down zabbix_agentd: [ OK ]
Starting zabbix_agentd: [ OK ]我们在zabbix上有关监控nginx的已经配置好了 剩下我们开始配置zabbix上的模板导入模板并监控
导入模板
把所选主机添加模板链接
检查监控项是否是正常的
这里显示监控项是正常的说明我们的nginx监控是没有问题的那么我们来看下是否出现了该有的图像
至此我们又用zabbix监控了nginx的性能,但是还有个问题,就是我们知道nginx作为前端服务器通常上面会挂着很多机器和很多域名,比如我们有A的域名和B的域名,我们如何用zabbix来分别监控出A域名此时有多少连接,B域名此时有多少连接,又该怎么办呢?
如在配置当中遇到问题 希望在评论区留下您的问题 希望我们共同进步
上一篇: zabbix监控nginx状态
下一篇: labelimg使用方法:如何标注图片