mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-12 05:35:19 +00:00
add cpu check
This commit is contained in:
parent
8709b019ea
commit
5095057a13
12 changed files with 123 additions and 21 deletions
|
|
@ -1,15 +1,17 @@
|
|||
import json
|
||||
from dataclasses import dataclass
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional
|
||||
|
||||
from alt_utils import NestedDeserializableDataclass
|
||||
|
||||
from .checks.cpu import CpuCheckConfig
|
||||
from .checks.temp import TempCheckConfig
|
||||
from .checks.vulnix import VulnixCheckConfig
|
||||
|
||||
|
||||
@dataclass
|
||||
class ChecksConfig(NestedDeserializableDataclass):
|
||||
cpu: Optional[CpuCheckConfig] = None
|
||||
temp: Optional[TempCheckConfig] = None
|
||||
vulnix: Optional[VulnixCheckConfig] = None
|
||||
|
||||
|
|
@ -22,9 +24,9 @@ class TelegramConfig:
|
|||
|
||||
@dataclass
|
||||
class Config(NestedDeserializableDataclass):
|
||||
enabled_check_sets: list[str]
|
||||
checks: ChecksConfig
|
||||
telegram: TelegramConfig
|
||||
enabled_check_sets: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
def load_config(filepath: str) -> Config:
|
||||
|
|
|
|||
8
src/lego_monitoring/config/checks/cpu.py
Normal file
8
src/lego_monitoring/config/checks/cpu.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class CpuCheckConfig:
|
||||
warning_percentage: Optional[float] = 80
|
||||
critical_percentage: Optional[float] = 90
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
from dataclasses import dataclass
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional
|
||||
|
||||
from alt_utils import NestedDeserializableDataclass
|
||||
|
|
@ -6,19 +6,19 @@ from alt_utils import NestedDeserializableDataclass
|
|||
|
||||
@dataclass
|
||||
class TempReadingConfig:
|
||||
label: Optional[str]
|
||||
enabled: bool
|
||||
warning_temp: Optional[float]
|
||||
critical_temp: Optional[float]
|
||||
label: Optional[str] = None
|
||||
enabled: bool = True
|
||||
warning_temp: Optional[float] = None
|
||||
critical_temp: Optional[float] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class TempSensorConfig(NestedDeserializableDataclass):
|
||||
name: Optional[str]
|
||||
enabled: bool
|
||||
readings: dict[str, TempReadingConfig]
|
||||
name: Optional[str] = None
|
||||
enabled: bool = True
|
||||
readings: dict[str, TempReadingConfig] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class TempCheckConfig(NestedDeserializableDataclass):
|
||||
sensors: dict[str, TempSensorConfig]
|
||||
sensors: dict[str, TempSensorConfig] = field(default_factory=dict)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue