zabbix 3.0 nginx监控

一、zabbix agent端操作
1、查看nginx是否开启stub status
这里写图片描述
编译选项中必须包含–with-http_stub_status_module,如果没有,需要带上–with-http_stub_status_module重新编译nginx

2、配置nginx.conf

[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f conf]# vim nginx.conf

location /nginx_status {
              stub_status on;
              access_log   off;
        }
[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f conf]# cd ../sbin/
[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f sbin]# ./nginx -s reload

修改nginx.conf,重新加载nginx
3、实验nginx状态是否能获取

[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f sbin]# curl http://127.0.0.1:90/nginx_status
Active connections: 12 
server accepts handled requests
 7900753 7900753 23731956 
Reading: 0 Writing: 1 Waiting: 11

出现如上情况,说明配置成功
4、在zabbix客户端机器上创建nginx监控脚本

[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f zabbix]# cd /usr/local/zabbix/
[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f zabbix]# mkdir scripts
[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f zabbix]# vim scripts/nginx_status.sh
#!/bin/bash
case $1 in
    active)
        curl -s http://127.0.0.1:90/nginx_status | awk '/Active/ {print $3}' ;;
    accepts)
        curl -s http://127.0.0.1:90/nginx_status | awk 'NR==3 {print $1}' ;;
    handled)
        curl -s http://127.0.0.1:90/nginx_status | awk 'NR==3 {print $2}' ;;
    requests)
        curl -s http://127.0.0.1:90/nginx_status | awk 'NR==3 {print $3}' ;;
    reading)
        curl -s http://127.0.0.1:90/nginx_status | awk '/Reading/ {print $2}' ;;
    writing)
        curl -s http://127.0.0.1:90/nginx_status | awk '/Writing/ {print $4}' ;;
    waiting)
        curl -s http://127.0.0.1:90/nginx_status | awk '/Waiting/ {print $6}' ;;
    *)
        echo "Usage: $0 { active | accepts | handled | requests | reading | writing | waiting }" ;;
esac
[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f zabbix]# vim etc/zabbix_agentd.conf
在zabbix_agentd.conf末尾添加:
#nginx status
UserParameter=nginx.active,/usr/local/zabbix/scripts/nginx_status.sh active
UserParameter=nginx.accepts,/usr/local/zabbix/scripts/nginx_status.sh accepts
UserParameter=nginx.handled,/usr/local/zabbix/scripts/nginx_status.sh handled
UserParameter=nginx.requests,/usr/local/zabbix/scripts/nginx_status.sh requests
UserParameter=nginx.reading,/usr/local/zabbix/scripts/nginx_status.sh reading
UserParameter=nginx.writing,/usr/local/zabbix/scripts/nginx_status.sh writing
UserParameter=nginx.waiting,/usr/local/zabbix/scripts/nginx_status.sh waiting

5、重启zabbix_agentd

[root@VM-4ac91edd-f241-426b-bf24-a14dc5d1ae2f zabbix]# service zabbix_agentd restart

二、zabbix server管理页面端操作
1、创建模板(配置->模板->创建模板->填写模板名称->添加)
这里写图片描述
模板名称为Template App Nginx Service
这里写图片描述
2、给模板创建应用集
配置->模板,找到Template App Nginx Service模板,点击应用集,创建应用集(名称:Nginx status)
这里写图片描述
3、在刚创建的应用集中创建监控项
分别创建与zabbix_agentd.conf中对应的几个监控(nginx.accepts、nginx.active、nginx.handled、nginx.reading、nginx.requests、 nginx.waiting、 nginx.writing)
这里写图片描述
各个监控项创建好后结果如下,键值与zabbix_agentd.conf中用户参数一一对应(这里也可以看出zabbix进行各个监控项监控的套路。。)
这里写图片描述
这里写图片描述
4、创建图形
创建图形很好理解,如果不创建图形,nginx的状态无法直观的展示
这里写图片描述
以上1、2、3、4步骤就完成了nginx监控模板的配置,包括创建模本、创建应用集、在应用集中创建监控项、给监控项创建图形操作,在以后的针对不同应用(例如mysql、tomcat、redis等等)的监控时可以按照这个套路来进行,达到统一配置,统一应用到被监控主机,这样操作和后期的管理都会很清晰。
5、模板应用到被监控主机
配置->主机,选择要监控的主机名称,点击进去,添加刚创建的模板Template App Nginx Service即可
这里写图片描述
6、验证成功
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值