def monitor_job(): ##计划任务 object = Host.objects.all() for i in object: cpu1 = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd=" top -bn 1 -i -c | grep Cpu ") cpu = float(cpu1['data'][8:14]) total = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd=" free | grep Mem: ") list = total['data'].split(" ") while '' in list: list.remove('') mem = float('%.2f' % (int(list[2]) / int(list[1]))) Monitor.objects.create( server_id=i.id, cpu_use=cpu, mem_use=mem, )
def job(id): ##计划任务 i = Host.objects.filter(id=id).first() cpu1 = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd=" top -bn 1 -i -c | grep Cpu ") cpu2 = cpu1['data'].split() cpu3 = cpu2[1].split('%') cpu = cpu3[0] total = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd=" free | grep Mem: ") list = total['data'].split(" ") while '' in list: list.remove('') mem = float('%.2f' % (int(list[2]) / int(list[1]))) * 100 in1 = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd="cat /proc/net/dev | grep eth0 ") in2 = in1['data'].split() time.sleep(1) in3 = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd="cat /proc/net/dev | grep eth0 ") in4 = in3['data'].split() in_network = int((int(in4[1]) - int(in2[1])) / 1024 / 10 * 8) out_network = int((int(in4[9]) - int(in2[9])) / 1024 / 10 * 8) Monitor.objects.create(server_id=i.id, cpu_use=cpu, mem_use=mem, in_use=in_network, out_use=out_network)
def cmd_job(host, cmd): i = Host.objects.get(ip=host) cmd = cmd a = ssh(ip=i.ip, port=i.port, username=i.username, password=i.password, cmd=cmd) return a['data']