zabbix添加nginx自定义监控项的步骤

本文介绍了如何在Zabbix中添加自定义监控项来监控Nginx的活动连接和状态。首先,通过Shell或Python脚本获取监控数据,然后在Zabbix Agent配置文件中添加UserParameter调用脚本,重启Agent服务。接着,使用zabbix_get测试监控项数据获取。最后,在Zabbix Server创建模板并添加监控项,关联到主机后即可监控Nginx状态。
部署运行你感兴趣的模型镜像

目的

  • 使用zabbix监控nginx,通常可以添加自定义监控项,主要监控nginx活动连接和当前状态等具体内容。

nginx主要自定义监控项的取值

通过curl nginx的自带状态页,获得

  • Active connections当前处于活动状态的客户端连接数
  • accepts 已接受到的请求数
  • handled 已处理完成的请求数,通常等于accepts,除非超了排队
  • requests 客户发过来的请求项
  • Reading 正在读取的请求报文,值越大表示排队严重
  • Writing 正在返回的响应报文,值越大表示访问量越大
  • Waiting 等待响应客户的空连接数

口述自定义添加监控项步骤

  1. 首先使用命令测试获取到监控项的特定值,将命令放到脚本中,
  2. 再通过脚本测试可以获取到监控项的值,
  3. 而后在zabbix agent修改配置文件,添加UserParameter调用写好的脚本,保存修改后重启agent服务
  4. 接着在zabbix server使用zabbix_get命令测试一下自定义监控项能不能获取到zabbix agent的自定义监控值
    zabbix_get -s 指定主机IP -p 指定端口默认10050 -k 指定要传哪个监控项,如果没问题就能拿到自定义监控项的值了
  5. 最后就可以在zabbixServer界面添加模板,并在模板中添加自定义监控项,等到自定义监控项取到值了,就可以进行画图或者触发器了。

至此,zabbix添加自定义监控项完成

shell或者python脚本,增加nginx⾃定义指标做监控

通常使用shell或者python脚本,在zabbix增加对nginx的活动连接和当前状态等运行状态进行⾃定义指标做监控

1.通过shell或者python脚本获取到监控项的值
2.配置zabbix agent调⽤脚本获取监控项的数据,重启zabbix agent

# vim /etc/zabbix/zabbix_agentd.conf
300 UserParameter=nginx_status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh "$1" "$2" "$3"
# systemctl restart zabbix-agent

3.在zabbix server使⽤zabbix get测试监控项能否获取数据

zabbix_get -s 172.31.0.104 -p 10050 -k "reids_monitor["reids_monitor","6379","bytes"]"

4.在zabbix web创建模板,并在模板添加监控项、图形和触发器
5.将模板关联到主机,稍等⼏分钟,然后验证监控项数据

补充资料

通过curl nginx状态页 分析网站当前访问量

curl http://sun:123456@www.sunmy.pro/nginx_status 2> /dev/null |awk '/Reading/{print $2,$4,$6}'
0 1 15

nginx 自带状态页基本信息

#状态页用于输出nginx的基本状态信息:
#输出信息示例:
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
## 上面三个数字分别对应accepts,handled,requests三个值
Reading: 6 Writing: 179 Waiting: 106
  • Active connections: #当前处于活动状态的客户端连接数,包括连接等待空闲连接数=reading+writing+waiting
  • accepts:#统计总值,Nginx自启动后已经接受的客户端请求连接的总数。
  • handled:#统计总值,Nginx自启动后已经处理完成的客户端请求连接总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接
  • requests:#统计总值,Nginx自启动后客户端发来的总的请求数。
  • Reading:#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足
  • Writing:#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大
  • Waiting:#当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing)

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值