ram check, configurable loglevel

This commit is contained in:
Alex Tau 2025-05-13 14:15:56 +03:00
parent 5095057a13
commit da85a566c4
10 changed files with 180 additions and 18 deletions

View file

@ -1,3 +1,4 @@
from .cpu import cpu_check
from .ram import ram_check
from .temp import temp_check
from .vulnix import vulnix_check

View file

@ -0,0 +1,30 @@
from psutil import virtual_memory
from lego_monitoring.alerting import alerts
from lego_monitoring.alerting.enum import AlertType, Severity
from lego_monitoring.core import cvars
IS_TESTING = False
def ram_check() -> list[alerts.Alert]:
percentage = virtual_memory().percent
config = cvars.config.get().checks.ram
if config.critical_percentage and (IS_TESTING or percentage > config.critical_percentage):
return [
alerts.Alert(
alert_type=AlertType.RAM,
message=f"RAM usage: {percentage:.2f}% > {config.critical_percentage:.2f}%",
severity=Severity.CRITICAL,
)
]
elif config.warning_percentage and (IS_TESTING or percentage > config.warning_percentage):
return [
alerts.Alert(
alert_type=AlertType.RAM,
message=f"RAM usage: {percentage:.2f}% > {config.warning_percentage:.2f}%",
severity=Severity.WARNING,
)
]
else:
return []