mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-10 04:41:10 +00:00
add more ups alert events
This commit is contained in:
parent
983caffc10
commit
df21b8dfdb
1 changed files with 79 additions and 36 deletions
115
misc/checks.py
115
misc/checks.py
|
|
@ -100,53 +100,96 @@ async def vuln_check() -> list[alerts.Alert]:
|
||||||
async def ups_check() -> list[alerts.Alert]:
|
async def ups_check() -> list[alerts.Alert]:
|
||||||
sensor = await sensors.Sensors.get_ups()
|
sensor = await sensors.Sensors.get_ups()
|
||||||
|
|
||||||
if not sensor: return
|
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:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"Battery is under {sensor.battery_critical_percentage}%\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)} remaining.",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.CRITICAL
|
message=f"Battery is under {sensor.battery_critical_percentage}%\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)} remaining.",
|
||||||
))
|
severity=alerts.Severity.CRITICAL,
|
||||||
|
)
|
||||||
|
)
|
||||||
elif IS_TESTING or sensor.battery_charge_percentage < sensor.battery_warning_percentage:
|
elif IS_TESTING or sensor.battery_charge_percentage < sensor.battery_warning_percentage:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"Battery is under {sensor.battery_warning_percentage}%\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)} remaining.",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.WARNING
|
message=f"Battery is under {sensor.battery_warning_percentage}%\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)} remaining.",
|
||||||
))
|
severity=alerts.Severity.WARNING,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
for status in sensor.ups_status:
|
for status in sensor.ups_status:
|
||||||
if IS_TESTING or status == UPSStatus.BATTERY_REPLACE:
|
if IS_TESTING or status == UPSStatus.BATTERY_REPLACE:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"UPS battery needs to be replaced ASAP!",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.CRITICAL
|
message=f"UPS battery needs to be replaced ASAP!",
|
||||||
))
|
severity=alerts.Severity.CRITICAL,
|
||||||
|
)
|
||||||
|
)
|
||||||
elif IS_TESTING or status == UPSStatus.UPS_OVERLOAD:
|
elif IS_TESTING or status == UPSStatus.UPS_OVERLOAD:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"UPS is overloaded!",
|
alert_type=alerts.AlertType.UPS, message=f"UPS is overloaded!", severity=alerts.Severity.CRITICAL
|
||||||
severity=alerts.Severity.CRITICAL
|
)
|
||||||
))
|
)
|
||||||
elif IS_TESTING or status == UPSStatus.UPS_BYPASS:
|
elif IS_TESTING or status == UPSStatus.UPS_BYPASS:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"BYPASS MODE: Battery and connected devices are not protected from power outage!",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.WARNING
|
message=f"BYPASS MODE: Battery and connected devices are not protected from power outage!",
|
||||||
))
|
severity=alerts.Severity.WARNING,
|
||||||
|
)
|
||||||
|
)
|
||||||
elif IS_TESTING or status == UPSStatus.UPS_CALIBRATION:
|
elif IS_TESTING or status == UPSStatus.UPS_CALIBRATION:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"UPS is currently performing runtime calibration.",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.INFO
|
message=f"UPS is currently performing runtime calibration.",
|
||||||
))
|
severity=alerts.Severity.INFO,
|
||||||
|
)
|
||||||
|
)
|
||||||
elif IS_TESTING or status == UPSStatus.ON_BATTERY:
|
elif IS_TESTING or status == UPSStatus.ON_BATTERY:
|
||||||
alert_list.append(alerts.Alert(
|
alert_list.append(
|
||||||
alert_type=alerts.AlertType.UPS,
|
alerts.Alert(
|
||||||
message=f"UPS is on battery.\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)}) remaining.",
|
alert_type=alerts.AlertType.UPS,
|
||||||
severity=alerts.Severity.INFO
|
message=f"UPS is on battery.\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)}) remaining.",
|
||||||
))
|
severity=alerts.Severity.INFO,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif IS_TESTING or status == UPSStatus.UPS_OFFLINE:
|
||||||
|
alert_list.append(
|
||||||
|
alerts.Alert(
|
||||||
|
alert_type=alerts.AlertType.UPS, message=f"UPS seems to be offline.", severity=alerts.Severity.INFO
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif IS_TESTING or status == UPSStatus.UPS_TRIM:
|
||||||
|
alert_list.append(
|
||||||
|
alerts.Alert(
|
||||||
|
alert_type=alerts.AlertType.UPS,
|
||||||
|
message=f"Overvoltage detected: trimming voltage to nominal.",
|
||||||
|
severity=alerts.Severity.INFO,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif IS_TESTING or status == UPSStatus.UPS_BOOST:
|
||||||
|
alert_list.append(
|
||||||
|
alerts.Alert(
|
||||||
|
alert_type=alerts.AlertType.UPS,
|
||||||
|
message=f"Undervoltage detected: boosting voltage to nominal.",
|
||||||
|
severity=alerts.Severity.INFO,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif IS_TESTING or status == UPSStatus.UPS_FSD:
|
||||||
|
alert_list.append(
|
||||||
|
alerts.Alert(
|
||||||
|
alert_type=alerts.AlertType.UPS,
|
||||||
|
message=f"Shutdown imminent!",
|
||||||
|
severity=alerts.Severity.CRITICAL,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
return alert_list
|
return alert_list
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue