mirror of
https://github.com//cppla/ServerStatus
synced 2025-12-14 01:33:54 +08:00
psutil add io total
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# coding: utf-8
|
||||
# Update by : https://github.com/cppla/ServerStatus, Update date: 20211009
|
||||
# 版本:1.0.2, 支持Python版本:2.7 to 3.9
|
||||
# Update by : https://github.com/cppla/ServerStatus, Update date: 20220323
|
||||
# 版本:1.0.3, 支持Python版本:2.7 to 3.9
|
||||
# 支持操作系统: Linux, OSX, FreeBSD, OpenBSD and NetBSD, both 32-bit and 64-bit architectures
|
||||
# 说明: 默认情况下修改server和user就可以了。丢包率监测方向可以自定义,例如:CU = "www.facebook.com"。
|
||||
|
||||
@@ -9,16 +9,15 @@ SERVER = "127.0.0.1"
|
||||
USER = "s01"
|
||||
|
||||
|
||||
|
||||
PORT = 35601
|
||||
PASSWORD = "USER_DEFAULT_PASSWORD"
|
||||
INTERVAL = 1
|
||||
PROBEPORT = 80
|
||||
PROBE_PROTOCOL_PREFER = "ipv4" # ipv4, ipv6
|
||||
PING_PACKET_HISTORY_LEN = 100
|
||||
PORT = 35601
|
||||
CU = "cu.tz.cloudcpp.com"
|
||||
CT = "ct.tz.cloudcpp.com"
|
||||
CM = "cm.tz.cloudcpp.com"
|
||||
PROBEPORT = 80
|
||||
PROBE_PROTOCOL_PREFER = "ipv4" # ipv4, ipv6
|
||||
PING_PACKET_HISTORY_LEN = 100
|
||||
INTERVAL = 1
|
||||
|
||||
import socket
|
||||
import time
|
||||
@@ -147,6 +146,10 @@ netSpeed = {
|
||||
'avgrx': 0,
|
||||
'avgtx': 0
|
||||
}
|
||||
diskIO = {
|
||||
'read': 0,
|
||||
'write': 0
|
||||
}
|
||||
|
||||
def _ping_thread(host, mark, port):
|
||||
lostPacket = 0
|
||||
@@ -210,6 +213,10 @@ def _net_speed():
|
||||
netSpeed["avgtx"] = avgtx
|
||||
time.sleep(INTERVAL)
|
||||
|
||||
def _disk_io():
|
||||
diskIO["read"] = 0
|
||||
diskIO["write"] = 0
|
||||
|
||||
def get_realtime_data():
|
||||
'''
|
||||
real time get system data
|
||||
@@ -242,14 +249,12 @@ def get_realtime_data():
|
||||
t4 = threading.Thread(
|
||||
target=_net_speed,
|
||||
)
|
||||
t1.setDaemon(True)
|
||||
t2.setDaemon(True)
|
||||
t3.setDaemon(True)
|
||||
t4.setDaemon(True)
|
||||
t1.start()
|
||||
t2.start()
|
||||
t3.start()
|
||||
t4.start()
|
||||
t5 = threading.Thread(
|
||||
target=_disk_io(),
|
||||
)
|
||||
for ti in [t1, t2, t3, t4, t5]:
|
||||
ti.setDaemon(True)
|
||||
ti.start()
|
||||
|
||||
def byte_str(object):
|
||||
'''
|
||||
@@ -347,6 +352,8 @@ if __name__ == '__main__':
|
||||
array['time_189'] = pingTime.get('189')
|
||||
array['time_10086'] = pingTime.get('10086')
|
||||
array['tcp'], array['udp'], array['process'], array['thread'] = tupd()
|
||||
array['io_read'] = diskIO.get("read")
|
||||
array['io_write'] = diskIO.get("write")
|
||||
|
||||
s.send(byte_str("update " + json.dumps(array) + "\n"))
|
||||
except KeyboardInterrupt:
|
||||
|
||||
Reference in New Issue
Block a user