zabbix监控 nginx并发在线人数

柳三千

温馨提示:这篇文章已超过805天没有更新,请注意相关的内容是否还可用!

生产环境需求:

1、监控网站在线并发访问量

2、监控一天的网站访问量


实现思路:

1、利用http_stub_status_module,统计在线连接数

2、统计nginx当天日志,截取访问网站的ip地址


一、nginx文件配置

1、vim /usr/local/nginx/conf/nginx.conf

图片.png

检查配置文件

[root@WEB zabbix_agentd.conf.d]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重新加载配置文件

[root@WEB zabbix_agentd.conf.d]# /usr/local/nginx/sbin/nginx -s reload


访问nginx_status

http://ip地址/nginx_status


图片.png


二、zabbix_agent的配置文件注册key

1、获取在线并发连接数   Active connections:

curl -s http://localhost/nginx_status | grep Active | awk '{print $3}'

图片.png


2、获取网站一天ip地址访问量,sort排序,uniq去重,确保不会获取到同样的IP

图片.png


3、在zabbix_agent的配置文件注册key,可以参考 zabbix添加自定义监控项

添加以下两行:

UserParameter=nginx_active,curl -s http://localhost/nginx_status | grep Active | awk '{print $3}'
UserParameter=nginx_count,cat /usr/local/nginx/logs/access.log | awk '{print $ 1}' | sort | uniq | wc -l

记得重启zabbix_agent服务


4、测试连通性

图片.png

IP地址是被监控的客户端地址,能获取到数据,说明成功注册key;因为zabbix服务端与nginx服务在同一服务器上,所以我写的是本机地址。


三、zabbix网页端配置

可以参考 zabbix添加自定义监控项,依次创建模板->应用集->监控项->触发器->图形,我这边大概展示下配置及效果图

1、创建模板

图片.png


2、应用集

图片.png


3、监控项

图片.png

图片.png


4、触发器;并发在线连接数大于1000告警,统计网站一天的ip访问量就没必要设置触发器,单纯用来统计的一天总访问量。

图片.png


5、创建图形

图片.png


最终效果图:

图片.png

文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码