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()),
|
sender.send_alert(checks.generate_start_alert()),
|
||||||
IntervalChecker(checks.self_check, interval=datetime.timedelta(minutes=5), persistent=False),
|
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.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.TEMP: [IntervalChecker(checks.temp_check, interval=datetime.timedelta(minutes=5), persistent=True)],
|
||||||
check_sets.VULNIX: [
|
check_sets.VULNIX: [
|
||||||
|
|
|
||||||
|
|
@ -87,14 +87,19 @@ class BaseChecker:
|
||||||
class IntervalChecker(BaseChecker):
|
class IntervalChecker(BaseChecker):
|
||||||
_: KW_ONLY
|
_: KW_ONLY
|
||||||
interval: datetime.timedelta
|
interval: datetime.timedelta
|
||||||
|
ignore_first_run: bool = False
|
||||||
|
|
||||||
async def run_checker(self) -> None:
|
async def run_checker(self) -> None:
|
||||||
interval_secs = self.interval.total_seconds()
|
interval_secs = self.interval.total_seconds()
|
||||||
|
ignore_first_run = self.ignore_first_run
|
||||||
while True:
|
while True:
|
||||||
logging.info(f"Calling {self.check.__name__}")
|
logging.info(f"Calling {self.check.__name__}")
|
||||||
result = await self._call_check()
|
result = await self._call_check()
|
||||||
logging.info(f"Got {len(result)} alerts")
|
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)
|
await asyncio.sleep(interval_secs)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue