{ "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." } ] } }