码迷,mamicode.com
首页 > 移动开发 > 详细

nagios监控cloudstack的主机的状态

时间:2017-01-25 23:26:20      阅读:413      评论:0      收藏:0      [点我收藏+]

标签:nagios cloudstack host

cloudstack 中的host主机因为一些原因导致状态不为up状态,希望nagios通过cloudmonkey来监控这个状态,如下:

#!/usr/bin/python
#desc: this script is to check the status of hosts  in cloudstack
#     can use -h to show usage

import os,sys
import json
from optparse import OptionParser

E_OK = 0
E_WARNING = 1
E_CRITICAL = 2
E_UNKNOWN = 3
E_CODE = E_OK

parser = OptionParser()
parser.add_option("-i","--ignore",dest="ignore",
		  help="ipaddress that ignore to check ")
(options,args) = parser.parse_args()


comm = ‘/usr/bin/cloudmonkey -d json list hosts type=Routing filter=ipaddress,state‘
performance = ‘‘
info = ‘‘

host_info = os.popen(comm).read()
host_json = json.loads(host_info)[‘host‘]
if options.ignore:
	for item in host_json:
		if not item[‘ipaddress‘] in options.ignore and item[‘state‘] != ‘Up‘:
			info += ‘%s : %s‘ % (item[‘ipaddress‘],item[‘state‘])		
			E_CODE = E_CRITICAL
else:
	for item in host_json:
                if item[‘state‘] != ‘Up‘:
                        info += ‘%s:%s; ‘ % (item[‘ipaddress‘],item[‘state‘])
                        E_CODE = E_CRITICAL	

if E_CODE == E_OK :
	performance += ‘OK‘
elif E_CODE == E_WARNING:
        performance = ‘WARNING-‘ + info
elif E_CODE == E_CRITICAL:
	performance = ‘CRITICAL-‘ + info
else:
	performance = ‘UNKNOWN-‘ + info

print performance
sys.exit(E_CODE)


本文出自 “月童” 博客,谢绝转载!

nagios监控cloudstack的主机的状态

标签:nagios cloudstack host

原文地址:http://littlefive.blog.51cto.com/6440205/1894170

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