#!/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)