• Zabbix监控Nginx的status


    Zabbix监控Nginx的status

    部署Zabbix监控Nginx的status

    环境说明

    主机名IP服务系统
    zabbix192.168.92.139zabbixcentos8
    nginx192.168.92.130nginx
    zabbix_agentd
    centos8

    前言:

    部署zabbix不作演示,请参考此篇博客==> 部署zabbix监控服务

    nginx开启状态页面

    nginx能开启状态页面的前提是安装了这个模块,你可以nginx -V查看一下编译参数里有无--with-http_stub_status_module

    [root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
    ...................
            location = /status {
                stub_status;
                allow 127.0.0.1;	 #允许本机访问
                allow 192.168.92.1;		#允许真实本机访问
                deny all;			#拒绝所有其它的主机
            }
    ...................
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    验证是否能访问,不能访问则无法监控状态

    [root@nginx ~]# curl http://127.0.0.1/status
    Active connections: 1
    server accepts handled requests
     2 2 2
    Reading: 0 Writing: 1 Waiting: 0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    去浏览器验证真实本机是否能访问

    image-20221013231731147

    在nginx服务器安装zabbix_agentd并配置监控脚本

    安装zabbix_agentd

    #新增zabbix用户
    [root@nginx ~]# useradd -rMs /sbin/nologin zabbix
    #安装依赖包
    [root@nginx ~]# dnf -y install make gcc gcc-c++ pcre-devel openssl openssl-devel wget
    #下载zabbix并解压
    [root@nginx ~]# cd /usr/local/src/
    [root@nginx src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.3.tar.gz
    [root@nginx src]# tar -xf zabbix-6.2.3.tar.gz
    #编译安装zabbix_agentd
    [root@nginx zabbix-6.2.3]# ./configure --enable-agent
    ......预编译过程略...........
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
    [root@nginx zabbix-6.2.3]# make install
    #连接到zabbix服务端
    [root@nginx zabbix-6.2.3]# cd /usr/local/etc/
    [root@nginx etc]# ls
    zabbix_agentd.conf  zabbix_agentd.conf.d
    [root@nginx etc]# vim zabbix_agentd.conf
    .......................
    Server=192.168.92.139		#填写zabbix服务端的IP地址
    .......................
    ServerActive=192.168.92.139		#填写zabbix服务端的IP地址
    .......................
    Hostname=nginx		#该主机可自定义,但要全局唯一。在web管理界面中添加主机要用到该主机名,两边须一致方可识别
    .......................
    #启动zabbix_agentd
    [root@nginx etc]# zabbix_agentd
    #zabbix_agentd的默认端口是10050
    [root@nginx etc]# ss -anlt | grep 10050
    LISTEN 0      128          0.0.0.0:10050      0.0.0.0:*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    编写并配置监控脚本

    #编写监控脚本
    [root@nginx ~]# mkdir /scripts
    [root@nginx ~]# cd /scripts
    [root@nginx scripts]# vim nginx_status.sh
    #!/bin/bash
    
    case $1 in
        Reading)
            curl -s 127.0.0.1/status |awk "NR==4{print\$2}"
            ;;
        Writing)
            curl -s 127.0.0.1/status |awk "NR==4{print\$4}"
            ;;
        Waiting)
            curl -s 127.0.0.1/status |awk "NR==4{print\$6}"
        ;;
        *)
            exit
            ;;
    esac
    [root@nginx scripts]# chmod +x nginx_status.sh
    
    #配置监控脚本
    [root@nginx scripts]# vim /usr/local/etc/zabbix_agentd.conf
    .............
    UnsafeUserParameters=1
    UserParameter=nginx_status[*],/bin/bash /scripts/nginx_status.sh $1
    [root@nginx scripts]# pkill zabbix_agentd
    [root@nginx scripts]# zabbix_agentd
    
    #去zabbix服务端检查key是否可用
    [root@zabbix ~]# zabbix_get -s 192.168.92.130 -k nginx_status[Waiting]
    2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    在zabbix的Web界面配置监控nginx

    1. 添加主机

    image-20221013231101001

    1. 添加监控项

    监控Reading

    image-20221013234227344

    监控Writing

    image-20221013234356071

    监控Waiting

    image-20221013234451418

    image-20221013234520694

    查看是否有监控返回的值,有值则说明监控成功了

    image-20221013234633764

    image-20221013234704555

    image-20221013234730877

    1. 添加触发器

    在企业中要视具体服务器情况而作配置。

  • 相关阅读:
    一个合格的vue工程师必会的20道面试题
    Docker的数据管理
    在c#中使用CancellationToken取消任务
    Java面向对象编程
    软件测试零基础入门好学吗?
    [附源码]计算机毕业设计中小学课后延时服务管理系统Springboot程序
    Redis 常见面试题
    Linux之NFS服务器
    【网络篇】第九篇——多线程版的TCP网络程序
    Problem A: 检查数中重复的数字
  • 原文地址:https://blog.csdn.net/m0_50111062/article/details/127311925