Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1611973
  • 博文数量: 101
  • 博客积分: 2465
  • 博客等级: 中尉
  • 技术积分: 2126
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-09 15:39
个人简介

https://minminmsn.com/

文章分类

全部博文(101)

文章存档

2018年(2)

2017年(2)

2016年(11)

2015年(14)

2014年(9)

2013年(16)

2012年(47)

分类: 系统运维

2015-07-17 17:41:14

zabbix监控之nginx
1,配置NginxStatus功能,需要ngx_http_stub_status_module模块支持
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末尾添加如下配置
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
#!/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 " 2> /dev/null| 


grep 'Active' | awk '{print $NF}'  
    } 
     
    function reading {  
    /usr/bin/curl " 2> /dev/null| 


grep 'Reading' | awk '{print $2}'  
    } 
     
    function writing {  
    /usr/bin/curl " 2>/dev/null| 


grep 'Writing' | awk '{print $4}'  
    } 
     
    function waiting {  
    /usr/bin/curl " 2> /dev/null| 


grep 'Waiting' | awk '{print $6}'  
    } 
     
    function accepts {  
    /usr/bin/curl " 2> /dev/null| 


awk NR==3 | awk '{print $1}'  
    } 
     
    function handled {  
    /usr/bin/curl " 2> /dev/null| 


awk NR==3 | awk '{print $2}'  
    } 
     
    function requests {  
    /usr/bin/curl " 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,监控效果如下


阅读(2453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~