zabbix 通过status模块监控nginx

1、编辑nginx的配置文件,在server下添加如下内容:

location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}

保存退出并重启nginx

2、创建监控nginx的脚本目录

mkdir /usr/local/zabbix/libexec

3、vim /usr/local/zabbix/libexec/nginx.sh && chmod +x /usr/local/zabbix/libexec/nginx.sh

#!/bin/bash
##################################################
# Description:zabbix 通过 status 模块监控 nginx
# Note:Zabbix 3.2
# DateTime: 2016-11-22
##################################################

HOST="localhost"
PORT="80"

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

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

case "$1" in
active)
active
;;
accepts)
accepts
;;
handled)
handled
;;
requests)
requests
;;
reading)
reading
;;
writing)
writing
;;
waiting)
waiting
;;

*)
echo $"Usage $0 {active|accepts|handled|requests|reading|writing|waiting}"
exit
esac

4、创建zabbix_agentd 监控的key

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

UserParameter=nginx.status[*],/usr/local/zabbix/libexec/nginx.sh $1

重启zabbix_agentd

5、测试脚本及key

[[email protected] ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_nginx.conf
[[email protected] ~]# /usr/local/zabbix/libexec/nginx.sh -h
Usage /usr/local/zabbix/libexec/nginx.sh {active|accepts|handled|requests|reading|writing|waiting}
[[email protected] ~]# /usr/local/zabbix/libexec/nginx.sh accepts
2016

[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k ‘nginx.status[accepts]‘
965

6、导入模板以及管理主机

模板:nginx.xml

7、验证

时间: 2024-10-10 21:19:15

zabbix 通过status模块监控nginx的相关文章

zabbix管理七之监控nginx性能

说明: 使用zabbix监控nginx,首先nginx需要配置ngx_status 在编译安装nginx时需要使用--with-http_stub_status_module参数 在nginx的配置文件nginx.conf里添加如下:         location /nginx_status {              stub_status on;              access_log off;              allow 127.0.0.1;            

按照zabbix客户端及自定义监控nginx连接状态

一.下载客户端按照包,这里用rpm包安装 [[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.4-1.el7.x86_64.rpm 修改客户端配置文件 Server=127.0.0.1 ServerActive=127.0.0.1 改为zabbix server实际的IP地址(比如zabbix server的IP地址为10.0.0.100) Server=

Zabbix使用Pycurl模块监控web页面状态

由于网络的问题,zabbix自带web模块用不了,后台研发2b,老是更新正式环境安装包,导致一直出问题,老是给他们擦屁股,早说过这事,他们不配合,现在出问题了,挺爽,这锅我表示不背,就找了pycurl这个模块写个监控. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 c = pycurl.Curl()    #创建一个curl对象  c.setopt(pycurl.CONNECTTIMEOUT, 5)   

zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数

首先,在zabbix脚本目录下添加一个脚本,写入如下代码 #!/bin/bash #license:GPL #mail:[email protected] #date:2015.04.16 top -bn1>/usr/local/zabbix-2.4.4/scripts/process.log LOG=/usr/local/zabbix-2.4.4/scripts/process.log php_fpm(){ grep "php-fpm" $LOG |awk '{sum+=$6}

check mk 监控 nginx

1.查看nginx是否编译了status模块:nginx -V 2>&1 | grep -o with-http_stub_status_module 2.添加nginx的检测脚本到被检测客户端:cp nginx_status /usr/lib/check_mk_agent/plugins/ 3.添加nginx配置:vi /etc/nginx/conf.d/local.conf添加: server { listen 8065; server_name 127.0.0.1; location

企业级监控软件使用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

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

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

上一篇介绍了zabbix安装,这里接着说说zabbix监控nginx 安装zabbix-agent 在实际应用中,我们server和agent部在同一机器上,所以需要分开安装,其实上一篇已经说了,在编译安装zabbix-server的时候也安装了zabbix-agent,如果只安装zabbix-agent # 切换到zabbix解压目录 cd zabbix-3.0.3 # 编译配置 ./configure --prefix=/usr/local/zabbix-agent --enable-age