设为首页 收藏本站
查看: 1246|回复: 0

[经验分享] zabbix监控nginx连接状态

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-22 09:27:36 | 显示全部楼层 |阅读模式
zabbix学习笔记:zabbix监控nginx连接状态
zabbix监控nginx
zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号、是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数、请求数和句柄数)。下面我们使用zabbix监控nginx。

nginx的安装
如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块。
1.解压安装包:
[iyunv@server5 mnt]# tar xvf nginx-1.6.2.tar.gz
2.在安装目录下进行模块配置:
20151230160739268.jpg
3.安装配置的选项:
20151230160823574.jpg

手动采集nginx数据
安装结束后,在nginx的安装目录(默认是/usr/local/nginx)下我们需要对nginx的主配置文件进行修改,如果nginx能够支持状态信息的显示可以在nginx的版本中进行查看:
1.查看模块是否安装成功:
20151230161054837.jpg
可以看到已经拥有了–with-http_stub_status_module模块。
2.修改配置文件/usr/loca/nginx/conf/nginx.conf,在http部分添加指定的server服务:
20151230161353329.jpg
注意:配置只允许192.168.1.0/24网段的人查看nginx的状态,其他网段的人不可以查看。
3.修改完成后启动nginx服务,为了方便期间,可以把/usr/local/nginx/sbin/nginx文件建立软链接到/usr/bin/目录下:
20151230161710985.jpg
4.开启nginx服务:
20151230161737126.jpg
5.使用命令采集nginx的状态信息:
20151230161848129.jpg
6.上述的信息是包括读、写等待以及连接数、请求数等内容,我们需要编写脚本信息进行单独采集。脚本内容如下所示:
#get_nginx_status.sh#nginx信息采集脚本#!/bin/bash#设置初始化信息NGINX_SERVER="192.168.1.108"NGINX_URL="http://${NGINX_SERVER}/status"#设置采集信息的方式function get_active {    curl -s ${NGINX_URL} | grep "Active" | awk -F ":" '{print $2}'}function get_reading {    curl -s ${NGINX_URL} | grep "Reading" | awk -F ":" '{print $2}' | awk -F " " '{print $1}'}function get_writing {    curl -s ${NGINX_URL} | grep "Writing" | awk -F ":" '{print $3}' | awk -F " " '{print $1}'}function get_waiting {    curl -s ${NGINX_URL} | grep "Waiting" | awk -F ":" '{print $4}' | awk -F " " '{print $1}'}function get_accepts {    curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $1}'}function get_handled {    curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $2}'}function get_requests {    curl -s ${NGINX_URL} | awk NR==3 | awk -F " " '{print $3}'}#获取用户的输入参数得到对应的值case $1 in     active)         get_active         ;;    reading)         get_reading         ;;    writing)         get_writing             ;;    waiting)         get_waiting         ;;    accepts)         get_accepts          ;;    handled)         get_handled         ;;    requests)         get_requests             ;;    *)         echo "Usage: $0 {active | reading | writing | waiting | accepts | handled | requests}"esac1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
7.完成脚本并且进行测试后,需要修改/etc/zabbix/zabbix-agentd.conf文件添加对应的UserParameter:
20151230230526530.jpg
8.在客户端重新启动zabbix-agent服务:
20151230230647591.jpg
9.在服务端使用zabbix_get命令进行测试,查看是否能够顺利的获取数据,如果次操作可以执行,说明采集状态正常:
20151230231757954.jpg
我们这里随机对四个数据尽心了测试发现是正常的。

添加到zabbix的监控项items
如果数据的采集都没有问题,那么就可以在web控制台进行items的添加。
20151230231938950.jpg
我们以nginx.active为例,其他的类似操作:
20151230232051916.jpg
可以看到所需要的items都已经生成完成,而且这些items都是属于nginx这个应用的:
20151230232514894.jpg

生成graphs
我们可以对于nginx的服务状态进行可视化操作(生成对应的graphs):
20151230232700831.jpg
创建screen进行多个graphs的显示:
20151230232835771.jpg
创建agent1.example.com节点的nginx condition状态的screens完成:
20151230233057780.jpg
可以看到nginx的accpets、requests、handled状态:
20151230233144542.jpg

小结:
使用zabbix对于服务的监控步骤都很类似:
1.首先要手动的获取服务的状态;
2.然后编写脚本自动获取,然后写入agent的/etc/zabbix/zabbix-agentd.conf文件
3.在监控服务端zabbix-server进行相关的采集测试,如果能够成功则在web界面进行items和graphs的监控。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-167853-1-1.html 上篇帖子: 使用zabbix的ICMP Ping模版实现对客户端网络状态的监控 下篇帖子: zabbix安装配置 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表