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

Zabbix 监控Nginx_status 自动发现脚本

时间:2015-11-26 01:37:05      阅读:493      评论:0      收藏:0      [点我收藏+]

标签:zabbix监控nginx_status nginx监控

在网上看到了许多监控nginx状态的,发现大多都配置都比较复杂,我也写了一个自动发现的脚本,欢迎拍砖 

nginx_status 具体的配置这里就不多说了,这里假装你已经配好了!

#coding=utf-8
import urllib,urllib2,urllib2
import sys,json

url="http://112.124.32.164/nginx_status"
li=["ActiveConnections","Reading","Writing","Waiting"]
js=[]

if len(sys.argv) < 2:
	for stat in li:
		js += [{‘{#NGINXSTATUS}‘:stat}]
	print json.dumps({‘data‘:js},sort_keys=True,indent=4,separators=(‘,‘,‘:‘))
else:
	arg=sys.argv[1]
	argm="%s:" % arg
	request = urllib2.Request(url)
	response = urllib2.urlopen(request)  
	result=response.readlines()
	loop=0
	dic={}
	for i in result:
		loop += 1
		if loop == 1:
			ActiveConnections=int(i.split(":")[1])
			dic[‘ActiveConnections:‘]=ActiveConnections
		elif loop == 4:
			Status=tuple(i.split(" "))
			cloop=0
			for st in Status:
				cloop += 1
				if cloop == 2 :
					dic["Reading:"]=st
				elif cloop == 4:
					dic["Writing:"]=st
				elif cloop == 6:
					dic["Waiting:"]=st

	print dic[argm]


zabbix_agent 自定义键值配置

UserParameter=nginx.status[*], /usr/bin/python /etc/zabbix/nginx_statu.py $1

然后自动发现键值为

nginx.status

项目原型键值为

nginx.status[{#NGINXSTATUS}]

大神勿喷!



Zabbix 监控Nginx_status 自动发现脚本

标签:zabbix监控nginx_status nginx监控

原文地址:http://sandy521.blog.51cto.com/5728588/1716852

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