测开之路六十八:监控平台之监控逻辑和处理逻辑
获取机器的数据 import timeimport socketimport datetimeimport psutilfrom common import send_emailfrom common.mongo import Mongoclass Agent(object): def __init__(self): super(Agent).__init__() self.mongo = Mongo() def get_ip(self): """ 通过socket库可以获取机器名,通过机器名可以获取ip地址。 """ hostname = socket.gethostname() return socket.gethostbyname(hostname) def get_cpu(self): """ cpu相关,interval代表获取数据的时间间隔,percpu为True时,如果机器多核,则返回多个核数据。 """ result = {} data = psutil.cpu_percent(interval=1, percpu=True) # cpu使用率 result['avg'] = sum(data) / psutil.cpu_count() # 平均使用率 result['idle'] = 100 - result['avg'] # cpu空闲率 result[