Server-Eye, Drive Snapshot und Einträge ins Ereignisprotokoll – Ideen und Umfrage

Lange angekündigt passiert nun was beim Thema Server-Eye und Drive Snapshot (bitte auch die Kommentare beachten). Patrick Schmidt vom Server-Eye Team hat mir ein kleines Skript zukommen lassen, das den Errorlevel von Drive Snapshot auswertet und je nach Ergebnis einen entsprechenden Eintrag ins Ereignisprotokoll schreibt:

setlocal enableextensions enabledelayedexpansion
 
set eventtext= 
   
for /f "delims=" %%l in ( %LogDir%\Current.log ) do set eventtext=!eventtext!%%l 
 
set _event_filtered=%eventtext:~0,5000%
    
if %errorlevel% == 0 ( 
 eventcreate /id 100 /l application /t INFORMATION /so "DriveSnapshotAgent" /d "%_event_filtered%"
) else (
 eventcreate /id 100 /l application /t ERROR /so "DriveSnapshotAgent" /d "%_event_filtered%"
)

Dieser Code muss nach jedem „snapshot.exe…“-Aufruf eingefügt werden.

Der Gedanke oder Plan ist, dann letztlich die Einträge im Ereignisprotokoll auszuwerten. Ich persönlich finde die Idee gut, da so die Möglichkeit besteht, das jeder sein Skript entsprechend leicht anpassen kann. Eine Idee von mir ist, den Server-Eye-Code als eigenes Batch-Skript zu hinterlegen und bestehende Skripte einfach durch ein „call server-eye.cmd“ nach jedem „snapshot.exe“-Aufruf zu erweitern.

Ein kosmetisches Problem besteht aktuell noch darin, das der Protokollauszug ohne Zeilenumbruch in den Ereignisprotokolleintrag „wandert“ und damit entsprechend aussieht:

DSAgent_Event01Falls jemand eine Lösung zu den Zeilenumbrüchen hat, bitte melden.

Das Ganze befindet sich noch in der Entwicklung. Feedback ist natürlich willkommen. Eine Überlegung die noch angestellt wird ist, z.B. nicht den Errorlevel direkt auszuwerten sondern, wie bei meinem Rotations-Skript eine eigene Fehler-Variable zu verwenden. Hintergrund ist, das beim Sichern von vielen Laufwerken sonst recht häufige Einträge zusammenkommen.

Was meint ihr zu dem Thema? Ideen, Vorschläge, Verschlimmbesserungen?

Update 06.07.2016 – 08:49 Uhr

Wer das Rotationsskript in v3.1 einsetzt, kann dieses leicht erweitern, ohne dabei die gewohnte Funktionalität zu verlieren:

Zeile 68: „goto email“ durch „goto eventlog“ ersetzen.

Vor dem E-Mail-Block („rem E-Mail“) folgenden Code einfügen:

rem Ereignisprotokoll-Eintrag
:eventlog

 setlocal enableextensions enabledelayedexpansion
 
 set eventtext=
 
 for /f "delims=" %%l in (%LogDir%\Current.log) do set eventtext=!eventtext!%%l
 
 set eventtext_cut=!eventtext:~0,5000!
 
 if %error%==false (
  eventcreate /id 100 /l application /t information /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  ) else (
  eventcreate /id 100 /l application /t error /so "DriveSnapshotAgent" /d "%eventtext_cut%"
  )
  
 setlocal disableextensions disabledelayedexpansion
 endlocal

Nicht wundern: Eine Variable wurde gegenüber dem Original-Server-Eye-Code umbenannt („_event_filtered“ -> „eventtext_cut“), das ist aber nur Kosmetik. Ferner wurde bei „set eventtext_cut“ die 5-Zeichen durch ! ersetzt. Mit % gab es immer wieder Probleme, quasi Blinkerprinzip, mal ging’s, mal nicht.

In der jetzt dargestellten Form lief das Skript gestern sowohl manuell (Vollsicherung) als auch per Aufgabe (Differentielle Sicherung). Sobald der finale Weg bei Server-Eye feststeht, werde ich eine neue Version des Rotationssicherungs-Skripts veröffentlichen.

Update 06.07.2016 – 21:56 Uhr

Eine weitere Variante die man realisieren könnte wäre, das im Erfolgsfall nur ein „Backup erfolgreich“ ins Ereignisprotokoll geschrieben wird und im Fehlerfall der Inhalt der „snapshot_error.log“. Letztere wird nur im Fehlerfall automatisch und unabhängig vom, sofern überhaupt verwendet, Protokoll erstellt.

Zum Thema „Zeilenumbruch“ kam der Vorschlag von Patrick Schmidt, das man alternativ ein anderes Trennzeichen verwendet:

for /f "delims=" %%l in (%LogDir%\Current.log) do (
 set eventtext=!eventtext!%%%l___
)
„___“ wäre dann das Trennzeichen, ist zwar kein Zeilenumbruch, macht die Sache aber schon übersichtlicher.

Update 13.09.2016

Der neue Sensor ist in der Mache. Anbei noch eine wichtige Info zum Errorlevel:

Drive Snapshot, VSS und der Errorlevel

Update 06.10.2016

Wie man im aktuellen Changelog (Server-Eye Changelog Quartal 3/2016) nachlesen kann, befindet sich der neue Sensor im Beta-Stadium und kann nun von allen getestet werden.

Ein Gedanke zu „Server-Eye, Drive Snapshot und Einträge ins Ereignisprotokoll – Ideen und Umfrage

  1. Pingback: Server-Eye und Drive Snapshot | Andys Blog – Linux, Mac, Windows

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.