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连接状态(转)的更多相关文章

  1. Zabbix监控Nginx性能状态

    Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患,Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标 监控Nginx思路: 1)首先,要想监控 ...

  2. zabbix监控nginx日志状态码

    监控需求 监控Nginx常见的状态码并对其进行监控,对常见的错误状态码创建相对应的触发器以下按照分钟对数据进行抓取 Zabbix_Agentd创建监控脚本 1)创建脚本之前核对Nginx日志格式我这里 ...

  3. ZABBIX监控TCP连接状态

    一.获取监控数据 # /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' LISTEN ESTABLISHED T ...

  4. zabbix监控nginx服务状态

    nginx需要安装--with-http_stub_status_module模块 $ nginx -V nginx version: nginx/1.12.2 built by gcc 4.8.5 ...

  5. zabbix监控nginx连接数量

    #!/bin/bash conn=`netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' | grep "E ...

  6. Zabbix 监控 Nginx 状态

    简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) shell > /usr/local/nginx/sbin/ngi ...

  7. zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态

    zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...

  8. Zabbix设置自定义监控项之——监控tcp连接状态

    目录 一.用户自定义参数 二.配置 监控 TCP 连接状态 在实际监控中,除了官方自带的一些监控项,我们很多时候有一些定制化监控,比如特定的服务.TCP 连接状态等等,这时候就需要自定义监控项.自定义 ...

  9. Zabbix 监控 Nginx(四)

    简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...

随机推荐

  1. 【AllJoyn专题】基于AllJoyn和Yeelink的传感器数据上传与指令下行的研究

    接触高通物联网框架AllJoyn不太久,但确是被深深地吸引了.在我看来,促进我深入学习的原因有三点:一.AllJoyn开源,对开源的软硬件总会有种莫名的喜爱,虽然或许不会都深入下去:二.顺应潮流,物联 ...

  2. hadoop拷贝文件时 org.apache.hadoop.ipc.RemoteException异常的解决

    1.系统或hdfs是否有空间 2.datanode数是否正常 3.是否在safemode 4.防火墙关闭 5.配置方面 6.把NameNode的tmp文件清空,然后重新格式化NameNode

  3. Beautiful Soup 中文文档

    Beautiful Soup 3.0 中文文档说明: http://www.crummy.com/software/BeautifulSoup/bs3/documentation.zh.html Be ...

  4. c# 文件/文件夹操作

    1.判断文件夹是否存在并创建 if (!Directory.Exists(tempFolderName)) { Directory.CreateDirectory(tempFolderName); }

  5. linux下编译原理分析

    linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就能够执行:在这个简单的命令后面隐藏了很多复杂的过程,这个过程包含了以下的步骤: ================= ...

  6. 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

    原文:[ASP.NET Web API教程]3.3 通过WPF应用程序调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  7. 自适应滤波器(Adaptive Filter)

    ======= Wikipedia的解释 ======= 自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器.作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函 ...

  8. 14.6.1 Creating InnoDB Tables 创建InnoDB 表:

    14.6.1 Creating InnoDB Tables 创建InnoDB 表: 创建一个InnoDB 表,使用CREATE TABLE 语句,你不需要指定 ENGINE=InnoDB子句 如果In ...

  9. IIS部署asp.net报404错误

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加.     2).所建网站->(右键)属性->ASP.NET选项卡->版本是否 ...

  10. Swift - 属性观察者(willSet与didSet)

    属性观察者,类似于触发器.用来监视属性的除初始化之外的属性值变化,当属性值发生改变时可以对此作出响应.有如下特点: 1,不仅可以在属性值改变后触发didSet,也可以在属性值改变前触发willSet. ...