Add monitoring script for windows
This commit is contained in:
parent
364c5c0057
commit
8d1985157a
1 changed files with 81 additions and 0 deletions
81
sysmon_windows.py
Normal file
81
sysmon_windows.py
Normal file
|
@ -0,0 +1,81 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
import psutil
|
||||
import serial
|
||||
from time import sleep
|
||||
import math
|
||||
import platform
|
||||
import clr
|
||||
clr.AddReference(r'OpenHardwareMonitorLib')
|
||||
from OpenHardwareMonitor import Hardware
|
||||
|
||||
file_descriptor = 'COM5'
|
||||
baud_rate = 9600
|
||||
|
||||
arduino = serial.Serial(port=file_descriptor, baudrate=baud_rate)
|
||||
sleep(6)
|
||||
|
||||
def send_command(command):
|
||||
print("sent: " + command)
|
||||
arduino.write(command.encode())
|
||||
sleep(0.1)
|
||||
|
||||
def set_time(date_time):
|
||||
curr_time=date_time.strftime('%H:%M:%S')
|
||||
return curr_time
|
||||
|
||||
|
||||
def set_max():
|
||||
ram_max = int(psutil.virtual_memory().total / (1024.*1024.))
|
||||
return ram_max
|
||||
|
||||
def set_free():
|
||||
ram_free = int(psutil.virtual_memory().free / (1024.*1024.))
|
||||
return ram_free
|
||||
|
||||
def set_OS():
|
||||
OSName = platform.uname()[0]
|
||||
return OSName
|
||||
|
||||
def set_kernel_version():
|
||||
Kernel = platform.uname().version
|
||||
return Kernel
|
||||
|
||||
def set_uptime():
|
||||
uptime_seconds = psutil.boot_time()
|
||||
uptime = datetime.now() - datetime.fromtimestamp(uptime_seconds)
|
||||
uptime_hours = int(uptime.total_seconds() // 3600)
|
||||
uptime_minutes = int((uptime.total_seconds() % 3600) // 60)
|
||||
uptime = f"{uptime_hours:02d}:{uptime_minutes:02d}"
|
||||
return uptime
|
||||
|
||||
def get_cpu_temperature():
|
||||
computer = Hardware.Computer()
|
||||
computer.Open()
|
||||
computer.CPUEnabled = True
|
||||
|
||||
for hardware in computer.Hardware:
|
||||
if hardware.HardwareType == Hardware.HardwareType.CPU:
|
||||
hardware.Update()
|
||||
for sensor in hardware.Sensors:
|
||||
if sensor.SensorType == Hardware.SensorType.Temperature and sensor.Name == "CPU Package":
|
||||
return sensor.Value
|
||||
|
||||
def start():
|
||||
while 1:
|
||||
cpu_temp = get_cpu_temperature()
|
||||
cpu_pct = psutil.cpu_percent(interval=None, percpu=False)
|
||||
cpu_global = int(cpu_pct)
|
||||
request = "\nCpuTemp="+str(cpu_temp)+",CpuUsage="+str(math.trunc(cpu_global))+",RamMax="+str(set_max())+",RamFree="+str(set_free())+",Time="+str(set_time(datetime.now()))+",OS="+str(set_OS())+",Kernel="+str(set_kernel_version())+",Uptime="+str(set_uptime())
|
||||
send_command(request)
|
||||
sleep(2)
|
||||
|
||||
|
||||
def main():
|
||||
start()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue