mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-09 20:31:10 +00:00
ignore first cpu check to prevent guaranteed alert on machine startup
This commit is contained in:
parent
c355583f59
commit
9b884788a6
2 changed files with 11 additions and 2 deletions
|
|
@ -56,7 +56,11 @@ async def async_main():
|
|||
sender.send_alert(checks.generate_start_alert()),
|
||||
IntervalChecker(checks.self_check, interval=datetime.timedelta(minutes=5), persistent=False),
|
||||
],
|
||||
check_sets.CPU: [IntervalChecker(checks.cpu_check, interval=datetime.timedelta(minutes=3), persistent=True)],
|
||||
check_sets.CPU: [
|
||||
IntervalChecker(
|
||||
checks.cpu_check, interval=datetime.timedelta(minutes=3), persistent=True, ignore_first_run=True
|
||||
)
|
||||
],
|
||||
check_sets.RAM: [IntervalChecker(checks.ram_check, interval=datetime.timedelta(minutes=1), persistent=True)],
|
||||
check_sets.TEMP: [IntervalChecker(checks.temp_check, interval=datetime.timedelta(minutes=5), persistent=True)],
|
||||
check_sets.VULNIX: [
|
||||
|
|
|
|||
|
|
@ -87,14 +87,19 @@ class BaseChecker:
|
|||
class IntervalChecker(BaseChecker):
|
||||
_: KW_ONLY
|
||||
interval: datetime.timedelta
|
||||
ignore_first_run: bool = False
|
||||
|
||||
async def run_checker(self) -> None:
|
||||
interval_secs = self.interval.total_seconds()
|
||||
ignore_first_run = self.ignore_first_run
|
||||
while True:
|
||||
logging.info(f"Calling {self.check.__name__}")
|
||||
result = await self._call_check()
|
||||
logging.info(f"Got {len(result)} alerts")
|
||||
await self._handle_alerts(result)
|
||||
if ignore_first_run:
|
||||
ignore_first_run = False
|
||||
else:
|
||||
await self._handle_alerts(result)
|
||||
await asyncio.sleep(interval_secs)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue