3.4 KiB
3.4 KiB
checkms
checkms ist ein Bash-Skript zur Analyse von Microsoft-spezifischen SMTP Fehlercodes (z. B. S3150, S775, S7771…) in den Exim-Logs auf dem easyname Logger.
Neben der Auswertung kann das Skript auch die Konfiguration (Fehlercodes, SSH-User) verwalten.
Features
- Zugriff auf den Logger (via
go loggeroder SSH) - Auswertung von Exim-Logs für Microsoft Fehlercodes
- Unterstützung für gzip-archivierte Logs
- Filterung nach Zeitfenstern (
--minutes,--hours) - Konfiguration in
checkms.conf- SSH-User
- Liste der Fehlercodes (Regex möglich)
- Verwaltung der Config per Script:
--add-code→ Code hinzufügen--del-code→ Code anhand ID löschen--set-user→ SSH-User ändern--show-config→ Config anzeigen (JSON + tabellarisch)
Installation
-
Repository klonen:
git clone <gitea-url>/esn-support-bash-snippets.git cd esn-support-bash-snippets/legacy/checkms chmod +x checkms -
Beim ersten Start erstellt
checkmsautomatisch die Konfiguration unter:~/.config/checkms/checkms.conf -
Abhängigkeiten:
jq(empfohlen, für Bearbeitung/Schreiben der Config)sshZugriff auf Logger (go loggerwird bevorzugt, falls vorhanden)
Nutzung
Standardanalyse
./checkms
→ analysiert das heutige Logfile komplett.
Tageslog
./checkms 2025-09-08
→ analysiert das Logfile vom 08.09.2025
(automatisch .log oder .log.gz).
Zeitfenster
./checkms --minutes 30 # letzte 30 Minuten
./checkms --hours 2 # letzte 2 Stunden
Config-Management
Aktuelle Config ansehen
./checkms --show-config
Beispielausgabe:
RAW (~/.config/checkms/checkms.conf):
{
"ssh_user": "pljubeko",
"codes": [
"S3150",
"S775",
"S7771[0-9]*"
]
}
TABELLARISCHE ANSICHT:
SSH_USER pljubeko
ID CODE
---- ----------------
0 S3150
1 S775
2 S7771[0-9]*
SSH-User ändern
./checkms --set-user alice --show-config
Code hinzufügen
./checkms --add-code S77714
./checkms --add-code 'S77[0-9]{3}' --show-config
Code löschen
./checkms --del-code 2 --show-config
→ löscht den Code mit ID 2 (siehe --show-config).
Optionen
Usage: ./checkms [OPTIONS] [YYYY-MM-DD]
Analyse von MS-Fehlercodes im Exim-Log und Pflege der Codes.
Analyse-Optionen:
--minutes N Analysiert nur die letzten N Minuten
--hours N Analysiert nur die letzten N Stunden
--confdir PATH Pfad zum Konfigurationsordner (Default: ~/.config/checkms)
Konfig-Optionen:
--add-code REGEX Fügt einen Code/Regex zur Config hinzu (mehrfach möglich)
--del-code ID Löscht Code mit ID (siehe --show-config)
--set-user USER Setzt den SSH-User in der Config
--show-config Zeigt die aktuelle Config (JSON + tabellarisch) und beendet
--help Diese Hilfe
Beispielausgabe Analyse
Analysiere 2025-09-09.log
COUNT IP CODE
----- ---------------- ------
67435 212.232.25.164 S775
63930 212.232.28.125 S775
311 217.74.15.3 S3150
Notes
- Falls Logs älter sind, werden sie automatisch mit
zcatgelesen (.log.gz). - Falls
go loggerals Funktion existiert, nutzt das Skript diese. Sonst wird viassh <ssh_user>@logger.in.nessus.atverbunden. - Die Config kann beliebig viele Codes enthalten, Regex wird unterstützt.