Zabbix之监控Nginx状态信息

Zabbix 之监控Nginx状态信息

nginx需要支持 http_stub_status_module 编译的时候需要使用--with-http_stub_status_module

yum默认支持此选项

1. 配置nginx stuats 
源码: vim nginx.conf 
yum: vim /etc/nginx/conf.d/default.conf 
#and add the following to your server block

location /nginx_status { 
stub_status on; 
access_log off; 
allow 127.0.0.1; 
allow 172.16.7.70; #Put your servers IPaddress instead of 172.16.7.70
deny all; 
}

# 检测配置文件
  nginx -t

# 重新加载配置文件

nginx -s reload

2.查看Nginx状态信息

curl localhost/nginx_status

注解:
Active connections: 1 当前活动的连接数

server accepts handled requests

3721 3721 3714

3721  从启动到现在一共处理的连接数

3721  从启动到现在成功创建的握手的次数

3714   总共处理的请求数(requests)

请求的丢失数=(握手-连接)

connection 连接数,tcp连接

request http请求,GET/POST/DELETE

Reading: 0 Writing: 1 Waiting: 0

Reading: 0 读取客户端Header的信息数 请求头

Writing: 1 返回给客户端的header的信息数 响应头

Waiting: 0 等待的请求数

3. zabbix客户端配置

#创建检测脚本
mkdir /usr/local/zabbix/scripts 
vi /usr/local/zabbix/scripts/nginx_status.sh

#!/bin/bash 
# Script to fetch nginx statuses for tribily monitoring systems 
# Author: [email protected]
 
# License: GPLv2 
# Set Variables 
#BKUP_DATE=`/bin/date +%Y%m%d` 
#LOG="/etc/zabbix/nginx_status.log" 
HOST=`/sbin/ifconfig eth0 | sed -n ‘/inet /{s/.*addr://;s/ .*//;p}‘` 
PORT="80" 
# Functions to return nginx stats 
function active { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| grep ‘Active‘ | awk ‘{print $NF}‘ 
} 
function reading { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| grep ‘Reading‘ | awk ‘{print $2}‘ 
} 
function writing { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| grep ‘Writing‘ | awk ‘{print $4}‘ 
} 
function waiting { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| grep ‘Waiting‘ | awk ‘{print $6}‘ 
} 
function accepts { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| awk NR==3 | awk ‘{print $1}‘ 
} 
function handled { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| awk NR==3 | awk ‘{print $2}‘ 
} 
function requests { 
/usr/bin/curl "http://$HOST:$PORT/nginx_status" 2>/dev/null| awk NR==3 | awk ‘{print $3}‘ 
} 
# Run the requested function 
$1

# 对脚本赋予执行权限

chmod +x /usr/local/zabbix/scripts/nginx_status.sh

# 修改agent 配置文件

vim /usr/local/zabbix/etc/zabbix_agentd.conf

#开启自定义KEY功能
UnsafeUserParameters=1      
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.connections.active,/usr/local/zabbix/scripts/nginx_status.sh active 
UserParameter=nginx.connections.reading,/usr/local/zabbix/scripts/nginx_status.sh reading 
UserParameter=nginx.connections.writing,/usr/local/zabbix/scripts/nginx_status.sh writing 
UserParameter=nginx.connections.waiting,/usr/local/zabbix/scripts/nginx_status.sh waiting

#重启zabbix_agentd

/etc/init.d/zabbix_agentd  restart

4.服务端测试

# /usr/local/zabbix/bin/zabbix_get  -s 172.16.99.25 -knginx.accepts
12877

# 有信息返回说明配置正常

# 有图有真相

#模板

http://pan.baidu.com/s/1c00Aqcg

FAQ : 若果是无返回信息则说明agent端配置错误这是查看zabbix_agentd.log 的输出日志,排查错误

时间: 2024-11-06 03:47:25

Zabbix之监控Nginx状态信息的相关文章

Zabbix监控Nginx状态信息

首先要检查Nginx是否安装了 http_stub_status_module 模块,通过下面的命令可以看到编译参数.yum安装的默认会带有这个模块. [[email protected] ~]# /data/nginx/sbin/nginx -V nginx version: nginx/1.10.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 T

Zabbix 监控 Nginx 状态

1.获取 Nginx 状态条件( 需要nginx安装模块) [localhost]#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.8.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_sta

zabbix监控nginx状态

一.zabbix客户端配置 首先修改一下zabbix客户端的配置,习惯上将zabbix的配置文件拷贝到自建的/etc/zabbix/目录,方便管理: [[email protected] ~]# sed -e '/^$/d;/^#/d'  /etc/zabbix/zabbix_agentd.conf PidFile=/tmp/zabbix_agentd.pid LogFile=/tmp/zabbix_agentd.log Server=192.168.199.79 ServerActive=12

企业级监控软件使用zabbix key监控nginx status各种状态

因业务需要需要用zabbix来监控nginx status,具体是如下的做法: 1. 首先在nginx的配置文件中添加如下内容,需要注意的是nginx的文件格式,在allow中我们需要注意的是需要添加zabbix server的IP地址,不然无法采集到数据, 2. 重启nginx服务器查看nginx服务器是否能正常打开, Nginx status状态说明: Active connections: 35 对后端发起的活动链接数 server accepts handled requests 186

Nginx状态信息(status)配置及信息详解

Nginx状态信息(status)配置及信息详解 nginx与php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助.为了后续的zabbix监控,我们需要先了解一下nginx的状态页. Nginx状态信息(status)介绍 Nginx软件在编译时又一个with-http_stub_status_module模块,这个模块功能是记录Nginx的基本访问状态信息,让使用者了解Nginx的工作状态.要想使用状态模块,在编译时必须增加--with-http_stub

Nginx 状态信息功能

一.Nginx 状态信息功能 status 模块 记录nginx的基本访问状态信息,让使用者了解到Nginx 的工作状态 在编译Nginx是必须增加 --with-http_stub_status_module 模块来支持 # nginx/sbin/nginx -V nginx version: nginx/1.6.3 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) TLS SNI support enabled configure ar

Nginx 状态信息功能配置

Nginx 状态信息功能介绍 Nginx 有一个 ngx_http_stub_status_module 模块,主要功能是记录 Nginx 的基本访问状态信息,让使用者了解 Nginx 的工作状态 要使用该模块,必须在编译安装 Nginx 的时候添加 --with-http_stub_status_module 参数,可以用 /usr/local/nginx/sbin/nginx -V 来查看是否添加 配置 Nginx 状态信息功能 可以单独创建一个虚拟主机来配置 Nginx 状态信息功能 [[

zabbix专题:第九章 自定义key(案例:监控内存,监控nginx状态)

第九章 自定义key 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.com 为什么要自定义KEY 有时候我们想让被监控端执行一个zabbix没有预定义的检测,zabbix的用户自定义参数功能提供了这个方法.我们可以在客户端配置文件zabbix_angentd.conf里面配置UserParameter. 语法如下: UserParameter=key,command 用户自定义参数包含一个key和一个命令,ke

Zabbix快速部署及自定义Item监控Nginx状态原理

监控软件的选择 1)Nagios 优点:监控协议多.完善的告警机制.服务抖动检测 缺点:只能在终端配置.基于文件的配置方式.不方便扩展.易读性差.管理耗时 2)Cacti 优点:多样的图形化数据.历史数据存储.趋势对比 缺点:报警机制不完善.只支持集中式数据监控 3)Zabbix 优点:集合了Nagios和Cacti大部分优点,功能强大:特别是在针对集群机器较多.业务环境复杂和跨机房监控方面有优势(proxy收集功能) 缺点:部署稍微复杂,不支持服务抖动检测等... Zabbix特点 · 多种数