Zählen von Einträgen gleicher ID im Ereignisprotokoll

Zählen von Einträgen gleicher ID im Ereignisprotokoll

  • Comments 3
  • Likes

Hi, Fabian hier. Situationen wie heute Vormittag kommen fast täglich vor - ein Kollege gibt einen kurzen Ping per Messenger, ob man eine Idee für folgendes Szenario hätte (neudeutsch: Brainstorming):

Bei einem Kunden lief das Ereignisprotokoll "Security" auf DCs mit Events voll, so daß die Server stark unter Last standen und das Log nach kürzester Zeit "überlief". Um nun die den Events zugrunde liegenden Fehler schneller einzugrenzen, sollten die Einträge nach der ID gruppiert und dann ausgezählt werden. Hat man erst einmal die Anzahl an gleichen Event IDs, weiß man ggf., wo man nach der Ursache für die Flut an Einträgen suchen muß und kann die Ursache des Fehlers meist schnell beheben.

Da SCOM zur Auswertung der Ereignisprotokolle momentan nicht genutzt werden konnte, mußte eine andere Lösung her. Zuerst dachten wir an den LogParser, der wirklich viele interessante Möglichkeiten bietet, solche (und viele andere) Szenarien schnell zu erledigen. Nach ein, zwei kurzen Test zeigte sich aber, daß einmal mehr die PowerShell die Anforderung ebenfalls sehr schnell lösen kann. Und da die uns bekannten Administratoren Einzeiler lieben, hier eine schnelle Lösung für die Fragestellung:

PS C:\> Get-EventLog Security | Group-Object EventID | Sort-Object Count -descending | Select-Object Count, Name | Format-Table -autosize

  1. Auslesen des "Security" Eventlogs: Get-EventLog
  2. Gruppierung der Events: Group-Object
  3. Sortierung der gruppierten Events nach der Anzahl: Sort-Object
  4. Ausgabe der beiden gewünschten Objekte "Count" und "Name": Select-Object
  5. Formatierung der Ausgabe als Tabelle: Format-Table 


Ach, ich liebe die PowerShell... :-)

Viele Grüße
Fabian

Comments
  • Hey Fabian!

    So langsam habe ich wirklich das Gefühl, dass ich mir die PowerShell aneigenen muss. Es wird immer unheimlicher... :)

    Cheers,

    Florian

  • Hallo,

    kann ich ein EVT-File auch ähnlich einfach auswerten? Ich hab nämlich kein Posh auf meinen DCs und möchte es auch nicht auf die Schnelle installieren.

    Gruß

    Walter

  • Hallo Walter,

    die Frage nach dem "ähnlich einfach auswerten" ist im Moment wohl nur mit "nein" zu beantworten.

    ABER:

    Alternativ lassen sich EVT / EVTX Dateien mit .Net auslesen oder es kann ein Export der Ereignisprotokolle in *.CSV oder *.XML Dateien erfolgen, die sich dann mit der PowerShell ganz einfach einlesen und auswerten lassen.

    Wie gesagt: Möglich ist es, jedoch wird es dann wahrscheinlich kein Einzeiler. ;-)

    Die PowerShell V2 bringt remote Funktionen mit, d.h. man kann die Eventlogs dann auch von einem anderen System aus, auf dem die PowerShell installiert ist, abrufen und auswerten.

    Viele Grüße
    Fabian

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment