network monitoring

This commit is contained in:
Alex Tau 2025-06-07 15:59:05 +03:00
parent 8af7b683b6
commit 8b18d407d7
21 changed files with 434 additions and 53 deletions

View file

@ -6,6 +6,7 @@ from alt_utils import NestedDeserializableDataclass
from . import enums
from .checks.cpu import CpuCheckConfig
from .checks.net import NetCheckConfig
from .checks.ram import RamCheckConfig
from .checks.temp import TempCheckConfig
from .checks.vulnix import VulnixCheckConfig
@ -17,6 +18,7 @@ class ChecksConfig(NestedDeserializableDataclass):
ram: RamCheckConfig = field(default_factory=RamCheckConfig)
temp: TempCheckConfig = field(default_factory=TempCheckConfig)
vulnix: Optional[VulnixCheckConfig] = None # vulnix check WILL raise if this config section is None
net: NetCheckConfig = field(default_factory=NetCheckConfig)
@dataclass

View file

@ -0,0 +1,19 @@
from dataclasses import dataclass, field
from typing import Optional
from alt_utils import NestedDeserializableDataclass
@dataclass
class NetInterfaceConfig:
warning_threshold_sent_bytes: Optional[int] = None
critical_threshold_sent_bytes: Optional[int] = None
warning_threshold_recv_bytes: Optional[int] = None
critical_threshold_recv_bytes: Optional[int] = None
warning_threshold_comb_bytes: Optional[int] = None
critical_threshold_comb_bytes: Optional[int] = None
@dataclass
class NetCheckConfig(NestedDeserializableDataclass):
interfaces: dict[str, NetInterfaceConfig] = field(default_factory=dict)

View file

@ -9,6 +9,7 @@ class CheckSet(StrEnum):
CPU = "cpu"
RAM = "ram"
TEMP = "temp"
NET = "net"
VULNIX = "vulnix"