zabbix-3.4监控nginx-1.14.0状态

zabbix需要监控nginx,则nginx需要配置nginx_status
[[email protected] scripts]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
如果没有添加此模块可以编译添加 http://blog.51cto.com/10158955/2141048
vi /usr/local/nginx/conf/nginx.conf
location /ngx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.254.131; #(zabbix服务器的IP地址,一般是内网地址)
deny all;
}
检测--with-http_stub_status_module参数是否生效

编写客户端脚本 vi /etc/zabbix/scripts/nginx_status.sh
赋予执行权限chmod +x vi /etc/zabbix/scripts/nginx_status.sh 内容如下:
#!/bin/bash
HOST="192.168.254.131"
PORT="80"

检测nginx进程是否存在

function ping {
/sbin/pidof nginx | wc -l
}

检测nginx性能

function active {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep ‘Active‘ | awk ‘{print $NF}‘
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep ‘Reading‘ | awk ‘{print $2}‘
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep ‘Writing‘ | awk ‘{print $4}‘
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep ‘Waiting‘ | awk ‘{print $6}‘
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $1}‘
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $2}‘
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $3}‘
}

执行function

$1
将自定义的UserParameter加入zabbix_agentd.conf配置文件,然后重启agentd
vi /etc/zabbix/zabbix_agentd.conf
UserParameter=nginx.status[*],/bin/bash /etc/zabbix/scripts/nginx_status.sh $1
重启agentd
/etc/init.d/zabbix-agent restart
模板附件下载:zabbix_monitor_nginx_template_ttlsa_com
http://www.ttlsa.com/wp-content/uploads/2015/10/zabbix_monitor_nginx_template_ttlsa_com.zip
导入模板:配置、模板、导入模板

给该主机添加nginx的监控项:

完成,查看图形:

原文地址:http://blog.51cto.com/10158955/2141367

时间: 2024-07-31 08:26:07

zabbix-3.4监控nginx-1.14.0状态的相关文章

zabbix_sender主动上传k/v监控nginx日志状态码

目前的zabbix监控了900台左右服务器,大概有11万items,zabbix在工作时根据agent的工作特点分为主动模式和被动模式,实际上一般开启兼容模式.在items多了后,有一些速度慢的items如果不采用主动模式,会把server端拖死,而zabbix_sender其实是一种变相的主动模式,配合计划任务,主动将k/v上传到zabbix,现将nginx日志zabbix_sender实现状态码的监控抛砖引玉做下介绍. 一.agent端编写脚本和计划任务 需求是监控nginx日志的200.4

【Zabbix】在CentOS7上安装Zabbix3.0

Zabbix安装 首先说明一下,本文主要参考了[http://www.linuxidc.com/Linux/2016-11/137030.htm]和[http://www.cnblogs.com/XYJK1002/p/5324293.html]两篇文章.在两者的基础上做了些小总结和小错误的修正(当然也可能不是错误,只是因为一些环境或其他原因而不同的操作而已). 一直想给测试环境也装一套Zabbix用来监控,这次刚好为了修复之前的SQL注入的漏洞,首先在自己的虚拟机上练一练手.令人高兴的是,安装过

zabbix监控nginx性能状态

nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,来发现出来出现的问题.nginx处理流程图具体如下: 注释:Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Reading(读).Writing(写)随着请求量而增减 名称 描述 指标类型 Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能 Handled(已处理) 成功的客户端连接数 资源: 功能

【 Zabbix 】— 监控nginx

一.环境说明 OS:centos6.7 x64 nginx:nginx/1.9.9 ZABBIX:2.4.8 zabbix监控nginx是根据nginx的stub_status模块,抓取status模块所提供的数据. 如果要开启stub_status模块就需要在编译时,添加 --with-http_stub_status_module 参数. 二.修改nginx配置文件 [[email protected] sbin]# cd /usr/local/nginx/conf/ [[email pro

zabbix监控 nginx 进程

参考 http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看"文件在后台运行数量"所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下: <name>:进程名称,默认为"all processes": <user>:用户名,默认 "al

手把手教你使用zabbix监控nginx

zabbix监控nginx,多亏了容哥(杨容)的帮忙,为了感谢容哥的帮助,写了这篇文章. 环境介绍: 服务器系统版本:CentOSrelease 6.6 (Final) 内核版本:Linux hk_nginx2.6.32-504.3.3.el6.x86_64 ZabbixServer版本:Zabbix server v2.2.2 ZabbixAgent 版本:Zabbix agent v2.2.2 Nginxweb 版本:nginx version: nginx/1.5.8 在zabbix ag

zabbix用户自定义key检测内存信息和监控nginx的状态页

用户自定义key: 位置:在zabbix agent端实现: zabbix_agent.conf UserParamenter 语法格式: UserParamenter=<key>,<command> 示例: ~]# vim /etc/zabbix/zabbix_agentd.conf UserParameter=memory.free,cat /proc/meminfo | awk '/^MemFree:/{print $2}' # 没有参数时,如果要使用$,正常使用即可,如果是

Zabbix监控nginx服务进程状态

zabbix监控nginx需要开启nginx status,要确认nginx编译http_sub_module模块! 1.检查当前nginx是否安装配置http_sub_module模块 # nginx -V Tengine version: Tengine/1.5.2 (nginx/1.2.9) built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --p

zabbix3.0.4监控nginx性

在zabbix agentd客户端上,查看nginx是否加载了–with-http_stub_status_module.因为zabbix监控nginx是根据nginx的Stub Status模块,抓取Status模块所提供的数据.假如以前没开启,现在想启用StubStatus 模块,在编译nginx 的时候要加上参数 –with-http_stub_status_module,执行./configure && make就可以了,不用make install.不过,一般情况下都是安装了的.