zabbix-监控nginx

本文介绍如何在Zabbix环境中部署Nginx并实现对其状态的监控。内容包括使用yum源安装Nginx,配置Nginx状态模块,编写监控脚本,设置自定义监控项,以及通过Zabbix Web界面进行监控配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.nginx七种status详解

  • Active:活跃的连接数量
  • accepts:总共处理了多少个连接
  • handled:成功创建多少次握手
  • requests:总共处理了多少个请求
  • Reading:读取客户端的链接数
  • Writing:响应数据到客户端的数量
  • Waiting:开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

2.在zabbix-02上部署nginx。

2.1使用yum源安装(重点不是nginx安装)

[root@zabbix-02 ~]# yum install nginx -y(先装epel源)
[root@zabbix-02 ~]# cat /etc/nginx/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  www.liang.com;
        location /nginx_status {###开启状态模块
                stub_status on;###
        }
        location / {
            root   /var/www/html;
            index  index.html index.htm;
        }
    }
}

2.2测试

[root@zabbix-02 ~]# tail -1 /etc/hosts
10.0.0.8 www.liang.com
[root@zabbix-02 ~]# curl http://www.liang.com/nginx_status
Active connections: 1 
server accepts handled requests
 167 167 173 
Reading: 0 Writing: 1 Waiting: 0

3.编写脚本,授权

3.1脚本内容

[root@zabbix-02 ~]# cat /server/scritp/nging_monitiring.sh 
#!/bin/bash
Host=www.liang.com
Port=80
Cache_status="/server/scritp/status.txt"
Status_message="/server/scritp/status_test.txt"
curl http://${Host}:${Port}/nginx_status > ${Status_message} 2>/dev/null
if [ ! -f "$Cache_status" ];then
        cat "$Status_message" > $Cache_status  2>/dev/null
fi
Status_time=`stat -c %Y $Cache_status`
Date=`date +%s`
if [ `expr $Date - $Status_time` -gt 60 ];then
        > $Cache_status
        cat $Status_message > $Cache_status 2>/dev/null
fi
nginx_active(){
        grep -i "active" $Cache_status|awk '{print $NF}'
}

nginx_reading(){
        grep -i "Reading" $Cache_status|awk '{print $2}'
}
nginx_writing(){
        grep -i "Writing" $Cache_status|awk '{print $4}'
}
nginx_waiting(){
        grep -i "Waiting" $Cache_status|awk '{print $NF}'
}
nginx_accepts(){
        awk 'NR==3{print $1}' $Cache_status
}
nginx_handled(){
        awk 'NR==3{print $2}' $Cache_status
}
nginx_requests(){
        awk 'NR==3{print $3}' $Cache_status
}
$1

3.2对脚本及文件授权

[root@zabbix-02 ~]# chown -R zabbix:zabbix /server/

4.自定义key

[root@zabbix-02 ~]# cat -n /etc/zabbix/zabbix_agentd.d/nginx_monitoring.conf  
     1  UserParameter=nginx_monitoring[*],bash  /server/scritp/nging_monitiring.sh $1
[root@zabbix-02 ~]# systemctl restart zabbix-agent

5.zabbix-server测试

[root@zabbix ~]# for i in requests handled accepts waiting writing reading active ;do zabbix_get -s 10.0.0.8 -k nginx_monitoring[nginx_${i}];done
212
206
206
0
1
0
1

6.zabbix-web界面操作

6.1创建模板

这里写图片描述

6.2创建监控项

这里写图片描述

6.3创建主机

这里写图片描述

6.4查看

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值