利用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. Task 6.2冲刺会议五 /2015-5-18

    今天继续深入的看了看服务器的内容,修改了昨天的代码,发现网络编程还是很好玩的,感觉他的代码比平常写的更有趣一点,另外登陆界面也稍微看了一点.明天准备把登陆界面完善一下.

  2. Android里面安装windows系统

        安装前请确认以下条件:①:存储卡需要有大于302M的空间. 下载安装:1.下载文件并安装:①:下载地址:http://kuai.xunlei.com/d/hWIkAAIkJwAawgZUa3c ...

  3. struts2 jsp提交对象数据要这么干

    不要每个属性都 setter getter .. 这样页面很难看... 直接 把对象变成一个成员变量会比较好. Java code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  4. 韩剧TV APP案例分析

    产品 选择产品:韩剧TV 版本:Android版 选择理由:节假日坐车回家时使用较多次数的APP,刚好国庆坐车回家时正在使用,所以选择了这款APP. 第一部分:调研.评测 第一次上手体验 刚打开APP ...

  5. ADT图及图的实现及图的应用

    图: 图中涉及的定义: 有向图: 顶点之间的相关连接具有方向性: 无向图: 顶点之间相关连接没有方向性: 完全图: 若G是无向图,则顶点数n和边数e满足:0<=e<=n(n-1)/2,当e ...

  6. Windows 10 正式版原版ISO镜像

    Win10正式版32位简体中文版(含家庭版.专业版)文件名: cn_windows_10_multiple_editions_x86_dvd_6846431.isoSHA1:21B824F402927 ...

  7. QObject 源代码阅读

    我们进入 qt/src 文件夹.你可能对这里的目录名时曾相识,因为几乎这里的所有文件夹名都对应着 Qt 的模块的名字:gui,network,multimedia等等.我们从最核心的 QtCore 开 ...

  8. centos7防火墙操作

    启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : s ...

  9. ASP.NET Core 2 学习笔记

    之前的ASP.NET网站,只要把*.html.*.css.*.jpg.*.png.*.js等静态文件放在项目根目录,默认都可以直接被浏览:但ASP.NET Core 小改了浏览静态文件的方式,默认根目 ...

  10. JS中JSON对象和JSON字符串的相互转化

    转:http://www.cnblogs.com/wbyp/p/7086318.html 一.JSON字符串转换为JSON对象 var str = '{"name":"c ...