Skip to main content

Expansion of the Event Log Check

Hello, I'm currently trying to set up a check for our Swyx servers. I'd like to verify the following:

Is there an event in the event log with ID 8708, of type “Information,” and the text “Link has been disconnected” in the description? If so, the check should fail. However, if an event with ID 8706 of the “Information” type follows, with the description “Link is established,” the check should return to green.

If I understand correctly, a check like this isn’t possible yet, is it?

1 comment

Log in to comment and vote

Comments1

  • Daniel von octoja

    Team•

    Jul 27

    Hallo! Tatsächlich kann das unser eingebauter EventLog-Check nicht. Ich weiß gerade spontan auch nicht wie wir solch eine Abhängigkeit zwischen zwei Events einfach und verständlich in dem Check darstellen und einbauen können.

    Der Check kann ja mittlerweile schon einige Fälle abdecken, aber ich würde ungern immer mehr und mehr extra Funktionen dort einbauen, um solche Spezialfälle abzudecken. Bin aber auch ganz ehrlich, vielleicht ist das gar nicht so ein Spezialfall wie ich gerade denke?

    Aber, ihr könnt heute schon sehr einfach einen Eigenen Check bauen, der euch genau diese Info Event-Log Infos ausließt, und euch das richtige Ergebnis gibt.

    Das PowerShell-Script für den eigenen Check könnte in etwa so aussehen.

    $events = Get-WinEvent -FilterHashtable @{
        LogName = 'Application'
        Id      = 8708, 8706
        Level   = 4 # Information
    } -MaxEvents 100 -ErrorAction SilentlyContinue
    
    $latest = $events |
        Where-Object {
            ($_.Id -eq 8708 -and $_.Message -like '*Link has been disconnected*') -or
            ($_.Id -eq 8706 -and $_.Message -like '*Link is established*')
        } |
        Select-Object -First 1
    
    if ($latest -and $latest.Id -eq 8708) {
        $output.checkResult = 2 # Kritisch
        $output.message = 'Der Link ist getrennt.'
    }
    else {
        $output.checkResult = 0 # OK
        $output.message = 'Der Link ist verbunden oder es wurde kein Trennungsereignis gefunden.'
    }

    Also auch sehr simpel und einfach. Hilft das schon? 😄