zabbix监控nginx的状态页面

zabbix监控nginx的状态页面

1.环境说明

主机名ip主机服务
zabbix192.168.200.42zabbix_server+zabbix_agent(需在lamp或lnmp上部署)
nginx192.168.200.46nginx+zabbix_agent

2.在nginx上按住zabbix_agent

#关闭防火墙
[root@nginx ~]# systemctl disable --now firewalld
[root@nginx ~]# setenforce 0
#创建zabbix用户账户
[root@nginx ~]# useradd -r -M -s /sbin/nologin zabbix
#下载zabbix源码包 并 解压
[root@nginx ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.6.tar.gz
[root@nginx ~]# tar xf zabbix-6.4.6.tar.gz
[root@nginx ~]# ls
anaconda-ks.cfg  zabbix-6.4.6  zabbix-6.4.6.tar.gz
#安装依赖包
[root@nginx ~]# yum -y install gcc gcc-c++ make pcre-devel
#配置Configure文件
[root@nginx zabbix-6.4.6]# ./configure --enable-agent
***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
#编译安装
[root@nginx zabbix-6.4.6]# make install
#设置zabbix——agentd服务开机自启
[root@nginx zabbix-6.4.6]# cp /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/zabbix_agentd.service
[root@nginx zabbix-6.4.6]# vim /usr/lib/systemd/system/zabbix_agentd.service
[root@nginx zabbix-6.4.6]# cat /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agentd 
After=network.target 

[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=pkill zabbix_agentd
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
#更改 /usr/local/etc/zabbix_agentd.conf 配置文件
[root@nginx ~]# 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.200.42
ServerActive=192.168.200.42
Hostname=nginx

[root@nginx etc]# systemctl daemon-reload
[root@nginx etc]# systemctl enable --now zabbix_agentd
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix_agentd.service → /usr/lib/systemd/system/zabbix_agentd.service.
[root@nginx etc]# ss -antl
State         Recv-Q        Send-Q               Local Address:Port                  Peer Address:Port        
LISTEN        0             128                        0.0.0.0:22                         0.0.0.0:*           
LISTEN        0             128                        0.0.0.0:10050                      0.0.0.0:*           
LISTEN        0             128                              *:80                               *:*           
LISTEN        0             128                           [::]:22       

3.开启nginx状态显示页面

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx ~]# cat /usr/local/nginx/conf/nginx.conf
......
location /status {
          stub_status on;
          allow 192.168.200.0/24;       //放行的ip,要放行本机和zabbix服务端   
        }
       
#重启服务后查看nginx状态页面
[root@nginx ~]# nginx -s stop 
[root@nginx ~]# nginx
[root@nginx ~]# curl http://192.168.200.46/status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0

#为监控nginx状态编写脚本文件
[root@nginx ~]# mkdir /scripts && cd /scripts
[root@nginx scripts]# vim nginx_status.sh
[root@nginx scripts]# chmod +x nginx_status.sh
[root@nginx scripts]# cat nginx_status.sh 
#!/bin/bash
  
if [ $1 == 'reading' ]; then
      curl -s 192.168.200.46/status | awk 'NR==4{print $2}'

elif [ $1 == 'writing' ]; then
      curl -s 192.168.200.46/status | awk 'NR==4{print $4}'

elif [ $1 == 'waiting' ]; then
      curl -s 192.168.200.46/status | awk 'NR==4{print $6}'
fi

#进入配置文件,创建自定义监控任务
[root@nginx ~]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_nginx[*],/bin/bash /scripts/nginx_status.sh $1

#因为我们修改了配置文件,所以需要重启服务,重新读取配置文件内容
[root@nginx ~]# systemctl restart zabbix_agentd.service

#创建自定义监控任务后,我们需要在server端去测试一下是否能接受到被监控端的值
[root@zabbix ~]# zabbix_get -s 192.168.200.46 -k check_nginx['reading']
0
[root@zabbix ~]# zabbix_get -s 192.168.200.46 -k check_nginx['writing']
1
[root@zabbix ~]# zabbix_get -s 192.168.200.46 -k check_nginx['waiting']
0

4.zabbix的web界面配置

4.1创建监控主机

在这里插入图片描述

4.2创建监控项目

在这里插入图片描述

在这里插入图片描述

4.3添加触发器

在这里插入图片描述

在这里插入图片描述

4.4测试

测试前,无驻留连接

[root@nginx ~]# curl http://192.168.200.46/status
Active connections: 1 
server accepts handled requests
 31 31 31 
Reading: 0 Writing: 1 Waiting: 0 

测试后,驻留连接大于3,警报

[root@nginx ~]# curl http://192.168.200.46/status
Active connections: 5 
server accepts handled requests
 111 111 199 
Reading: 0 Writing: 1 Waiting: 4 

[root@nginx ~]# curl http://192.168.200.46/status
Active connections: 5
server accepts handled requests
111 111 199
Reading: 0 Writing: 1 Waiting: 4
``
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值