码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix-2.4.8-1添加nginx状态监控

时间:2017-10-07 11:54:58      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:dev   文件的   hand   zab   logs   access   image   安装   connect   

前期准备:nginx在编译是必须要加如下参数:

技术分享

并且要在nginx的配置文件中添加如下配置:

server {
    listen  *:80 default_server;
    server_name localhost;
    location /nginx_status 
    {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}

1、安装zabbix-agent
yum -y install zabbix-2.4.8-1.el6.x86_64.rpm zabbix-agent-2.4.8-1.el6.x86_64.rpm
2、编辑agent端的/etc/zabbix/zabbix_agentd.conf文件修改如下内容:
Server=127.0.0.1
换成:(红色字体是你自己的Server端的ip)
Server=Zabbix-Server-IP
3、将nginx_status.sh文件放入/etc/zabbix/zabbix_agentd.d/目录下
nginx_status.sh内容如下:

#!/bin/bash
# Author: fansik
# Description: Statistics the number of nginx state connections
# Date: Wed Sep 13 10:51:28 CST 2017
nginx_status_fun(){
    ServerName="127.0.0.1"
    nginx_active(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | grep "Active" | awk {print $NF}
    }
    nginx_reading(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | grep "Reading" | awk {print $2}
    }
    nginx_writing(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | grep "Writing" | awk {print $4}
    }
    nginx_waiting(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | grep "Waiting" | awk {print $6}
    }
    nginx_accepts(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | awk NR==3{print $1}
    }
    nginx_handled(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | awk NR==3{print $2}
    }
    nginx_requests(){
        /usr/bin/curl "http://"$ServerName"/nginx_status/" 2> /dev/null | awk NR==3{print $3}
    }
    case $1 in
        active)
            nginx_active;
            ;;
        reading)
            nginx_reading;
            ;;
        writing)
            nginx_writing;
            ;;
        waiting)
            nginx_waiting;
            ;;
        accepts)
            nginx_accepts;
            ;;
        handled)
            nginx_handled;
            ;;
        requests)
            nginx_requests;
            ;;
    esac
}
nginx_status_fun $1

4、将status.conf文件放入/etc/zabbix/zabbix_agentd.d/目录下
status.conf内容如下:

UserParameter=nginx_status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh "$1"

5、赋予nginx_status.sh文件的执行权限:
chmod +x /etc/zabbix/zabbix_agentd.d/nginx_status.sh

6、启动zabbix-agentd服务
/etc/init.d/zabbix-agent start

7、添加nginx的监控模板
添加nginx_status监控的模板

技术分享

 

 8、添加Application

技术分享

9、添加item(其余六个分别是nginx_status.sh中case的内容)

技术分享

10、将起个状态放到一个graph中

技术分享

11、结果展示

技术分享

 

zabbix-2.4.8-1添加nginx状态监控

标签:dev   文件的   hand   zab   logs   access   image   安装   connect   

原文地址:http://www.cnblogs.com/fansik/p/7634075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!