Revisionssicheres Logging auf IBM i: Mehr Transparenz für kritische Batchprozesse

In vielen IBM i Umgebungen laufen geschäftskritische Batchprozesse seit Jahren stabil und zuverlässig.  

Gleichzeitig steigen jedoch die Anforderungen an Nachvollziehbarkeit, Auditierbarkeit und Compliance kontinuierlich. 

Klassische Logfiles stoßen dabei schnell an ihre Grenzen: unvollständig bei Abbrüchen, schwer auswertbar oder anfällig für nachträgliche Änderungen. 

Dieser Beitrag zeigt einen praxisnahen Ansatz, wie sich mit Bordmitteln von IBM i (ab Version 7.1) ein robustes und revisionssicheres Logging umsetzen lässt – ohne zusätzliche Infrastruktur und mit überschaubarem Aufwand. 

Ausgangssituation 

Typische Herausforderungen in bestehenden Batchprozessen: 

  • Logfiles sind nicht vollständig, wenn ein Job abbricht 
  • Fehlerursachen sind nur im Joblog nachvollziehbar 
  • Es fehlt ein klarer Bezug zwischen: 
  • Datei 
  • Verarbeitung 
  • Ergebnis 
  • Manipulationen am Log sind nicht erkennbar 
  • Zeichensatzprobleme erschweren die Weiterverarbeitung 

Gerade im Kontext von Audits oder regulatorischen Anforderungen wird das schnell kritisch. 

Zielbild: Revisionssicheres Logging 

Die vorgestellte Lösung verfolgt ein klares Ziel: 

Jede Verarbeitung muss vollständig, nachvollziehbar und überprüfbar dokumentiert sein – auch im Fehlerfall. 

Dafür wird ein mehrstufiger Logging-Ansatz verwendet. 

Der Ansatz im Überblick 

Die Lösung basiert auf drei Bausteinen: 

1. Laufendes RAW-Logging

Während der Verarbeitung werden alle Ereignisse direkt in eine RAW-Logdatei geschrieben. 

  •  Vorteil: Auch bei einem Programmabbruch bleiben alle bisherigen Informationen erhalten.

2. Finales Log mit definierter Struktur

Am Ende der Verarbeitung wird das RAW-Log in eine finale Logdatei überführt: 

  • definierte CCSID (z. B. Windows 1252 oder UTF-8) 
  • konsistente Struktur 
  • optimiert für Weiterverarbeitung 

-> Vorteil:Das Log ist direkt für Tools, Auswertungen oder Archivierung nutzbar. 

 3. Integritätsnachweis per Hash

Zusätzlich wird ein Hash (z. B. SHA-256) über die finale Logdatei erzeugt und separat abgelegt. 

-> Vorteil: Nachträgliche Änderungen am Log sind eindeutig nachweisbar. 

Mehrwert im Detail 

Vollständige Transparenz pro Datei 

Für jede verarbeitete Datei werden u. a. protokolliert: 

  • Ursprungsverzeichnis und Dateiname 
  • Zielverzeichnis (DONE / ERROR) 
  • Neuer Dateiname inkl. Timestamp 
  • Anzahl importierter Datensätze 
  • Ergebnis der Verarbeitung 

Das schafft eine klare, lückenlose Dokumentation.

Strukturierte Fehleranalyse 

Fehler werden differenziert behandelt: 

  • Bekannte Fehler mit Message ID und Klartext 
  • Unbekannte Fehler mit Klassifizierung 
  •  Ergebnis: Fehler lassen sich ohne zusätzlichen Blick ins Joblog analysieren. 

Kontextinformationen für Audits 

Jeder Lauf enthält relevante Systeminformationen: 

  • Jobname, User und Jobnummer 
  • Systemumgebung (z. B. Test / Produktion) 
  • Mandant 
  • verwendetes Programm 
  •  Vorteil: Die Verarbeitung ist eindeutig einem Systemkontext zuordenbar. 

Zeitliche Nachvollziehbarkeit 

Jeder Logeintrag erhält einen eigenen Timestamp. 

  • Vorteil: Exakte Rekonstruktion des Ablaufs & Analyse von Laufzeiten möglich 

Nachweis der Datenintegrität 

Neben dem Log selbst werden auch die Eingabedateien dokumentiert: 

  • Dateigröße 
  • Checksummen / Hashwerte 
  • Vorteil: Es ist nachvollziehbar, welche konkrete Datei verarbeitet wurde. 

Flexibles Hash-Verfahren 

Das Verfahren zur Hashbildung ist konfigurierbar: 

  • automatische Wahl (OpenSSL mit Fallback) 
  • gezielte Nutzung von SHA-256 
  • oder maximal kompatibel via cksum 
  •  Vorteil: Die Lösung passt sich an unterschiedliche Systemlandschaften an. 

Schutz vor Manipulation 

Nach Erstellung werden: 

  • Logdateien auf read-only gesetzt 
  • Hash-Dateien in einem separaten, geschützten Verzeichnis abgelegt 

-> Vorteil: Manipulationen werden erschwert und sind nachweisbar. 

Stabil im Batchbetrieb 

Die gesamte Lösung ist: 

  • vollständig CL-basiert 
  • kompatibel ab IBM i 7.1 
  • ohne zusätzliche Tools lauffähig (Fallback-Mechanismen vorhanden) 
  • Vorteil: Sie lässt sich problemlos in bestehende Prozesse integrieren. 

Fazit 

Mit diesem Ansatz wird Logging von einem einfachen Hilfsmittel zu einem echten Bestandteil der Systemarchitektur. 

Die wichtigsten Effekte: 

  • Mehr Transparenz in Batchprozessen 
  • Schnellere Fehleranalyse 
  • Auditfähigkeit und Revisionssicherheit 
  • Hohe Robustheit auch bei Abbrüchen 

Gerade in regulierten Umgebungen oder bei wachsendem Compliance-Druck ist das ein entscheidender Schritt.