zabbix监控nginx连接状态(转)
zabbix监控nginx
zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号、是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数、请求数和句柄数)。下面我们使用zabbix监控nginx。
nginx的安装
如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块。
1.解压安装包:
[root@server5 mnt]# tar xvf nginx-1.6.2.tar.gz
2.在安装目录下进行模块配置: 
3.安装配置的选项:
手动采集nginx数据
安装结束后,在nginx的安装目录(默认是/usr/local/nginx)下我们需要对nginx的主配置文件进行修改,如果nginx能够支持状态信息的显示可以在nginx的版本中进行查看:
1.查看模块是否安装成功:
可以看到已经拥有了–with-http_stub_status_module模块。
2.修改配置文件/usr/loca/nginx/conf/nginx.conf,在http部分添加指定的server服务:
注意:配置只允许192.168.1.0/24网段的人查看nginx的状态,其他网段的人不可以查看。
3.修改完成后启动nginx服务,为了方便期间,可以把/usr/local/nginx/sbin/nginx文件建立软链接到/usr/bin/目录下:
4.开启nginx服务:
5.使用命令采集nginx的状态信息:
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:
8.在客户端重新启动zabbix-agent服务:
9.在服务端使用zabbix_get命令进行测试,查看是否能够顺利的获取数据,如果次操作可以执行,说明采集状态正常:
我们这里随机对四个数据尽心了测试发现是正常的。
添加到zabbix的监控项items
如果数据的采集都没有问题,那么就可以在web控制台进行items的添加。
我们以nginx.active为例,其他的类似操作:
可以看到所需要的items都已经生成完成,而且这些items都是属于nginx这个应用的:
生成graphs
我们可以对于nginx的服务状态进行可视化操作(生成对应的graphs):
创建screen进行多个graphs的显示:
创建agent1.example.com节点的nginx condition状态的screens完成:
可以看到nginx的accpets、requests、handled状态:
小结:
使用zabbix对于服务的监控步骤都很类似:
1.首先要手动的获取服务的状态;
2.然后编写脚本自动获取,然后写入agent的/etc/zabbix/zabbix-agentd.conf文件
3.在监控服务端zabbix-server进行相关的采集测试,如果能够成功则在web界面进行items和graphs的监控。
本文出自 “Null” 博客,请务必保留此出处http://kongshuai.blog.51cto.com/10178307/1737193
http://www.07net01.com/2016/01/1171292.html
zabbix监控nginx连接状态(转)的更多相关文章
- Zabbix监控Nginx性能状态
Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患,Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标 监控Nginx思路: 1)首先,要想监控 ...
- zabbix监控nginx日志状态码
监控需求 监控Nginx常见的状态码并对其进行监控,对常见的错误状态码创建相对应的触发器以下按照分钟对数据进行抓取 Zabbix_Agentd创建监控脚本 1)创建脚本之前核对Nginx日志格式我这里 ...
- ZABBIX监控TCP连接状态
一.获取监控数据 # /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' LISTEN ESTABLISHED T ...
- zabbix监控nginx服务状态
nginx需要安装--with-http_stub_status_module模块 $ nginx -V nginx version: nginx/1.12.2 built by gcc 4.8.5 ...
- zabbix监控nginx连接数量
#!/bin/bash conn=`netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' | grep "E ...
- Zabbix 监控 Nginx 状态
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) shell > /usr/local/nginx/sbin/ngi ...
- zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...
- Zabbix设置自定义监控项之——监控tcp连接状态
目录 一.用户自定义参数 二.配置 监控 TCP 连接状态 在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务.TCP 连接状态等等,这时候就需要自定义监控项.自定义 ...
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
随机推荐
- 高性能JavaScript模板引擎原理解析
随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时 javascript 被寄予了更大的期望,与此同时 javascript MVC ...
- css 水平居中的办法
<div style="width: 100%; text-align: center; margin: auto;"> <div style="dis ...
- [置顶] 单键模式的C++描述
设计模式-单键(Signelton):其实单键的设计模式说来很简单,说的直白一点就是程序运行过程中保证只有一个实例在运行而已.在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例, ...
- ASP.NET、WinForm - 判断整个页面文本框是否为空
foreach(Control ctrl in Page.Controls) { foreach(Control childc in ctrl.Controls) { switch(childc.Ge ...
- nginx的sendfile指令的作用
linux为了解决对读文件产生的从应用空间到内核空间复制数据产生的效率影响引进了零拷贝.什么是零拷贝?这里就不多说了,请参考http://blog.csdn.net/crazyguang/articl ...
- c++中编译器的作用
编译器的部分工作是寻找程序代码中的错误.编译器不能查出程序的意义是否正确. 但它能够查出程序形式上的错误.以下是编译器能查出的最普遍的一些错误: (1)语法错误.程序猿犯了c++语言中的语法错误. ( ...
- Linux编程实现守护进程
Linux 守护程序 守护进程(Daemon)它是在一个特定的过程的背景进行.它独立于控制终端的和周期性地执行某些任务或待某些事件.是一种非常实用的进程. Linux的大多数server就是用守护进程 ...
- [精读]Spationtemporal Saliency Detection Using Textural Contrast and Its Applications
Spationtemporal Saliency Detection Using Textural Contrast and Its Applications Last Edit 2013/12/3 ...
- 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)
源:http://www.right.com.cn/forum/thread-191833-1-1.html 属于我的上一个帖子的升级版,基本属于无脑操作,点击恢复就可以自动刷好breed,浏览上传新 ...
- 与众不同 windows phone (9) - Push Notification(推送通知)之概述, 推送 Toast 通知
原文:与众不同 windows phone (9) - Push Notification(推送通知)之概述, 推送 Toast 通知 [索引页][源码下载] 与众不同 windows phone ( ...