利用Zabbix监控Nginx

一、准备nginx监控模版:

1.1、下载nginx监控模版:

    点此下载

1.2、导入模版:

Zabbix管理页面,选择'配置'->'模版'->'导入':

然后将下载的模版文件上传。

现在,'配置'->'模版'中就会发现刚才上传的nginx模版:'Template App NGINX'

二、将模版应用与主机:

选择被监控主机->'模版',在'链接指示器'中选择'Template App NGINX','添加'->'更新',最后如下图:

三、客户端数据采集:

Zabbix监控端已配置完毕,现在需要将从被监控段采集的数据渲染到模版中。

3.1、定义采集nignx状态的脚本,如下:

#!/bin/bash

HOST='127.0.0.1'
PORT='' function ping {
/sbin/pidof nginx | wc -l
} function active {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Active' | awk '{print $NF}'
} function reading {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Reading' | awk '{print $2}'
} function writing {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Writing' | awk '{print $4}'
} function waiting {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
} function accepts {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $1}'
} function handled {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $2}'
} function requests {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $3}'
} $1

3.2、开启nginx状态配置:

vim nginx.conf,在server中添加如下:

......

location / {
stub_status on;
access_log off;
} ......

注意:启用stub_status的前提是在编译安装nginx时,需要添加'--with-http_stub_status_module'参数。

3.3、配置zabbix客户端采集脚本:

vim zabbix_agent.conf,添加UserParameter,使zabbix客户端调用采集脚本去采集数据:

UserParameter=nginx.status[*],/data/shell/nginxStatus.sh $1

经过以上配置后,reload nginx、重启zabbix_agentd即可。

以上就是zabbix监控nginx的配置过程。

友情提示:

如果你和我一样,在已经安装好的nginx上添加如上模块,又不想影响线上业务,请参考如下:

在已经运行的nignx中添加需要的模块?
1、首先使用nginx -V  查看当前编译时的参数
2、进入解压包,重新执行./configure 在原来添加的模块基础上,添加自己需要的模块
3、执行make(完成后切不可执行make install)
4、将生成的objs目录下的nginx二进制文件替换当前nginx/sbin/nginx文件即可(替换之前,记得备份) 

OK,到这里,真的就结束了。。。!

Zabbix应用四:Zabbix监控Nginx的更多相关文章

  1. ZABBIX 3.0 配置监控NGINX性能【OK】

    1.在agent端查看配置: nginx -V //查看编辑时是否加入状态监控模块:--with-http_stub_status_module --with-http_gzip_static_mod ...

  2. zabbix4.2学习笔记--监控nginx

    图解一个客户端连接开源版本的Nginx情况 Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Readin ...

  3. Zabbix 监控 Nginx(四)

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

  4. zabbix监控nginx连接状态(转)

    zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...

  5. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  6. zabbix自定义key监控nginx和fpm(网站并发数)

    一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...

  7. 四十九. Zabbix报警机制 、 Zabbix进阶操作 、 监控案例

    案例1:实现Zabbix报警功能 案例2:Zabbix自动发现 案例3:Zabbix主动监控 案例4:拓扑图与聚合图形 案例5:自定义监控案例 1 案例1:实现Zabbix报警功能 1.1 问题 沿用 ...

  8. 使用Zabbix监控Nginx服务实战案例

    使用Zabbix监控Nginx服务实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.编译安装nginx步骤详解并开启状态页 博主推荐阅读: https://www.cn ...

  9. Zabbix 监控 Nginx 状态

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

随机推荐

  1. Sprint会议2

    昨天:准备查找安卓APP开发的有关资料,安装有关软件 今天:自己制作一个安卓小程序,熟悉一下操作 遇到问题:安装遇到问题,环境配置出现问题

  2. self和super关键字介绍

    1.self和super OC提供两个保留字self 和 super ,用在方法定义中 OC语言中的self, 就相当于C++和Java中的this指针,学会使用self 首先要搞清楚属性这一概念以及 ...

  3. Hadoop HA 深度解析

    社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现. 为什么要Namenode HA? 1. NameNode High ...

  4. JDBC连接数据库代码和步骤

    JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序  在连接数据库之前,首先要加载想要连接的数据库的驱动,这通过java.lang.Class类的静态方法 ...

  5. 前端切图相关ps技术

    标签(空格分隔): 前端切图 复制图层到一个新的ps文件 对于单个图层 1.选中图层 2.CTRL+A全选 3.CTRL+C 4.CTRL+N新建文件,文件大小默认就可以(背景透明也在这个面板设置), ...

  6. 通过ctrl+r快速启动程序

    步骤1:在[我的电脑]右键-[系统属性]-[环境变量]中增加如图1设置并保存 步骤2:在图2中添加步骤1中增加的变量名并保存 步骤3:在ctrl+r的运行窗口中输入步骤1中的变量名即可快速启动程序   ...

  7. vue开发 ES5——> ES6设置

  8. html实现鼠标悬停变成手型实现方式

    1.采用a标签实现的方式 <a href="javascript:void()">内容</a> 2.采用CSS实现的方式 // 变手形 oElement.s ...

  9. SD/MMC相关寄存器的介绍

    1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一.OCR,CI ...

  10. VM ware 中win2008 找不到网卡驱动的解决办法之一

    在.vmx文件中用如下语句指定: ethernet0.virtualDev = "e1000" 其值为e1000指定网卡类型为Intel(R) PRO/1000(6.5默认为此项) ...