#!/usr/bin/env python
#coding:utf-8
‘‘‘
监控监控程序
‘‘‘
import json
import urllib
import inspect
import os,time,socket
‘‘‘conf‘‘‘
userDefine_check_time = 0
userDefine_json = []
class mon(object):
def __init__(self):
#初始化一个字典,讲下面获取到的数据放在地点里面
self.data = {}
def gettime(self):
‘‘‘
tips:我们在监控系统中,获取系统数据的时候,千万不能调取系统命令,
这样进程开销会非常大
我们通常优先考虑的的是有没有系统调用能获取到的值 比如我这里的 time.time()这样不会有开进程的开销
如果没有 我们则退而求其次 通过获取proc的值 proc的系统里面也会有非常多的性能指标
如果proc里面没有,我们在开启进程去获取
‘‘‘
return time.time()
def Run_All_Get(self):
for fun in inspect.getmembers(self,predicate=inspect.ismethod):
# 通过这个方法获取类里面所有的方法
#print(fun[0][:3])
if fun[0] == ‘userDefineMon‘:
self.data.update(fun[1]())
elif fun[0][:3] == ‘get‘:
#把方法前缀为get的函数执行并且存到字典里,key为方法名
print ‘start task :‘, fun[0]
self.data[fun[0][3:]] = fun[1]()
return self.data
if __name__ == ‘__main__‘:
print mon().Run_All_Get()
原文:http://www.cnblogs.com/nerdlerss/p/7215930.html