check_hadoop_dfs.py

来源:互联网 发布:易语言qq群机器人源码 编辑:程序博客网 时间:2024/06/08 05:50
'''Created on 2011-11-25@author: yue.zhang'''#!/usr/bin/env pythonimport commandsimport sysfrom optparse import OptionParserimport urllibimport redef get_dfs_free_percent():    urlItem = urllib.urlopen("http://182.61.128.18:50070/dfshealth.jsp")    html = urlItem.read()    urlItem.close()    return float(re.findall('.+<td id="col1"> DFS Remaining%<td id="col2"> :<td id="col3">\\s+(.+)%<tr class="rowNormal">.+', html)[0])if __name__ == '__main__':    parser = OptionParser(usage="%prog [-w] [-c]", version="%prog 1.0")    parser.add_option("-w", "--warning", type="int", dest="w", default=30, help="total dfs used percent")    parser.add_option("-c", "--critical", type="int", dest="c", default=20, help="total dfs used percent")    (options, args) = parser.parse_args()    if(options.c >= options.w):        print '-w must greater then -c'        sys.exit(1)    dfs_free_percent = get_dfs_free_percent()    if(dfs_free_percent <= options.c ) :print 'CRITICAL - DFS free %d%%' %(dfs_free_percent)        sys.exit(2)    elif(dfs_free_percent <= options.w):        print 'WARNING - DFS free %d%%' %(dfs_free_percent)sys.exit(1)    else:           print 'OK - DFS free %d%%' %(dfs_free_percent) sys.exit(0)

0 0