mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-10 04:41:10 +00:00
checkers are now objects, lay foundation for persistent alerts
This commit is contained in:
parent
5d2759c63c
commit
eef6ec59b0
12 changed files with 162 additions and 81 deletions
|
|
@ -5,12 +5,12 @@ import logging
|
|||
import signal
|
||||
|
||||
from . import checks
|
||||
from .alerting import alerts
|
||||
from .alerting import channel
|
||||
from .checks.temp.sensors import print_readings
|
||||
from .config import enums as config_enums
|
||||
from .config import load_config
|
||||
from .core import cvars
|
||||
from .core.checkers import interval_checker
|
||||
from .core.checkers import IntervalChecker
|
||||
|
||||
stopping = False
|
||||
|
||||
|
|
@ -47,18 +47,28 @@ async def async_main():
|
|||
|
||||
logging.basicConfig(level=config.log_level)
|
||||
|
||||
tg_client = await alerts.get_client()
|
||||
tg_client = await channel.get_client()
|
||||
cvars.tg_client.set(tg_client)
|
||||
|
||||
check_sets = config_enums.CheckSet
|
||||
|
||||
checker_sets = {
|
||||
check_sets.START: [alerts.send_start_alert()],
|
||||
check_sets.START: [channel.send_start_alert()],
|
||||
check_sets.STOP: [], # this is checked later
|
||||
check_sets.CPU: [interval_checker(checks.cpu_check, datetime.timedelta(minutes=5))],
|
||||
check_sets.RAM: [interval_checker(checks.ram_check, datetime.timedelta(minutes=1))],
|
||||
check_sets.TEMP: [interval_checker(checks.temp_check, datetime.timedelta(minutes=5))],
|
||||
check_sets.VULNIX: [interval_checker(checks.vulnix_check, datetime.timedelta(days=3))],
|
||||
check_sets.CPU: [
|
||||
IntervalChecker(checks.cpu_check, interval=datetime.timedelta(minutes=5), persistent=True).run_checker()
|
||||
],
|
||||
check_sets.RAM: [
|
||||
IntervalChecker(checks.ram_check, interval=datetime.timedelta(minutes=1), persistent=True).run_checker()
|
||||
],
|
||||
check_sets.TEMP: [
|
||||
IntervalChecker(checks.temp_check, interval=datetime.timedelta(minutes=5), persistent=True).run_checker()
|
||||
],
|
||||
check_sets.VULNIX: [
|
||||
IntervalChecker(
|
||||
checks.vulnix_check, interval=datetime.timedelta(days=3), persistent=True, send_same_state=True
|
||||
).run_checker()
|
||||
],
|
||||
}
|
||||
|
||||
checkers = []
|
||||
|
|
@ -76,7 +86,7 @@ async def async_main():
|
|||
while True:
|
||||
if stopping:
|
||||
if "stop" in config.enabled_check_sets:
|
||||
await alerts.send_stop_alert()
|
||||
await channel.send_stop_alert()
|
||||
await tg_client.disconnect()
|
||||
raise SystemExit
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue