Zabbix安装部署六————监控nginx

Posted 亦涵爱吃肉吖c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix安装部署六————监控nginx相关的知识,希望对你有一定的参考价值。

一:环境准备,centos7.6 zabbix版本3.0.0 agent版本3.0.0(两种必须同版本才能实现)
确保firewalld和Selinux关闭
1.nginx配置

vim vim /etc/nginx/conf.d/default.conf
server 
    listen       80;
    server_name  localhost;

    location / 
        root   /usr/share/nginx/html;
        index  index.html index.htm;
     
     location /nginx_status 
        stub_status on;
        access_log off;
        allow 192.168.3.0/24;
        allow 127.0.0.1;
        deny all;
        
    
nginx -t
nginx -s reload
systemctl restart nginx

验证一下
2.安装agent,我的zabbix-server是3.0.0版本的,so

wget  https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.0-1.el7.x86_64.rpm
yum localinstall zabbix-agent-3.0.0-1.el7.x86_64.rpm

配置agent.conf,更改图中的参数,尽力不要自己编写源文件!

vim /etc/zabbix/zabbix_agentd.conf


二:编写shell脚本和新建自定义key
1.添加key的conf文件

cd /etc/zabbix/zabbix_agentd.d/
vim nginx_monitor.conf

加上这条,路径就是shell脚本存放的位置,脚本最好做好统一存放位置

UserParameter=nginx_status[*],/bin/bash /tmp/nginx_monitor.sh "$1"

2.去/tmp目录下新建shell脚本,代码直接套

vim /tmp/nginx_monitor.sh 

代码如下

#!/bin/bash
NGINX_PORT=80  
NGINX_COMMAND=$1
nginx_active()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Active/ print $NF

nginx_reading()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Reading/ print $2

nginx_writing()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Writing/ print $4
       
nginx_waiting()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk /Waiting/ print $6
       
nginx_accepts()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $1
       
nginx_handled()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $2
       
nginx_requests()
    /usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk NR==3 print $3
       
  case $NGINX_COMMAND in
active)
nginx_active;
;;
reading)
nginx_reading;
;;
writing)
nginx_writing;
;;
waiting)
nginx_waiting;
;;
accepts)
nginx_accepts;
;;
handled)
nginx_handled;
;;
requests)
nginx_requests;
;;
      *)
echo $"USAGE:$0 active|reading|writing|waiting|accepts|handled|requests"
    esac

重启(开启)zabbix-agent,查看状态是否ok,报错就看日志

systemctl start zabbix-agent
systemctl status zabbix-agent

3.Server端验证

[root@zbx-server ~]# zabbix_get -s 192.168.3.206 -p 10050 -k "nginx_status[writing]"
1


4.web端添加好主机,应用集,监控项,触发器,图形,即可

以上是关于Zabbix安装部署六————监控nginx的主要内容,如果未能解决你的问题,请参考以下文章

全网监控 nginx 部署 zabbix6.0

Zabbix安装和配置

ZABBIX4.4安装部署及服务器监控

zabbix添加nginx中间件监控

zabbix监控nginx进程

zabbix通过自定义脚本监控docker服务docker nginx容器,图文详细