{
"meta": {
"title": "ProxMenux Monitor — Dashboard: Systemprotokolle | ProxMenux-Dokumentation",
"description": "Die Registerkarte Systemprotokolle konsolidiert drei Quellen in einem Bildschirm: journalctl mit Filtern und Download, Proxmox Task History (UPIDs) und Benachrichtigungsprotokoll - alle durchsuchbar, nach Schweregrad / Zeitbereich filterbar und als Textbündel herunterladbar."
},
"header": {
"title": "Dashboard: Systemprotokolle",
"description": "Drei Unterreiter in einer Ansicht: das Systemjournal (journalctl mit Filtern), der Proxmox-Aufgabenverlauf und das Benachrichtigungsprotokoll. Alle drei lassen sich durchsuchen, filtern und als Textpakete herunterladen.",
"section": "ProxMenux Monitor · Übersicht"
},
"readOnly": {
"title": "Read-only nach Design",
"body": "Dieser Reiter verändert keine Protokolldateien. Die Filter werden in der URL bzw. im Ansichtsstatus gehalten; Downloads werden auf dem Server erstellt. Das Dashboard löscht keine Einträge. Zur Protokollpflege verwenden Sie auf dem Host journalctl --vacuum-time=<N> oder logrotate."
},
"topRow": {
"heading": "Obere Reihe: vier Zähler",
"items": [
"Einträge insgesamt — Anzahl der Protokolleinträge im aktiven Filterzeitraum.",
"Fehler — Anzahl der Einträge mit Schweregrad ≤ 3 (err / crit / alert / emerg).",
"Warnungen — Anzahl der Einträge mit Schweregrad 4 (warning).",
"Sicherungen — Anzahl der vzdump-/PBS-Aufgabeneinträge im selben Zeitraum."
]
},
"subtabs": {
"heading": "Drei Unterreiter",
"logsTitle": "Protokolle",
"logsIntro": "Das Systemjournal wird auf dem Server mit journalctl abgerufen. Die Werkzeugleiste bietet folgende Filter :",
"logsFilters": [
"Schweregrad — emerg / alert / crit / err / warning / notice / info / debug oder eine beliebige Kombination.",
"Zeitbereich — zuletzt 5 min. / 15 min. / 1 h / 6 h / 24 h / 7 d / Custom.",
"Freitextsuche — Teilzeichenfolge oder regulärer Ausdruck (journalctl --grep).",
"Unit-Filter — auf eine bestimmte systemd-Unit beschränken (pveproxy.service, nginx.service, …)."
],
"logsRowsAfter": "Jede Zeile zeigt Zeitstempel, Schweregradabzeichen, Quelleinheit und die Nachricht. Lange Nachrichten brechen mit einem \"mehr anzeigen\"-Schalter zusammen. Die Aktion Download bündelt den aktuellen Filter über GET /api/logs/download in einer einzigen .txt-Datei – nützlich, wenn Sie ein Stück Journal mit jemandem teilen möchten.",
"logDetailsModalTitle": "Dialog Protokolldetails",
"logDetailsBody": "Ein Klick auf eine Zeile öffnet Protokolldetails mit allen strukturierten Feldern, die journald für diesen Eintrag erfasst hat — wie bei journalctl --output=verbose auf dem Host.",
"logDetailsImageAlt": "Dialog Protokolldetails — einzelner Journaleintrag mit Stufe, Dienst, Zeitstempel, Quelle, systemd-Unit, Prozess-ID, Hostname und vollständiger Nachricht",
"logDetailsImageCaption": "Protokolldetails — alle strukturierten journald-Felder dieses Eintrags mit der vollständigen, ungekürzten Nachricht am Ende. Hilfreich bei cron- und Dienstprotokollen, wenn die ausgeführte Befehlszeile wichtig ist.",
"fieldsIntro": "Gezeigte Felder:",
"fields": [
"Level — farbiges Schweregradabzeichen (INFO / WARNUNG / ERROR / KRITIKAL).",
"Service — Kurzname der Einheit / des Prozesses, der den Eintrag ausgegeben hat.",
"Timestamp — vollständiges Datum und Uhrzeit der Logzeile.",
"Source — Ursprung des Eintrags (Journal, Kernel, Audit, ...).",
"Systemd Unit — die tatsächliche .service/.timer/.socket-Einheit, wenn der Eintrag mit einer Einheit verknüpft war.",
"Process ID — PID des Sendevorgangs.",
"Hostname — nützlich, wenn Zeitschriften über Clusterknoten weitergeleitet werden.",
"Nachricht — vollständige, ungekürzte Nachricht in einem Monospace-Block zum Kopieren."
],
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Bei einer neuen Proxmox-Installation verwendet journald standardmäßig MaxLevelStore=warning und verwirft dadurch Info-Meldungen. Monitor erkennt dies beim Start und ergänzt eine Drop-in-Datei (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) mit dem Grenzwert info. So werden Informationsmeldungen und schwerwiegendere Meldungen gespeichert; debug ist darin nicht enthalten.",
"backupsTitle": "Sicherungen",
"backupsBody": "Proxmox-Taskhistorie gefiltert auf Backup-bezogene Einträge. Eine Zeile pro Aufgabe (vzdump, PBS-Transfers, Garbage Collect, Verify) mit dem Status (OK / WARNINGS / ERROR), beteiligter Gast, Quellspeicher, Dauer und UPID. Klicken Sie auf eine Zeile, um das vollständige Aufgabenprotokoll über GET /api/task-log/<upid> zu laden - die gleichen Daten, die Proxmox über Datacenter → Tasks, die auf Backups beschränkt sind, freigibt.",
"notificationsTitle": "Benachrichtigungen",
"notificationsBody1": "Alle von Monitor versendeten Benachrichtigungen: Telegram, Discord, E-Mail, Gotify, ntfy, Slack, Teams und Webhook. Jede Zeile zeigt Zeitstempel, Kanal, Ereignistyp, Schweregrad, erzeugten Titel und Nachrichtentext sowie bei aktivierter KI einen Schalter zum Vergleich der KI-Fassung mit dem Original.",
"notificationsBody2": "Hier prüfen Sie, ob ein Kanal tatsächlich Nachrichten zustellt, und vergleichen die KI-Fassung mit der ursprünglichen Vorlage. Die Kanäle konfigurieren Sie auf der Detailseite Benachrichtigungen."
},
"dataCollected": {
"heading": "Wie die Daten gesammelt werden",
"headerSubtab": "Unterregisterkarte",
"headerEndpoint": "Endpunkt",
"headerSource": "Quelle",
"rows": [
{
"subtab": "Protokolle (Live-Filter)",
"endpoint": "/api/logs",
"source": "journalctl --output json --since <range> mit serverseitigen Filtern für Schweregrad, Unit und Suche."
},
{
"subtab": "Herunterladen",
"endpoint": "/api/logs/download",
"source": "Dieselbe Abfrage als Klartext für grep / less."
},
{
"subtab": "Sicherungen",
"endpoint": "/api/backups",
"source": "PVE-Taskhistorie gefiltert nach vzdump, PBS-Transfers, Garbage Collect, Verify."
},
{
"subtab": "Details einer Sicherungsaufgabe",
"endpoint": "/api/task-log/<upid>",
"source": "Vollständiges Aufgabenprotokoll im Klartext aus /var/log/pve/tasks/<index>/<upid>."
},
{
"subtab": "Meldeverlauf",
"endpoint": "/api/notifications/history",
"source": "Die SQLite-Tabelle notification_history wird von der Versandschleife gefüllt."
}
],
"apiIntro": "Live-Filter und Downloads sind auch über die API erreichbar:",
"codeComment1": "# Fehler und schwerwiegendere Meldungen der letzten Stunde mit einem Suchwort",
"codeComment2": "# Laden Sie das vollständige Journal der letzten 6 Stunden als Klartext herunter",
"codeComment3": "# Vollständige Ausgabe einer bestimmten Aufgabe anhand ihrer UPID abrufen"
},
"whereNext": {
"heading": "Wohin als nächstes",
"items": [
{
"label": "Gesundheitsmonitor",
"href": "/docs/monitor/health-monitor",
"tail": " — die Kategorie Systemprotokolle zur Erkennung dauerhafter, sprunghafter oder kaskadierender Muster."
},
{
"label": "Benachrichtigungen",
"href": "/docs/monitor/notifications",
"tail": " — die Journalüberwachung liest dieselbe Quelle und erzeugt bei Treffern Benachrichtigungen."
},
{
"label": "API-Referenz",
"href": "/docs/monitor/api",
"tail": " — die Endpunkte logs und task-log mit ihren Abfrageparametern."
},
{
"label": "Dashboard-Index",
"href": "/docs/monitor/dashboard",
"tail": " — die anderen Reiter."
}
]
}
}