diff --git a/.run_monitor.py.swp b/.run_monitor.py.swp new file mode 100644 index 0000000..3dd4731 Binary files /dev/null and b/.run_monitor.py.swp differ diff --git a/run_monitor.py b/run_monitor.py index 2b31d99..b59eae8 100644 --- a/run_monitor.py +++ b/run_monitor.py @@ -34,12 +34,12 @@ def publish(client): memory, memory_usage, swap_usage = get_memory() cpu_usage = get_cpu() mac_address = get_mac_address() - boot_storage, boot_storage_usage = get_disk() + boot_storage, boot_storage_usage = get_boot_storage() storage, storage_usage = get_storage() ip_private, ip_public = get_IP() uptime = get_uptime() service_state = monitor_docker() - time.sleep(5) + time.sleep(59) params = { "server_id": "server_test", "mac_address": mac_address[0], @@ -160,22 +160,38 @@ def get_cpu(): cpu_used = round((user + system)*100 / (user + system + idle), 1) return cpu_used -def get_disk(): - cmd = 'df -h | grep /dev/sda5' - output = os.popen(cmd).read().split(" ") - # print("output: ", output) - d_used = output[13].split("%") - # print("d_used: ", d_used) - boot_storage = output[7].split("G") - boot_storage_usage = d_used[0] +def get_boot_storage(): + boot_storage_usage = None + boot_storage = None + cmd = 'df -h' + output = os.popen(cmd).read().split('\n') + for line in output: + splits = line.split(" ") + d = [] + for i in splits: + if i != '': + d.append(i) + if (len(d) and d[-1] == "/") : + d_used = d[4].split("%") + boot_storage_usage = d_used[0] + boot_storage = d[2].split("G") return boot_storage, boot_storage_usage def get_storage(): - cmd = 'df -h | grep /dev/sda5' - output = os.popen(cmd).read().split(" ") - d_used = output[13].split("%") - storage = output[7].split("G") - storage_usage = d_used[0] + storage_usage = None + storage = None + cmd = 'df -h' + output = os.popen(cmd).read().split('\n') + for line in output: + splits = line.split(" ") + d = [] + for i in splits: + if i != '': + d.append(i) + if (len(d) and d[-1] == "/dev") : + d_used = d[4].split("%") + storage_usage = d_used[0] + storage = d[2].split("G") return storage, storage_usage def readfile():