zabbix监控nginx 状态

利用zabbixt监控nginx的各种状态,达到对nginx的实时监控;

一,首先需要开启nginx的nginx_status模块

开启nginx_status功能:
 location /nginx_status{
    stub_status on;
    access_log off;
    allow 192.168.1.113;  访问IP
    deny all;
  }

访问: http://192.168.1.113/nginx_status

需要写一个脚本在被监控机上跑:脚本如下:

cat zabbix_nginx_check.sh

#! /bin/bash
# Set Variables  
# require install elinks eg: yum install elink
HOST=`/sbin/ifconfig eth0 | sed -n ‘/inet /{s/.*addr://;s/ .*//;p}‘`
PORT="80"

# Functions to return nginx_status stats 

function active {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| grep ‘Active‘ | awk ‘{print $NF}‘
}

function reading {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| grep ‘Reading‘ | awk ‘{print $2}‘
}

function writing {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2>/dev/null| grep ‘Writing‘ | awk ‘{print $4}‘
}

function waiting {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| grep ‘Waiting‘ | awk ‘{print $6}‘
}

function accepts {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| awk NR==3 | awk ‘{print $1}‘
}

function handled {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| awk NR==3 | awk ‘{print $2}‘
}

function requests {
/usr/bin/elinks -source "http://$HOST:$PORT/nginx_status" 2> /dev/null| awk NR==3 | awk ‘{print $3}‘
}

# Run the requested function  
$1

注:因为脚本中需要用到elinks这命令,所以需要安装,安装命令如下:

 yum install -y elinks

把脚本放在/etc/zabbix/scripts 目录下,以后所有自定义的脚本全部放在此目录下,方便统一管理;

3。 配置zabbix_agentd.conf 文件

加入如下的内容:

UserParameter=nginx.accepts,/etc/zabbix/scripts/zabbix_nginx_check.sh accepts
UserParameter=nginx.handled,/etc/zabbix/scripts/zabbix_nginx_check.sh handled
UserParameter=nginx.requests,/etc/zabbix/scripts/zabbix_nginx_check.sh requests
UserParameter=nginx.connections.active,/etc/zabbix/scripts/zabbix_nginx_check.sh active
UserParameter=nginx.connections.reading,/etc/zabbix/scripts/zabbix_nginx_check.sh reading
UserParameter=nginx.connections.writing,/etc/zabbix/scripts/zabbix_nginx_check.sh writing
UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/zabbix_nginx_check.sh waiting

重启 zabbix_agentd服务:

service zabbix_agentd restart

4。 在zabbix-server的web上配置相应的模板

Configuration -->Templates -->Create template-->填写Template name(其它的默认即可)

创建Item:

Configuration -->Templates --> Items -- Create item -->填写Name ,Key(其它的默认即可)

这里主要注意两个项,Name和Key,下面是Name对应的Key值:

                    Name                    Key
                nginx_handled        nginx.handled
                nginx_requests        nginx.requests
                nginx_accepts         nginx.accepts
                connections_active    nginx.connections.active
                connections_writing    nginx.connection.writing
                connections.reading    nginx.connections.reading
                connections.waiting    nginx.connections.waiting
时间: 2024-07-29 00:52:42

zabbix监控nginx 状态的相关文章

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 监控nginx状态

1.1 系统环境     centos6.6      zabbix2.28      nginx1.4+ 1.2 配置nginx支持状态 #根据自己的环境配置 server {          location /nginxstatus {                      stub_status on;                      access_log off;     allow 172.16.10.0/24 ;          deny all; } #测试查看

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,Mysqld,Php状态

zabbix监控nginx状态 首先,在nginx的配置文件中添加如下一段代码 server  {   listen localhost:80;   server_name localhost; location /nginxstatus {   stub_status on;   access_log off;   allow 127.0.0.1; allow 192.168.1.165;    deny all;   }   } 保存之后重启nginx 在zabbix脚本目录下创建脚本监控z

Zabbix 监控 Nginx(四)

简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [[email protected] ~]# /apps/product/nginx/sbin/nginx -V nginx version: nginx/1.8.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI

zabbix监控nginx性能状态

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

zabbix监控nginx连接状态

zabbix学习笔记:zabbix监控nginx连接状态 zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数).下面我们使用zabbix监控nginx. nginx的安装 如果想要查看nginx的服务状态,在对nginx进行源码安装的时候要选中–with-http_stub_status_module模块. 1.解压安装包: [[email prot

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 {