| 目的使用zabbix监控nginx,通常可以添加自定义监控项,主要监控nginx活动连接和当前状态等具体内容。
 nginx主要自定义监控项的取值通过curl nginx的自带状态页,获得 Active connections当前处于活动状态的客户端连接数accepts 已接受到的请求数handled 已处理完成的请求数,通常等于accepts,除非超了排队requests 客户发过来的请求项Reading 正在读取的请求报文,值越大表示排队严重Writing 正在返回的响应报文,值越大表示访问量越大Waiting 等待响应客户的空连接数
 口述自定义添加监控项步骤首先使用命令测试获取到监控项的特定值,将命令放到脚本中,再通过脚本测试可以获取到监控项的值,而后在zabbix agent修改配置文件,添加UserParameter调用写好的脚本,保存修改后重启agent服务接着在zabbix server使用zabbix_get命令测试一下自定义监控项能不能获取到zabbix agent的自定义监控值zabbix_get -s 指定主机IP -p 指定端口默认10050 -k 指定要传哪个监控项,如果没问题就能拿到自定义监控项的值了
最后就可以在zabbixServer界面添加模板,并在模板中添加自定义监控项,等到自定义监控项取到值了,就可以进行画图或者触发器了。
 至此,zabbix添加自定义监控项完成 shell或者python脚本,增加nginx?定义指标做监控通常使用shell或者python脚本,在zabbix增加对nginx的活动连接和当前状态等运行状态进行?定义指标做监控 1.通过shell或者python脚本获取到监控项的值2.配置zabbix agent调?脚本获取监控项的数据,重启zabbix agent
 
300 UserParameter=nginx_status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh "$1" "$2" "$3"
 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 自带状态页基本信息
Active connections: 291
server accepts handled requests
16630948 16630948 31070465
Reading: 6 Writing: 179 Waiting: 106
 Active connections: #当前处于活动状态的客户端连接数,包括连接等待空闲连接数=reading+writing+waitingaccepts:#统计总值,Nginx自启动后已经接受的客户端请求连接的总数。handled:#统计总值,Nginx自启动后已经处理完成的客户端请求连接总数,通常等于accepts,除非有因worker_connections限制等被拒绝的连接requests:#统计总值,Nginx自启动后客户端发来的总的请求数。Reading:#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足Writing:#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大Waiting:#当前状态,正在等待客户端发出请求的空闲连接数,开启 keep-alive的情况下,这个值等于active – (reading+writing)
 |