zabbix监控nginx
nginx status详解
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
--------------------------------------------
首先在agent端的nginx.conf中添加下面内容
# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name localhost;
location /nginxstatus{
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.1.0/24; ----->zabbix server端的IP地址
deny all;
}
}
然后写监控nginx状态的脚本
# vim /usr/local/zabbix/scripts/nginx.status.sh
#!/bin/bash
function active {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk '/Active/ {print $3}'
}
function reading {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk '/Reading/ {print $2}'
}
function writing {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk '/Writing/ {print $4}'
}
function waiting {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk '/Waiting/ {print $6}'
}
function accepts {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk NR==3|awk '{print $1}'
}
function handled {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk NR==3|awk '{print $2}'
}
function requests {
curl "http://127.0.0.1/nginxstatus" 2>/dev/null|awk NR==3|awk '{print $3}'
}
case "$1" in
active)
active
;;
reading)
reading
;;
writing)
writing
;;
waiting)
waiting
;;
accepts)
accepts
;;
handled)
handled
;;
requests)
requests
;;
*)
echo "Usage: $0 {nginx_site_dicovery}"
echo "Usage: $0 {active [host]|reading [host]|writing [host]|waiting [host]|accepts [host]|handled [host]|requests [host]}"
esac
修改权限
# chmod 755 /usr/local/zabbix/scripts/mysql.status.sh
测试脚本
# /usr/local/zabbix/scripts/nginx.status.sh active
1
修改zabbix agent的配置文件
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ --->配置文件key的路径
UnsafeUserParameters=1 ---》允许特殊字符
增加nginx key的配置文件
# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx.status.conf
UserParameter=nginx.accepts,/usr/local/zabbix/scripts/nginx.status.sh accepts
UserParameter=nginx.handled,/usr/local/zabbix/scripts/nginx.status.sh handled
UserParameter=nginx.requests,/usr/local/zabbix/scripts/nginx.status.sh requests
UserParameter=nginx.active,/usr/local/zabbix/scripts/nginx.status.sh active
UserParameter=nginx.reading,/usr/local/zabbix/scripts/nginx.status.sh reading
UserParameter=nginx.writing,/usr/local/zabbix/scripts/nginx.status.sh writing
UserParameter=nginx.waiting,/usr/local/zabbix/scripts/nginx.status.sh waiting
然后agent端测试
# /usr/local/zabbix/sbin/zabbix_agentd -t nginx.active
nginx.active [t|1]
重启agent服务
service zabbix_agentd restart
在zabbix添加nginx模板key查看即可
zabbix监控nginx的更多相关文章
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
- Zabbix 监控 Nginx 状态
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) shell > /usr/local/nginx/sbin/ngi ...
- 使用zabbix监控nginx
在zabbix agentd客户端上,查看nginx是否加载了--with-http_stub_status_module.因为zabbix监控nginx是根据 nginx的Stub Status模块 ...
- zabbix监控nginx连接状态(转)
zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...
- 使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...
- Zabbix监控nginx性能的另外一种方式
Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...
- Zabbix应用四:Zabbix监控Nginx
利用Zabbix监控Nginx 一.准备nginx监控模版: 1.1.下载nginx监控模版: 点此下载 1.2.导入模版: Zabbix管理页面,选择'配置'->'模版'->'导入': ...
- zabbix监控nginx的性能
1.nginx配置 需要使用zabbix监控nginx,首先nginx需要配置ngx_status,在nginx的配置文件中加入红框中的配置,然后重启nginx如下图所示: location /ngx ...
- zabbix监控nginx进程
确认nginx有没有安装模块 然后在主站点下添加(二级站点) location /NginxStatus { stub_status on; access_log off; allow 127.0.0 ...
- 【zabbix告警监控】配置zabbix监控nginx服务
zabbix监控nginx,nginx需要添加--with-http_stub_status模块 使用zabbix监控nginx,首先nginx需要配置开启ngx_status.但是我这边nginx安 ...
随机推荐
- php 或js 常用的正则表达式
1. 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:2. "^\d+$" //非负整数(正整数 + 0)3. "^[0-9 ...
- JQuery:JQuery设置HTML
JQuery:设置HTML1.Query - 设置内容和属性设置内容 - text().html() 以及 val()我们将使用前一章中的三个相同的方法来设置内容: text() - 设置或返回所选元 ...
- 【转载】MFC 程序入口和执行流程
原文链接: http://www.cnblogs.com/liuweilinlin/archive/2012/08/16/2643272.html 一 MFC程序执行过程剖析 1)我们知道在WIN32 ...
- Vue.2.0.5-Class 与 Style 绑定
Class 与 Style 绑定 数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性 ,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串.不过,字符串拼 ...
- 使用CollectionView做横向滑动分页效果:
一开始几页滑动是没有问题的,等滑到三四个页面之后,就出现奇怪的缝隙,一开始死活找不到原因,最后在layout的代理方法minimumLineSpacingForSectionAtIndex返回值设置为 ...
- Iterator和ListIterator主要区别(转)
Iterator和ListIterator主要区别有: 一.ListIterator有add()方法,可以向List中添加对象,而Iterator不能. 二.ListIterator和Iterator ...
- linux 命令之 insmod
man insmod: INSMOD(8) insmod INSMOD(8) NAME insmod - Simple program to insert a module into the Linu ...
- Leetcode: Count Numbers with Unique Digits
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- Ios(ipad iphone) 支持字体一览
Font Name : ThonburiFont Name : Snell RoundhandFont Name : Academy Engraved LETFont Name : AvenirFon ...
- 体验Java的封装性
package com.cnblogs.java; //体验Java的封装性 /* * 如下的人类年龄赋值-300岁,显然很不合理,这种直接对类的属性赋值,有时候虽然不合理但却会编译通过. * 所以我 ...