Achtung: AI Generierter Kram
Hi Leute,
wir von sysops.tv basteln ja auch gerne mal an Dingen die Spaß machen.
Hier gerade Work in Progress:
https://github.com/bashclub/trmm-scripts/blob/main/update-proxmox-issue.sh
Kann sein daß wir es auf https://github.com/bashclub bald in ein eigenes Repo packen.
Viel Spaß damit und Wünsche gerne hier.
Chriz sysops.tv


Die Anzeige erfolgt im klassischen Norton-Commander-Stil mit blauem Hintergrund, Unicode-Rahmen und farbigen Statusinformationen. Alternativ steht ein reiner ASCII-Modus zur Verfügung.
NVMe-Laufwerke werden über ihre entsprechenden SMART-Werte ausgewertet.
Zusätzlich werden kritische SMART-Indikatoren berücksichtigt, unter anderem Reallocated Sectors, Pending Sectors und nicht korrigierbare Fehler.
Die geschätzte verbleibende SSD-Lebensdauer basiert auf einer linearen Hochrechnung des bisherigen Verschleißes. Sie ist keine Vorhersage des tatsächlichen Ausfallzeitpunkts.
Für prozentuale Belegungs- und Verbrauchswerte gelten folgende Schwellen:
Ein laufender ZFS-Scrub, Trim oder Resilver wird zur besseren Sichtbarkeit rot hervorgehoben. Dies bedeutet nicht automatisch, dass ein Fehler vorliegt.
/var/lib/check_mk_agent/spool
Berücksichtigt werden Dateien, die mit <<<local>>> beginnen, sowie entsprechend gekennzeichnete lokale Check-Sektionen.
Beispiel:
Spool Checks: 36/36 checks OK
Die Farbe richtet sich nach der Anzahl der Checks, deren Zeilen nicht mit 0 beginnen:
Benötigte Pakete installieren:
apt update
apt install python3 smartmontools ethtool
Optional können nut-client für USV-Daten und multipath-tools für Multipath verwendet werden.
update-proxmox-issue.sh
Es wird nach /usr/local/sbin/ kopiert:
install -m 755 update-proxmox-issue.sh \
/usr/local/sbin/update-proxmox-issue.sh
Anschließend manuell starten:
/usr/local/sbin/update-proxmox-issue.sh
Dadurch werden standardmäßig beide Dateien neu erzeugt:
/etc/issue
/etc/motd
Die Dateien werden zunächst temporär erstellt und anschließend ersetzt. Bestehende Inhalte werden dabei überschrieben.
Die Parameter können kombiniert werden.
Beispiele:
Standardausgabe:
update-proxmox-issue.sh
Monochrome Ausgabe:
update-proxmox-issue.sh --mono
Nur /etc/motd aktualisieren:
update-proxmox-issue.sh --no-issue
Nur /etc/issue im ASCII-Modus:
update-proxmox-issue.sh --mono --no-motd
Die gleichzeitige Verwendung von --no-issue und --no-motd ist nicht zulässig.
/etc/systemd/system/proxmox-issue.service
[Unit]
Description=Update Proxmox VE Login Banner
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/update-proxmox-issue.sh
/etc/systemd/system/proxmox-issue.timer
[Unit]
Description=Refresh Proxmox VE Login Banner
[Timer]
OnBootSec=1min
OnUnitInactiveSec=5min
Unit=proxmox-issue.service
[Install]
WantedBy=timers.target
Der Timer startet den Service eine Minute nach dem Systemstart und anschließend jeweils fünf Minuten nach dem letzten abgeschlossenen Lauf.
systemctl enable --now proxmox-issue.timer
systemctl start proxmox-issue.service
Kontrolle:
systemctl list-timers proxmox-issue.timer
systemctl status proxmox-issue.service
systemctl stop proxmox-issue.service
rm -f /etc/systemd/system/proxmox-issue.timer
rm -f /etc/systemd/system/proxmox-issue.service
systemctl daemon-reload
systemctl reset-failed
Das eigentliche Script und die zuletzt erzeugten Bannerdateien bleiben erhalten.
Lesende Systemabfragen: Proxmox, SMART, ZFS, Ceph, NUT und Multipath werden ausschließlich abgefragt. Das Script verändert keine VMs, Datenträger oder Storage-Konfigurationen.
Momentaufnahme: Die angezeigten Werte entsprechen dem letzten Scriptlauf. Eine permanente Echtzeitüberwachung findet nicht statt.
Terminaldarstellung: Für den Norton-Commander-Stil muss das Terminal Unicode und ANSI-Farben unterstützen. Andernfalls kann --mono verwendet werden.
Sicherheit: /etc/issue kann bereits vor einer Anmeldung sichtbar sein. Da das Banner interne IP-Adressen, Hostnamen und Seriennummern enthält, sollte seine Verwendung auf öffentlich erreichbaren Login-Schnittstellen geprüft werden.
SMART-Bewertung: Die ermittelten Verschleißwerte sind herstellerabhängig. Auch ein Laufwerk mit SMART-Status OK kann ohne vorherige Warnung ausfallen.
Damit lassen sich beispielsweise Kernelabweichungen, gestoppte Gäste, volle ZFS-Pools, fehlerhafte Datenträger, Multipath-Probleme oder ausgefallene USVs erkennen, ohne zunächst mehrere Administrationsbefehle ausführen zu müssen.
Hi Leute,
wir von sysops.tv basteln ja auch gerne mal an Dingen die Spaß machen.
Hier gerade Work in Progress:
https://github.com/bashclub/trmm-scripts/blob/main/update-proxmox-issue.sh
Kann sein daß wir es auf https://github.com/bashclub bald in ein eigenes Repo packen.
Viel Spaß damit und Wünsche gerne hier.
Chriz sysops.tv


Proxmox VE – Dynamic Login Banner
Systeminformationen und Hardware-Monitoring im Norton-Commander-Stil
Das Script update-proxmox-issue.sh erstellt eine kompakte Systemübersicht für Proxmox VE und schreibt diese standardmäßig in /etc/issue und /etc/motd.Die Anzeige erfolgt im klassischen Norton-Commander-Stil mit blauem Hintergrund, Unicode-Rahmen und farbigen Statusinformationen. Alternativ steht ein reiner ASCII-Modus zur Verfügung.
1. Leistungsumfang
| Bereich | Funktionen |
|---|---|
| System | FQDN, Proxmox-Version, Kernel, Uptime |
| Kernelprüfung | Vergleich des laufenden Kernels mit der neuesten installierten Proxmox-Kernelversion |
| Arbeitsspeicher | Verfügbarer und gesamter RAM in GiB sowie freier Prozentanteil |
| CPU / Load | Anzahl logischer CPU-Kerne, Load Average über 1, 5 und 15 Minuten |
| IP-Adressen | Getrennte Anzeige physischer bzw. Host-Netzwerke und virtueller Netzwerke wie Docker und WireGuard |
| Netzwerkkarten | Physische NICs mit Linkstatus, Geschwindigkeit und Duplexmodus |
| Virtuelle Maschinen | Alle lokalen QEMU-VMs mit VMID, Name und farbigem Betriebsstatus |
| LXC-Container | Alle lokalen Container mit VMID, Name und farbigem Betriebsstatus |
| Proxmox-Cluster | Clustername, Knotenanzahl, Votes und Quorum |
| Ceph | Health-Status, OSD-Zustand und MON-Quorum |
| Multipath | Prüfung von Multipath-Dienst, Pfaden und Maps, sofern installiert |
| NUT / USV | Netzbetrieb, Batteriebetrieb, Akkuladestand, Restlaufzeit und Last |
| Checkmk | Auswertung lokaler Checks aus /var/lib/check_mk_agent/spool |
| Datastores | Name, freier Speicherplatz in GiB und Prozent |
| ZFS-Pools | Poolname, Zustand und prozentuale Belegung |
| ZFS-Aktivitäten | Erkennung laufender Scrubs, Resilver- und Trim-Vorgänge |
| Physische Datenträger | Gerätename, Modell, Seriennummer, SMART-Status, Wearout und Betriebsjahre |
| SSD-Lebensdauer | Rechnerische Restlebensdauer auf Grundlage des bisherigen Wearouts |
SMART-Überwachung
Für SATA-SSDs werden insbesondere folgende SMART-Attribute berücksichtigt:| Attribut | Bedeutung |
|---|---|
| 9 | Betriebsstunden |
| 177 | Wear Leveling Count |
| 202 | Lifetime Used / Remaining |
| 231 | SSD Life Left |
| 233 | Media Wearout Indicator |
Zusätzlich werden kritische SMART-Indikatoren berücksichtigt, unter anderem Reallocated Sectors, Pending Sectors und nicht korrigierbare Fehler.
Die geschätzte verbleibende SSD-Lebensdauer basiert auf einer linearen Hochrechnung des bisherigen Verschleißes. Sie ist keine Vorhersage des tatsächlichen Ausfallzeitpunkts.
2. Farbliche Statusanzeige
Das Banner verwendet einheitliche Farben:| Farbe | Bedeutung |
|---|---|
| Grün | Normalbetrieb, keine erkannten Probleme |
| Orange | Warnung, ausgeschaltete VM/LXC oder erhöhte Belegung |
| Rot | Fehler oder kritischer Zustand |
- Unter 75 %: Grün
- Ab 75 %: Orange
- Ab 80 %: Rot
Ein laufender ZFS-Scrub, Trim oder Resilver wird zur besseren Sichtbarkeit rot hervorgehoben. Dies bedeutet nicht automatisch, dass ein Fehler vorliegt.
Checkmk Spool Checks
Das Script prüft Dateien im Verzeichnis:/var/lib/check_mk_agent/spool
Berücksichtigt werden Dateien, die mit <<<local>>> beginnen, sowie entsprechend gekennzeichnete lokale Check-Sektionen.
Beispiel:
Spool Checks: 36/36 checks OK
Die Farbe richtet sich nach der Anzahl der Checks, deren Zeilen nicht mit 0 beginnen:
| Ergebnis | Farbe |
|---|---|
| 36/36 OK | Grün |
| 35/36 OK | Orange |
| 34/36 OK | Rot |
3. Installation
Voraussetzungen
Das Script ist für Proxmox VE unter Debian vorgesehen.Benötigte Pakete installieren:
apt update
apt install python3 smartmontools ethtool
Optional können nut-client für USV-Daten und multipath-tools für Multipath verwendet werden.
Script installieren
Das Script heißt:update-proxmox-issue.sh
Es wird nach /usr/local/sbin/ kopiert:
install -m 755 update-proxmox-issue.sh \
/usr/local/sbin/update-proxmox-issue.sh
Anschließend manuell starten:
/usr/local/sbin/update-proxmox-issue.sh
Dadurch werden standardmäßig beide Dateien neu erzeugt:
/etc/issue
/etc/motd
Die Dateien werden zunächst temporär erstellt und anschließend ersetzt. Bestehende Inhalte werden dabei überschrieben.
4. Parameter
| Parameter | Funktion |
|---|---|
| Ohne Parameter | ANSI/Unicode im Norton-Commander-Stil, beide Dateien |
| --mono | Reine ASCII-Ausgabe ohne Farben |
| --no-issue | Nur /etc/motd aktualisieren |
| --no-motd | Nur /etc/issue aktualisieren |
| --help | Hilfe anzeigen |
Beispiele:
Standardausgabe:
update-proxmox-issue.sh
Monochrome Ausgabe:
update-proxmox-issue.sh --mono
Nur /etc/motd aktualisieren:
update-proxmox-issue.sh --no-issue
Nur /etc/issue im ASCII-Modus:
update-proxmox-issue.sh --mono --no-motd
Die gleichzeitige Verwendung von --no-issue und --no-motd ist nicht zulässig.
5. Automatische Aktualisierung
Für eine regelmäßige Aktualisierung empfiehlt sich ein systemd-Timer.Service anlegen
Datei:/etc/systemd/system/proxmox-issue.service
[Unit]
Description=Update Proxmox VE Login Banner
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/update-proxmox-issue.sh
Timer anlegen
Datei:/etc/systemd/system/proxmox-issue.timer
[Unit]
Description=Refresh Proxmox VE Login Banner
[Timer]
OnBootSec=1min
OnUnitInactiveSec=5min
Unit=proxmox-issue.service
[Install]
WantedBy=timers.target
Der Timer startet den Service eine Minute nach dem Systemstart und anschließend jeweils fünf Minuten nach dem letzten abgeschlossenen Lauf.
Timer aktivieren
systemctl daemon-reloadsystemctl enable --now proxmox-issue.timer
systemctl start proxmox-issue.service
Kontrolle:
systemctl list-timers proxmox-issue.timer
systemctl status proxmox-issue.service
Timer wieder entfernen
systemctl disable --now proxmox-issue.timersystemctl stop proxmox-issue.service
rm -f /etc/systemd/system/proxmox-issue.timer
rm -f /etc/systemd/system/proxmox-issue.service
systemctl daemon-reload
systemctl reset-failed
Das eigentliche Script und die zuletzt erzeugten Bannerdateien bleiben erhalten.
6. Technische Hinweise
Keine dauerhaften Hintergrundprozesse: Das Script wird einmalig ausgeführt und beendet sich nach der Erstellung der Bannerdateien.Lesende Systemabfragen: Proxmox, SMART, ZFS, Ceph, NUT und Multipath werden ausschließlich abgefragt. Das Script verändert keine VMs, Datenträger oder Storage-Konfigurationen.
Momentaufnahme: Die angezeigten Werte entsprechen dem letzten Scriptlauf. Eine permanente Echtzeitüberwachung findet nicht statt.
Terminaldarstellung: Für den Norton-Commander-Stil muss das Terminal Unicode und ANSI-Farben unterstützen. Andernfalls kann --mono verwendet werden.
Sicherheit: /etc/issue kann bereits vor einer Anmeldung sichtbar sein. Da das Banner interne IP-Adressen, Hostnamen und Seriennummern enthält, sollte seine Verwendung auf öffentlich erreichbaren Login-Schnittstellen geprüft werden.
SMART-Bewertung: Die ermittelten Verschleißwerte sind herstellerabhängig. Auch ein Laufwerk mit SMART-Status OK kann ohne vorherige Warnung ausfallen.
Zusammenfassung
Das Proxmox VE Dynamic Login Banner bietet eine kompakte Übersicht über Systemzustand, Virtualisierung, Netzwerk, Storage und Hardwaregesundheit direkt bei der Anmeldung.Damit lassen sich beispielsweise Kernelabweichungen, gestoppte Gäste, volle ZFS-Pools, fehlerhafte Datenträger, Multipath-Probleme oder ausgefallene USVs erkennen, ohne zunächst mehrere Administrationsbefehle ausführen zu müssen.
Last edited:
