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

用zabbix监控nginx_status状态

时间:2016-03-01 14:49:11      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:zabbix   nginx_status   

思路:

1.nginx上开启status状态

location /nginx_status {

stub_status on;

allow 127.0.0.1;

allow 本机IP;

allow zabbix_server IP;

deny all;

access_log   off;

}

 

2.在被控端做监测status状态的脚本

[root@ceping-nginx etc]# cat /usr/local/zabbix_proxy/scripts/nginx_status

#!/bin/bash  

# Script to fetch nginx statuses for tribily monitoring systems  

# Author:huachao.li@talbase.com

 

# Set Variables 

# HOST=`ifconfig eth0 | sed -n ‘/inet /{s/.*addr://;s/ .*//;p}‘`

 

HOST="hire.cepin.com"

 

# Functions to return nginx stats 

# nginx=/usr/local/zabbix-2.4.4/scripts/nginx.txt

function active {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| grep ‘Active‘ | awk ‘{print $NF}‘

}

 

function reading {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| grep ‘Reading‘ | awk ‘{print $2}‘

}

 

function writing {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| grep ‘Writing‘ | awk ‘{print $4}‘

}

 

function waiting {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| grep ‘Waiting‘ | awk ‘{print $6}‘

}

 

function accepts {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $1}‘

}

 

function handled {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $2}‘

}

 

function requests {

                /usr/bin/curl "http://$HOST/nginx_status/" 2>/dev/null| awk NR==3 | awk ‘{print $3}‘

}

 

$1

 

#END

 

给文件添加可执行权限

Chown -R zabbix.zabbix /usr/local/zabbix_proxy/scripts/nginx_status

Chmod 775 /usr/local/zabbix_proxy/scripts/nginx_status

 

3.在被控端的zabbix_agentd.conf上定义键值

[root@ceping-nginx etc]# tail -n 8 zabbix_agentd.conf

UserParameter=nginx.accepts,/usr/local/zabbix_proxy/scripts/nginx_status accepts

UserParameter=nginx.handled,/usr/local/zabbix_proxy/scripts/nginx_status handled

UserParameter=nginx.requests,/usr/local/zabbix_proxy/scripts/nginx_status requests

UserParameter=nginx.connections.active,/usr/local/zabbix_proxy/scripts/nginx_status active

UserParameter=nginx.connections.reading,/usr/local/zabbix_proxy/scripts/nginx_status reading

UserParameter=nginx.connections.writing,/usr/local/zabbix_proxy/scripts/nginx_status writing

UserParameter=nginx.connections.waiting,/usr/local/zabbix_proxy/scripts/nginx_status waiting

 

4.在控制端的web页面上添加监控项、图形等

模板->Template OS Linux->应用集->创建应用集->创建监控项->填上名称、键值(在zabbix_agentd.conf里定义的键值名称)、应用集->图形->创建图形->填上名称、项目


本文出自 “achao57865” 博客,请务必保留此出处http://achao57865.blog.51cto.com/8818586/1746223

用zabbix监控nginx_status状态

标签:zabbix   nginx_status   

原文地址:http://achao57865.blog.51cto.com/8818586/1746223

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