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

查看链接状态

[root@koby ~]# 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的脚本

[root@koby ~]# cd /usr/local/zabbix-3.4.4/scripts/
[root@koby 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}

[root@koby 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

[root@koby ~]# 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域名此时有多少连接,又该怎么办呢?

如在配置当中遇到问题 希望在评论区留下您的问题 希望我们共同进步

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值