diff --git a/clients/client-linux.py b/clients/client-linux.py index 0e5002d..b038267 100755 --- a/clients/client-linux.py +++ b/clients/client-linux.py @@ -2,7 +2,7 @@ # Update by : https://github.com/cppla/ServerStatus # 支持Python版本:2.7 to 3.5 # 支持操作系统: Linux, OSX, FreeBSD, OpenBSD and NetBSD, both 32-bit and 64-bit architectures -# 时间: 20180312 +# 时间: 20180828 SERVER = "127.0.0.1" @@ -22,93 +22,93 @@ import collections import threading def get_uptime(): - f = open('/proc/uptime', 'r') - uptime = f.readline() - f.close() - uptime = uptime.split('.', 2) - time = int(uptime[0]) - return int(time) + f = open('/proc/uptime', 'r') + uptime = f.readline() + f.close() + uptime = uptime.split('.', 2) + time = int(uptime[0]) + return int(time) def get_memory(): - re_parser = re.compile(r'^(?P<key>\S*):\s*(?P<value>\d*)\s*kB') - result = dict() - for line in open('/proc/meminfo'): - match = re_parser.match(line) - if not match: - continue; - key, value = match.groups(['key', 'value']) - result[key] = int(value) + re_parser = re.compile(r'^(?P<key>\S*):\s*(?P<value>\d*)\s*kB') + result = dict() + for line in open('/proc/meminfo'): + match = re_parser.match(line) + if not match: + continue; + key, value = match.groups(['key', 'value']) + result[key] = int(value) - MemTotal = float(result['MemTotal']) - MemFree = float(result['MemFree']) - Cached = float(result['Cached']) - MemUsed = MemTotal - (Cached + MemFree) - SwapTotal = float(result['SwapTotal']) - SwapFree = float(result['SwapFree']) - return int(MemTotal), int(MemUsed), int(SwapTotal), int(SwapFree) + MemTotal = float(result['MemTotal']) + MemFree = float(result['MemFree']) + Cached = float(result['Cached']) + MemUsed = MemTotal - (Cached + MemFree) + SwapTotal = float(result['SwapTotal']) + SwapFree = float(result['SwapFree']) + return int(MemTotal), int(MemUsed), int(SwapTotal), int(SwapFree) def get_hdd(): - p = subprocess.check_output(['df', '-Tlm', '--total', '-t', 'ext4', '-t', 'ext3', '-t', 'ext2', '-t', 'reiserfs', '-t', 'jfs', '-t', 'ntfs', '-t', 'fat32', '-t', 'btrfs', '-t', 'fuseblk', '-t', 'zfs', '-t', 'simfs', '-t', 'xfs']).decode("Utf-8") - total = p.splitlines()[-1] - used = total.split()[3] - size = total.split()[2] - return int(size), int(used) + p = subprocess.check_output(['df', '-Tlm', '--total', '-t', 'ext4', '-t', 'ext3', '-t', 'ext2', '-t', 'reiserfs', '-t', 'jfs', '-t', 'ntfs', '-t', 'fat32', '-t', 'btrfs', '-t', 'fuseblk', '-t', 'zfs', '-t', 'simfs', '-t', 'xfs']).decode("Utf-8") + total = p.splitlines()[-1] + used = total.split()[3] + size = total.split()[2] + return int(size), int(used) def get_time(): - stat_file = file("/proc/stat", "r") - time_list = stat_file.readline().split(' ')[2:6] - stat_file.close() - for i in range(len(time_list)) : - time_list[i] = int(time_list[i]) - return time_list + stat_file = file("/proc/stat", "r") + time_list = stat_file.readline().split(' ')[2:6] + stat_file.close() + for i in range(len(time_list)) : + time_list[i] = int(time_list[i]) + return time_list def delta_time(): - x = get_time() - time.sleep(INTERVAL) - y = get_time() - for i in range(len(x)): - y[i]-=x[i] - return y + x = get_time() + time.sleep(INTERVAL) + y = get_time() + for i in range(len(x)): + y[i]-=x[i] + return y def get_cpu(): - t = delta_time() - st = sum(t) - if st == 0: - st = 1 - result = 100-(t[len(t)-1]*100.00/st) - return round(result) + t = delta_time() + st = sum(t) + if st == 0: + st = 1 + result = 100-(t[len(t)-1]*100.00/st) + return round(result) class Traffic: - def __init__(self): - self.rx = collections.deque(maxlen=10) - self.tx = collections.deque(maxlen=10) - def get(self): - f = open('/proc/net/dev', 'r') - net_dev = f.readlines() - f.close() - avgrx = 0; avgtx = 0 + def __init__(self): + self.rx = collections.deque(maxlen=10) + self.tx = collections.deque(maxlen=10) + def get(self): + f = open('/proc/net/dev', 'r') + net_dev = f.readlines() + f.close() + avgrx = 0; avgtx = 0 - for dev in net_dev[2:]: - dev = dev.split(':') - if dev[0].strip() == "lo" or dev[0].find("tun") > -1 \ - or dev[0].find("docker") > -1 or dev[0].find("veth") > -1 \ - or dev[0].find("br-") > -1: - continue - dev = dev[1].split() - avgrx += int(dev[0]) - avgtx += int(dev[8]) + for dev in net_dev[2:]: + dev = dev.split(':') + if dev[0].strip() == "lo" or dev[0].find("tun") > -1 \ + or dev[0].find("docker") > -1 or dev[0].find("veth") > -1 \ + or dev[0].find("br-") > -1: + continue + dev = dev[1].split() + avgrx += int(dev[0]) + avgtx += int(dev[8]) - self.rx.append(avgrx) - self.tx.append(avgtx) - avgrx = 0; avgtx = 0 + self.rx.append(avgrx) + self.tx.append(avgtx) + avgrx = 0; avgtx = 0 - l = len(self.rx) - for x in range(l - 1): - avgrx += self.rx[x+1] - self.rx[x] - avgtx += self.tx[x+1] - self.tx[x] + l = len(self.rx) + for x in range(l - 1): + avgrx += self.rx[x+1] - self.rx[x] + avgtx += self.tx[x+1] - self.tx[x] - avgrx = int(avgrx / l / INTERVAL) - avgtx = int(avgtx / l / INTERVAL) + avgrx = int(avgrx / l / INTERVAL) + avgtx = int(avgtx / l / INTERVAL) - return avgrx, avgtx + return avgrx, avgtx def liuliang(): NET_IN = 0 @@ -118,9 +118,9 @@ def liuliang(): netinfo = re.findall('([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)', line) if netinfo: if netinfo[0][0] == 'lo' or 'tun' in netinfo[0][0] \ - or 'docker' in netinfo[0][0] or 'veth' in netinfo[0][0] \ - or 'br-' in netinfo[0][0] \ - or netinfo[0][1]=='0' or netinfo[0][9]=='0': + or 'docker' in netinfo[0][0] or 'veth' in netinfo[0][0] \ + or 'br-' in netinfo[0][0] \ + or netinfo[0][1]=='0' or netinfo[0][9]=='0': continue else: NET_IN += int(netinfo[0][1]) @@ -128,35 +128,39 @@ def liuliang(): return NET_IN, NET_OUT def ip_status(): - object_check = ['www.10010.com', 'www.189.cn', 'www.10086.cn'] - ip_check = 0 - for i in object_check: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(1) - try: - s.connect((i, 80)) - except: - ip_check += 1 - s.close() - del s - if ip_check >= 2: - return False - else: - return True + object_check = ['www.10010.com', 'www.189.cn', 'www.10086.cn'] + ip_check = 0 + for i in object_check: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.settimeout(1) + try: + s.connect((i, 80)) + except: + ip_check += 1 + s.close() + del s + if ip_check >= 2: + return False + else: + return True def get_network(ip_version): - if(ip_version == 4): - HOST = "ipv4.google.com" - elif(ip_version == 6): - HOST = "ipv6.google.com" - try: - s = socket.create_connection((HOST, 80), 2) - return True - except: - pass - return False + if(ip_version == 4): + HOST = "ipv4.google.com" + elif(ip_version == 6): + HOST = "ipv6.google.com" + try: + s = socket.create_connection((HOST, 80), 2) + return True + except: + pass + return False -lostRate = {} +lostRate = { + '10010': 0.0, + '189': 0.0, + '10086': 0.0 +} def _ping_thread(host, mark): output = os.popen('ping -O %s &' % host) lostCount = 0 @@ -175,33 +179,33 @@ def _ping_thread(host, mark): startTime = endTime def get_packetLostRate(): - t1 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'www.10010.com', - 'mark': '10010' - } - ) - t2 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'www.189.cn', - 'mark': '189' - } - ) - t3 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'bj.10086.cn', - 'mark': '10086' - } - ) - t1.setDaemon(True) - t2.setDaemon(True) - t3.setDaemon(True) - t1.start() - t2.start() - t3.start() + t1 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'www.10010.com', + 'mark': '10010' + } + ) + t2 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'www.189.cn', + 'mark': '189' + } + ) + t3 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'bj.10086.cn', + 'mark': '10086' + } + ) + t1.setDaemon(True) + t2.setDaemon(True) + t3.setDaemon(True) + t1.start() + t2.start() + t3.start() if __name__ == '__main__': for argc in sys.argv: @@ -217,80 +221,83 @@ if __name__ == '__main__': INTERVAL = int(argc.split('INTERVAL=')[-1]) socket.setdefaulttimeout(30) while 1: - try: - print("Connecting...") - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((SERVER, PORT)) - data = s.recv(1024) - if data.find("Authentication required") > -1: - s.send(USER + ':' + PASSWORD + '\n') - data = s.recv(1024) - if data.find("Authentication successful") < 0: - print(data) - raise socket.error - else: - print(data) - raise socket.error + try: + print("Connecting...") + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.connect((SERVER, PORT)) + data = s.recv(1024) + if data.find("Authentication required") > -1: + s.send(USER + ':' + PASSWORD + '\n') + data = s.recv(1024) + if data.find("Authentication successful") < 0: + print(data) + raise socket.error + else: + print(data) + raise socket.error - print(data) - data = s.recv(1024) - print(data) + print(data) + data = s.recv(1024) + print(data) - timer = 0 - check_ip = 0 - if data.find("IPv4") > -1: - check_ip = 6 - elif data.find("IPv6") > -1: - check_ip = 4 - else: - print(data) - raise socket.error + timer = 0 + check_ip = 0 + if data.find("IPv4") > -1: + check_ip = 6 + elif data.find("IPv6") > -1: + check_ip = 4 + else: + print(data) + raise socket.error - traffic = Traffic() - traffic.get() - while 1: - CPU = get_cpu() - NetRx, NetTx = traffic.get() - NET_IN, NET_OUT = liuliang() - Uptime = get_uptime() - Load_1, Load_5, Load_15 = os.getloadavg() - MemoryTotal, MemoryUsed, SwapTotal, SwapFree = get_memory() - HDDTotal, HDDUsed = get_hdd() - IP_STATUS = ip_status() + traffic = Traffic() + traffic.get() + while 1: + CPU = get_cpu() + NetRx, NetTx = traffic.get() + NET_IN, NET_OUT = liuliang() + Uptime = get_uptime() + Load_1, Load_5, Load_15 = os.getloadavg() + MemoryTotal, MemoryUsed, SwapTotal, SwapFree = get_memory() + HDDTotal, HDDUsed = get_hdd() + IP_STATUS = ip_status() - array = {} - if not timer: - array['online' + str(check_ip)] = get_network(check_ip) - timer = 10 - else: - timer -= 1*INTERVAL + array = {} + if not timer: + array['online' + str(check_ip)] = get_network(check_ip) + timer = 10 + else: + timer -= 1*INTERVAL - array['uptime'] = Uptime - array['load_1'] = Load_1 - array['load_5'] = Load_5 - array['load_15'] = Load_15 - array['memory_total'] = MemoryTotal - array['memory_used'] = MemoryUsed - array['swap_total'] = SwapTotal - array['swap_used'] = SwapTotal - SwapFree - array['hdd_total'] = HDDTotal - array['hdd_used'] = HDDUsed - array['cpu'] = CPU - array['network_rx'] = NetRx - array['network_tx'] = NetTx - array['network_in'] = NET_IN - array['network_out'] = NET_OUT - array['ip_status'] = IP_STATUS + array['uptime'] = Uptime + array['load_1'] = Load_1 + array['load_5'] = Load_5 + array['load_15'] = Load_15 + array['memory_total'] = MemoryTotal + array['memory_used'] = MemoryUsed + array['swap_total'] = SwapTotal + array['swap_used'] = SwapTotal - SwapFree + array['hdd_total'] = HDDTotal + array['hdd_used'] = HDDUsed + array['cpu'] = CPU + array['network_rx'] = NetRx + array['network_tx'] = NetTx + array['network_in'] = NET_IN + array['network_out'] = NET_OUT + array['ip_status'] = IP_STATUS + array['ping_10010'] = lostRate.get('10010') * 100 + array['ping_189'] = lostRate.get('189') * 100 + array['ping_10086'] = lostRate.get('10086') * 100 - s.send("update " + json.dumps(array) + "\n") - except KeyboardInterrupt: - raise - except socket.error: - print("Disconnected...") - # keep on trying after a disconnect - s.close() - time.sleep(3) - except Exception as e: - print("Caught Exception:", e) - s.close() - time.sleep(3) + s.send("update " + json.dumps(array) + "\n") + except KeyboardInterrupt: + raise + except socket.error: + print("Disconnected...") + # keep on trying after a disconnect + s.close() + time.sleep(3) + except Exception as e: + print("Caught Exception:", e) + s.close() + time.sleep(3) diff --git a/clients/client-psutil.py b/clients/client-psutil.py index 0d5cc86..32956bb 100755 --- a/clients/client-psutil.py +++ b/clients/client-psutil.py @@ -3,7 +3,7 @@ # 依赖于psutil跨平台库: # 支持Python版本:2.6 to 3.5 (users of Python 2.4 and 2.5 may use 2.1.3 version) # 支持操作系统: Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD and NetBSD, both 32-bit and 64-bit architectures -# 时间: 20180312 +# 时间: 20180828 SERVER = "127.0.0.1" PORT = 35601 @@ -22,64 +22,64 @@ import sys import threading def get_uptime(): - return int(time.time() - psutil.boot_time()) + return int(time.time() - psutil.boot_time()) def get_memory(): - Mem = psutil.virtual_memory() - try: - MemUsed = Mem.total - (Mem.cached + Mem.free) - except: - MemUsed = Mem.total - Mem.free - return int(Mem.total/1024.0), int(MemUsed/1024.0) + Mem = psutil.virtual_memory() + try: + MemUsed = Mem.total - (Mem.cached + Mem.free) + except: + MemUsed = Mem.total - Mem.free + return int(Mem.total/1024.0), int(MemUsed/1024.0) def get_swap(): - Mem = psutil.swap_memory() - return int(Mem.total/1024.0), int(Mem.used/1024.0) + Mem = psutil.swap_memory() + return int(Mem.total/1024.0), int(Mem.used/1024.0) def get_hdd(): - valid_fs = [ "ext4", "ext3", "ext2", "reiserfs", "jfs", "btrfs", "fuseblk", "zfs", "simfs", "ntfs", "fat32", "exfat", "xfs" ] - disks = dict() - size = 0 - used = 0 - for disk in psutil.disk_partitions(): - if not disk.device in disks and disk.fstype.lower() in valid_fs: - disks[disk.device] = disk.mountpoint - for disk in disks.itervalues(): - usage = psutil.disk_usage(disk) - size += usage.total - used += usage.used - return int(size/1024.0/1024.0), int(used/1024.0/1024.0) + valid_fs = [ "ext4", "ext3", "ext2", "reiserfs", "jfs", "btrfs", "fuseblk", "zfs", "simfs", "ntfs", "fat32", "exfat", "xfs" ] + disks = dict() + size = 0 + used = 0 + for disk in psutil.disk_partitions(): + if not disk.device in disks and disk.fstype.lower() in valid_fs: + disks[disk.device] = disk.mountpoint + for disk in disks.itervalues(): + usage = psutil.disk_usage(disk) + size += usage.total + used += usage.used + return int(size/1024.0/1024.0), int(used/1024.0/1024.0) def get_cpu(): - return psutil.cpu_percent(interval=INTERVAL) + return psutil.cpu_percent(interval=INTERVAL) class Traffic: - def __init__(self): - self.rx = collections.deque(maxlen=10) - self.tx = collections.deque(maxlen=10) - def get(self): - avgrx = 0; avgtx = 0 - for name, stats in psutil.net_io_counters(pernic=True).iteritems(): - if name == "lo" or name.find("tun") > -1 \ - or name.find("docker") > -1 or name.find("veth") > -1 \ - or name.find("br-") > -1: - continue - avgrx += stats.bytes_recv - avgtx += stats.bytes_sent + def __init__(self): + self.rx = collections.deque(maxlen=10) + self.tx = collections.deque(maxlen=10) + def get(self): + avgrx = 0; avgtx = 0 + for name, stats in psutil.net_io_counters(pernic=True).iteritems(): + if name == "lo" or name.find("tun") > -1 \ + or name.find("docker") > -1 or name.find("veth") > -1 \ + or name.find("br-") > -1: + continue + avgrx += stats.bytes_recv + avgtx += stats.bytes_sent - self.rx.append(avgrx) - self.tx.append(avgtx) - avgrx = 0; avgtx = 0 + self.rx.append(avgrx) + self.tx.append(avgtx) + avgrx = 0; avgtx = 0 - l = len(self.rx) - for x in range(l - 1): - avgrx += self.rx[x+1] - self.rx[x] - avgtx += self.tx[x+1] - self.tx[x] + l = len(self.rx) + for x in range(l - 1): + avgrx += self.rx[x+1] - self.rx[x] + avgtx += self.tx[x+1] - self.tx[x] - avgrx = int(avgrx / l / INTERVAL) - avgtx = int(avgtx / l / INTERVAL) + avgrx = int(avgrx / l / INTERVAL) + avgtx = int(avgtx / l / INTERVAL) - return avgrx, avgtx + return avgrx, avgtx def liuliang(): NET_IN = 0 @@ -87,8 +87,8 @@ def liuliang(): net = psutil.net_io_counters(pernic=True) for k, v in net.items(): if k == 'lo' or 'tun' in k \ - or 'br-' in k \ - or 'docker' in k or 'veth' in k: + or 'br-' in k \ + or 'docker' in k or 'veth' in k: continue else: NET_IN += v[1] @@ -96,35 +96,39 @@ def liuliang(): return NET_IN, NET_OUT def ip_status(): - object_check = ['www.10010.com', 'www.189.cn', 'www.10086.cn'] - ip_check = 0 - for i in object_check: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(1) - try: - s.connect((i, 80)) - except: - ip_check += 1 - s.close() - del s - if ip_check >= 2: - return False - else: - return True + object_check = ['www.10010.com', 'www.189.cn', 'www.10086.cn'] + ip_check = 0 + for i in object_check: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.settimeout(1) + try: + s.connect((i, 80)) + except: + ip_check += 1 + s.close() + del s + if ip_check >= 2: + return False + else: + return True def get_network(ip_version): - if(ip_version == 4): - HOST = "ipv4.google.com" - elif(ip_version == 6): - HOST = "ipv6.google.com" - try: - s = socket.create_connection((HOST, 80), 2) - return True - except: - pass - return False + if(ip_version == 4): + HOST = "ipv4.google.com" + elif(ip_version == 6): + HOST = "ipv6.google.com" + try: + s = socket.create_connection((HOST, 80), 2) + return True + except: + pass + return False -lostRate = {} +lostRate = { + '10010': 0.0, + '189': 0.0, + '10086': 0.0 +} def _ping_thread(host, mark): output = os.popen('ping -O %s &' % host if 'linux' in sys.platform else 'ping %s -t &' % host) lostCount = 0 @@ -144,33 +148,33 @@ def _ping_thread(host, mark): startTime = endTime def get_packetLostRate(): - t1 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'www.10010.com', - 'mark': '10010' - } - ) - t2 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'www.189.cn', - 'mark': '189' - } - ) - t3 = threading.Thread( - target=_ping_thread, - kwargs={ - 'host': 'bj.10086.cn', - 'mark': '10086' - } - ) - t1.setDaemon(True) - t2.setDaemon(True) - t3.setDaemon(True) - t1.start() - t2.start() - t3.start() + t1 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'www.10010.com', + 'mark': '10010' + } + ) + t2 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'www.189.cn', + 'mark': '189' + } + ) + t3 = threading.Thread( + target=_ping_thread, + kwargs={ + 'host': 'bj.10086.cn', + 'mark': '10086' + } + ) + t1.setDaemon(True) + t2.setDaemon(True) + t3.setDaemon(True) + t1.start() + t2.start() + t3.start() if __name__ == '__main__': for argc in sys.argv: @@ -186,81 +190,84 @@ if __name__ == '__main__': INTERVAL = int(argc.split('INTERVAL=')[-1]) socket.setdefaulttimeout(30) while 1: - try: - print("Connecting...") - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect((SERVER, PORT)) - data = s.recv(1024) - if data.find("Authentication required") > -1: - s.send(USER + ':' + PASSWORD + '\n') - data = s.recv(1024) - if data.find("Authentication successful") < 0: - print(data) - raise socket.error - else: - print(data) - raise socket.error + try: + print("Connecting...") + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.connect((SERVER, PORT)) + data = s.recv(1024) + if data.find("Authentication required") > -1: + s.send(USER + ':' + PASSWORD + '\n') + data = s.recv(1024) + if data.find("Authentication successful") < 0: + print(data) + raise socket.error + else: + print(data) + raise socket.error - print(data) - data = s.recv(1024) - print(data) + print(data) + data = s.recv(1024) + print(data) - timer = 0 - check_ip = 0 - if data.find("IPv4") > -1: - check_ip = 6 - elif data.find("IPv6") > -1: - check_ip = 4 - else: - print(data) - raise socket.error + timer = 0 + check_ip = 0 + if data.find("IPv4") > -1: + check_ip = 6 + elif data.find("IPv6") > -1: + check_ip = 4 + else: + print(data) + raise socket.error - traffic = Traffic() - traffic.get() - while 1: - CPU = get_cpu() - NetRx, NetTx = traffic.get() - NET_IN, NET_OUT = liuliang() - Uptime = get_uptime() - Load_1, Load_5, Load_15 = os.getloadavg() if 'linux' in sys.platform else (0.0, 0.0, 0.0) - MemoryTotal, MemoryUsed = get_memory() - SwapTotal, SwapUsed = get_swap() - HDDTotal, HDDUsed = get_hdd() - IP_STATUS = ip_status() + traffic = Traffic() + traffic.get() + while 1: + CPU = get_cpu() + NetRx, NetTx = traffic.get() + NET_IN, NET_OUT = liuliang() + Uptime = get_uptime() + Load_1, Load_5, Load_15 = os.getloadavg() if 'linux' in sys.platform else (0.0, 0.0, 0.0) + MemoryTotal, MemoryUsed = get_memory() + SwapTotal, SwapUsed = get_swap() + HDDTotal, HDDUsed = get_hdd() + IP_STATUS = ip_status() - array = {} - if not timer: - array['online' + str(check_ip)] = get_network(check_ip) - timer = 10 - else: - timer -= 1*INTERVAL + array = {} + if not timer: + array['online' + str(check_ip)] = get_network(check_ip) + timer = 10 + else: + timer -= 1*INTERVAL - array['uptime'] = Uptime - array['load_1'] = Load_1 - array['load_5'] = Load_5 - array['load_15'] = Load_15 - array['memory_total'] = MemoryTotal - array['memory_used'] = MemoryUsed - array['swap_total'] = SwapTotal - array['swap_used'] = SwapUsed - array['hdd_total'] = HDDTotal - array['hdd_used'] = HDDUsed - array['cpu'] = CPU - array['network_rx'] = NetRx - array['network_tx'] = NetTx - array['network_in'] = NET_IN - array['network_out'] = NET_OUT - array['ip_status'] = IP_STATUS + array['uptime'] = Uptime + array['load_1'] = Load_1 + array['load_5'] = Load_5 + array['load_15'] = Load_15 + array['memory_total'] = MemoryTotal + array['memory_used'] = MemoryUsed + array['swap_total'] = SwapTotal + array['swap_used'] = SwapUsed + array['hdd_total'] = HDDTotal + array['hdd_used'] = HDDUsed + array['cpu'] = CPU + array['network_rx'] = NetRx + array['network_tx'] = NetTx + array['network_in'] = NET_IN + array['network_out'] = NET_OUT + array['ip_status'] = IP_STATUS + array['ping_10010'] = lostRate.get('10010') * 100 + array['ping_189'] = lostRate.get('189') * 100 + array['ping_10086'] = lostRate.get('10086') * 100 - s.send("update " + json.dumps(array) + "\n") - except KeyboardInterrupt: - raise - except socket.error: - print("Disconnected...") - # keep on trying after a disconnect - s.close() - time.sleep(3) - except Exception as e: - print("Caught Exception:", e) - s.close() - time.sleep(3) + s.send("update " + json.dumps(array) + "\n") + except KeyboardInterrupt: + raise + except socket.error: + print("Disconnected...") + # keep on trying after a disconnect + s.close() + time.sleep(3) + except Exception as e: + print("Caught Exception:", e) + s.close() + time.sleep(3)