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安 ...
随机推荐
- nginx源码学习----内存池
最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete.malloc/free这么简单.随着代码量的递增,程序结构复杂度的提高.各种内存方面的问题悄然 ...
- 请求转发(Forward)和重定向(Redirect)的区别
forward(转发): 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在 ...
- [转][C++ 11]override and final - write clean and maintainable C++ code
原文: http://arne-mertz.de/2015/12/modern-c-features-override-and-final/ Today I write about a pair of ...
- python 归档tarfile,zipfile学习
一.tarfile 用法: tarfile.open(cls, name=None, mode='r', fileobj=None, bufsize=10240, **kwargs) 返回一个Tar ...
- 转:Busy Developers' Guide to HSSF and XSSF Features
Busy Developers' Guide to Features Want to use HSSF and XSSF read and write spreadsheets in a hurry? ...
- [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Python学习总结15:时间模块datetime & time & calendar (二)
二 .datetime模块 1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR ...
- css3文字与字体
---恢复内容开始--- 1.text-overflow(用来设置是否使用省略标记)必须和white-space:nowrap 同时使用white-space:nowrap(强制文本在一行显示) wo ...
- Fresco源码解析 - DataSource怎样存储数据
Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 package,与FB导入的guava包都在同一个工程内 - fbcore. datasource的类关系 ...
- rails创建项目,部署,测试流程(rails5.0+ruby2.3.1)
rails new test_app --skip-test-unit 不生成默认的test,稍后用rspeccd test_app 修改Gemfile(大部分为自动生成) source 'https ...