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

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix添加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)

以上是关于zabbix添加nginx自定义监控项的步骤的主要内容,如果未能解决你的问题,请参考以下文章

zabbix自定义监控项一

zabbix添加nginx监控

zabbix的添加自定义监控项目配置邮件告警测试告警

使用 Zabbix 监控 Nginx MySQL,以及自定义监控项

zabbix自定义监控实现思路以及自定义监控某个端口的连接数

实战案例:Zabbix 对 Nginx的监控