monitoring.py/run.py

46 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python3
import time
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
from exporter.cli import Cli
from exporter.statsdExporter import StatsdExporter
from monitors.load import Load
from monitors.hdd import HDD
from monitors.processes import Processes
from monitors.ram import Ram
from monitors.cpu import CPU
from monitors.user import User
from monitors.network import Network
from monitors.apt import APT
from monitors.ufw import UFW
from monitors.managed import Managed
from monitors.restart import Restart
#exporter = Cli()
exporter = StatsdExporter()
checks = []
checks.append(Load(exporter))
checks.append(HDD(exporter))
checks.append(Processes(exporter))
checks.append(Ram(exporter))
checks.append(CPU(exporter))
checks.append(User(exporter))
if config['Checks']['Network'] == True:
checks.append(Network(exporter))
checks.append(APT(exporter))
checks.append(UFW(exporter))
checks.append(Managed(exporter))
checks.append(Restart(exporter))
while True:
for check in checks:
if check.loopCount > check.interval:
check.run()
check.loopCount = -1;
check.loopCount = check.loopCount + 1
time.sleep(1)