homelab-brain/homelab-ai-bot/tools/prometheus.py

45 lines
1.3 KiB
Python

"""Prometheus Server-Metriken Tools."""
from core import prometheus_client
TOOLS = [
{
"type": "function",
"function": {
"name": "get_server_metrics",
"description": "Server-Metriken (CPU, RAM, Disk, Netzwerk) von Prometheus. Ohne host = Uebersicht aller Server.",
"parameters": {
"type": "object",
"properties": {
"host": {"type": "string", "description": "Hostname fuer Detail-Ansicht (optional)"}
},
"required": [],
},
},
},
{
"type": "function",
"function": {
"name": "get_server_warnings",
"description": "Aktuelle Server-Warnungen: hohe CPU, volle Disks, wenig RAM etc.",
"parameters": {"type": "object", "properties": {}, "required": []},
},
},
]
def handle_get_server_metrics(host=None, **kw):
if host:
return prometheus_client.format_host_detail(host)
return prometheus_client.format_overview()
def handle_get_server_warnings(**kw):
warnings = prometheus_client.get_warnings()
return "\n".join(warnings) if warnings else "Keine Warnungen — alle Werte normal."
HANDLERS = {
"get_server_metrics": handle_get_server_metrics,
"get_server_warnings": handle_get_server_warnings,
}