前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zabbix监控之nginx

zabbix监控之nginx

作者头像
三杯水Plus
发布2019-03-14 14:52:42
5510
发布2019-03-14 14:52:42
举报
文章被收录于专栏:运维运维

zabbix监控之nginx 1,配置NginxStatus功能,需要ngx_http_stub_status_module模块支持

代码语言:javascript
复制
server {
    listen 12345;
    server_name 127.0.0.1;
    location /nginx_status {
        stub_status on;
        access_log off;
     allow 127.0.0.1;
        deny all;
    }
}

2,配置zabbix_agentd客户端

在zabbix_agentd.conf末尾添加如下配置

代码语言:javascript
复制
UserParameter=nginx.accepts,/data/scripts/nginx_status accepts 
UserParameter=nginx.handled,/data/scripts/nginx_status handled 
UserParameter=nginx.requests,/data/scripts/nginx_status requests 
UserParameter=nginx.connections.active,/data/scripts/nginx_status active 
UserParameter=nginx.connections.reading,/data/scripts/nginx_status reading 
UserParameter=nginx.connections.writing,/data/scripts/nginx_status writing 
UserParameter=nginx.connections.waiting,/data/scripts/nginx_status waiting

3,nginx状态监控脚本如下

cat nginx_status

代码语言:javascript
复制
#!/bin/bash  
    # Script to fetch nginx_status statuses for tribily monitoring systems  
    # Author: krish@toonheart.com  
    # License: GPLv2 
     
    # Set Variables  
    #HOST=`/sbin/ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'
        HOST=127.0.0.1  
    PORT="12345" 
     
    # Functions to return nginx_status 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

4,重启nginx和zabbix_agentd

5,zabbix web界面添加nginx监控模板,添加nginx客户端监控项,nginx模板见附件

6,监控效果如下

wKiom1WoyO7gKfgMAATkIbNRuQk108.jpg
wKiom1WoyO7gKfgMAATkIbNRuQk108.jpg
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-07-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档