mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-10 12:45:19 +00:00
alerting if upsc is not installed
This commit is contained in:
parent
66bc90da5c
commit
17e5d1be0c
2 changed files with 15 additions and 3 deletions
|
|
@ -98,7 +98,10 @@ async def vuln_check() -> list[alerts.Alert]:
|
||||||
|
|
||||||
|
|
||||||
async def ups_check() -> list[alerts.Alert]:
|
async def ups_check() -> list[alerts.Alert]:
|
||||||
sensor = sensors.Sensors.get_ups()
|
sensor = await sensors.Sensors.get_ups()
|
||||||
|
|
||||||
|
if not sensor: return
|
||||||
|
|
||||||
alert_list = []
|
alert_list = []
|
||||||
|
|
||||||
if IS_TESTING or sensor.battery_charge_percentage < sensor.battery_critical_percentage:
|
if IS_TESTING or sensor.battery_charge_percentage < sensor.battery_critical_percentage:
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ from dataclasses import dataclass
|
||||||
from psutil import cpu_percent, sensors_temperatures, virtual_memory
|
from psutil import cpu_percent, sensors_temperatures, virtual_memory
|
||||||
|
|
||||||
from .enums import UPSStatus
|
from .enums import UPSStatus
|
||||||
|
from alerting import alerts
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
@ -111,8 +112,16 @@ class Sensors:
|
||||||
return RamSensor(current_avail=ram.available, current_avail_percentage=ram.percent)
|
return RamSensor(current_avail=ram.available, current_avail_percentage=ram.percent)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_ups() -> UPSSensor:
|
async def get_ups() -> None | UPSSensor:
|
||||||
raw_data = subprocess.run(["upsc", "cp1300"], stdout=subprocess.PIPE, encoding="utf-8")
|
try:
|
||||||
|
raw_data = subprocess.run(["upsc", "cp1300"], stdout=subprocess.PIPE, encoding="utf-8")
|
||||||
|
except FileNotFoundError:
|
||||||
|
await alerts.send_alert(alerts.Alert(
|
||||||
|
alert_type=alerts.AlertType.ERROR,
|
||||||
|
message="upsc is not installed!",
|
||||||
|
severity=alerts.Severity.CRITICAL
|
||||||
|
))
|
||||||
|
return None
|
||||||
|
|
||||||
sensor_data = UPSSensor()
|
sensor_data = UPSSensor()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue