Files
h0tznpl0tz bddb3cf1e9 Add exitrace tool and improve documentation
- Add exitrace: Enhanced Exim log analyzer with status classification
- Add Maintainer: ljp to all ljp-owned scripts
- Update READMEs: Use installer-compatible command examples
- Update main and legacy READMEs to include exitrace tool
2025-09-11 12:35:48 +02:00

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 logger oder 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

  1. Installation über Installer:

    # Im Repository-Hauptverzeichnis
    ./install.sh
    
  2. Beim ersten Start erstellt checkms automatisch die Konfiguration unter:

    ~/.config/checkms/checkms.conf
    
  3. Abhängigkeiten:

    • jq (empfohlen, für Bearbeitung/Schreiben der Config)
    • ssh Zugriff auf Logger (go logger wird 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 zcat gelesen (.log.gz).
  • Falls go logger als Funktion existiert, nutzt das Skript diese. Sonst wird via ssh <ssh_user>@logger.in.nessus.at verbunden.
  • Die Config kann beliebig viele Codes enthalten, Regex wird unterstützt.