Veeam Log File Analyse mit PowerShell

Vor ein paar Wochen habe ich ein Update der Veeam Backup & Replication Umgebung in meinem Lab durchgeführt. Um nach dem Update sicherzustellen, dass auch wirklich  alles ohne Probleme funktioniert hat, habe ich begonnen alle Windows Eventlogs und Log Files zu analysieren. Schnell hat sicher aber herausgestellt, ohne ein passendes Tools ist die Auswertung der Veeam log Files viel zu aufwendig. Da mein letztes öffentliches PowerShell Projekt bereits ein paar Monate zurück lag (und ich unbedingt einen Grund gesucht habe mit PowerShell Klassen zu arbeiten), habe ich meine Funktion zur Veeam Log File Analyse mit PowerShell begonnen.

Veeam Log File Analyse mit PowerShell - Invoke-VeeamLogParser -LogType PowerShell

Veeam Log File Analyse

Alle Veeam log files sind in der Standardkonfiguration unter ‚C:\ProgramData\Veeam\<Produkt>‘ abgelegt. Die meisten relevanten Veeam Services bzw. Produkte legen dort einen Unterordner an und erzeugen meist mehrere Log Files wie zum Beispiel ‚Svc.VeeamEndpointBackup.log‘ (Veeam Agent for Microsoft Windows).

Die meisten von mir analysierten Log Files halten sich an folgendes Schema für den Hauptteil:

Die Analyse mit PowerShell

PowerShell ist ein super Hilfswerkzeug um schnell Daten aus Test Files zu extrahieren. Besonders gut funktioniert das, wenn die gewünschten Informationen in bestimmten Schemen (RegEx Pattern) vorliegen:

Diese zwei kurzen Zeilen geben alle Error Meldungen aus dem Veeam Agent for Microsoft Windows Log File aus.

Diese Befehle aber nun für jedes einzelne Veeam Log File durchzugehen wäre nicht sehr komfortabel, daher habe ich beschlossen ein PowerShell Modul mit einer Funktion zur Veeam Log File Analyse zu erstellen. Die Funktion sollte als Input nur das gewünschte Log File, welches analysiert werden soll, und ein paar Ausgabeoptionen haben.

Dieses Beispiel zeigt die Ausgabe aller in der Funktion vorgesehener Log Files. Die Darstellung ist limitiert auf die letzte Error oder Warning Meldung pro Log File:

Veeam Log File Analyse mit PowerShell - Invoke-VeeamLogParser -LogType All

Wenn der optionale Parameter  -Context 2  genutzt wird, werden alle Meldungen im Kontext ausgegeben. Die Meldungen selbst sind in der Ausgabe mit einem > gekennzeichnet:

Veeam log file analysis with PowerShell - Invoke-VeeamLogParser -LogType PowerShell

Hauptfunktion des PowerShell Moduls

An dem PowerShell Modul mitwirken

Falls bei der Verwendung des Moduls ein Fehler auftaucht oder ein Verbesserungsvorschlag aufkommt freue ich mich über jeden Pull Request und GitHub Issue

Download des PowerShell Moduls

Das PowerShell Modul ist verfügbar auf GitHub und in der PowerShell Gallery:

VeeamLogParser – GitHub VeeamLogParser – PS Gallery

 

 

2 Comments

  1. Falk Dübbert 14. September 2018
    • Markus Kraus 14. September 2018

Leave a Reply