Zum Inhalt springen

Eigene SNMP Traps erzeugen


Eleu

Empfohlene Beiträge

Hallo,

in einem vorherigen Posting ging es um das Versenden von Traps, wenn ein eventlog Eintrag unter XP erfolgt.

http://forum.fachinformatiker.de/networking-technologies/143642-eventlog-auslesen-snmp.html

Auf dem XP Rechner muss dazu der SNMP - Dienst konfiguriert werden

An meinem kleinen Heimnetz habe ich das jetzt mal ausprobiert und es funktioniert auch soweit.

Mit dem Programm "evntwin.exe" kann man dort unter Benutzerdefiniert Eventlog - Ereignisse auswählen und in eine Datei exportieren.

Zuletzt kann man dann diese Datei mit dem Programm "evntcmd.exe" (Das ist ein event to trap translator) übersetzen und dadurch die ausgesuchten Events als Traps anlegen.

Erfolg nun so ein Event (Zum Beispiel "der Sicherheitscenterdienst wurde gestartet") wird auch ein Trap abgesendet (Die Ziel - IP steht im SMNP Dienst unter Traps)

Der Zielhost empfängt den Trap auf Port 162.

Zum Visualisieren der Traps auf dem Zielhost verwende ich den SNMP Trap Watcher unter Vista.

Nun meine Frage:

Ich möchte nun, einen eigene Eintrag in der eventlog und auch einen dazugehörigen Trap erzeugen.

Habe dazu händisch in der Exportdatei die ich mit evntwin.exe erzeugt habe, den eigenen Eintrag hinzugefügt und mit eventcmd den Trap generiert.

Dann habe ich mit dem Befehl "EVENTCREATE" in der Eingabeaufforderung einen Eintrag in der eventlog auf dem XP Rechner erzeugt (Siehe Anhang).

Der Eintrag erfolgt, aber der Trap wird nicht abgesendet.

In einem weiteren Eventlog Eintrag steht eine Begründung:

EventMessageFile für die Ereignisquelle für SYSTEM\CurrentControlSet\Services\EventLog\Application\APPLICATION nicht gefunden. RegOpenKeyEx gibt 2 zurück. Trap wird nicht gesendet.:(

Weiss jemand, wie man zu dem eigenen Event einen EventMessageFile in der Registry anlegen muss ?

Gibt es irgendwo ein howto, oder kann mir jemand helfen.

Hintergrund der Anfrage ist, ob man bei der Programmierung von Anwendungen eigene Events erzeugen kann und

mit den dazugehörigen Traps überdies ein Management Tool informiert.

Die SNMP Schnittstelle wird von allen gängigen Netzwerk - Managementtools unterstützt.

Wäre ne coole Sache, wenn das irgendwie geht.

Gruß

Eleu

snmp.zip

Bearbeitet von Eleu
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo community,

ich wollte nur mal mitteilen, dass ich eine Lösung gefunden habe (Falls es jemanden interessiert).

Und zwar habe ich mir VB.NET runtergeladen, oder vielmehr Visual Basic 2010 Express (Wollte ich schon die ganze Zeit, weil ich immer noch mit VB6 arbeite)

Mein erstes NET -Projekt, erzeugt mit der nachfolgenden Funktion einen eigenen Eintrag im Eventlog. Die Beschreibung des Events kann durch die Übergabe eines Strings an die Funktion frei programmiert werden.:D

Es wird dann auch ein SNMP - Trap abgeschickt.:cool:

Wichtig ist, dass die NET Anwendung über einen Setup auf dem XP-Rechner

installiert wird, damit die Applikation der Registry bekannt gemacht wird.



''' <summary>

''' Write Entry to Event Log using VB.NET

''' NOTE: EventSources are tightly tied to their log. So don't use the same source name for different logs, and vice versa.

''' </summary>

''' <param name="Entry">Value to Write</param>

''' <param name="EventType">Entry Type, from EventLogEntryType Structure e.g., EventLogEntryType.Warning, EventLogEntryType.Error</param>

''' <param name="LogName">Name of Log (System, Application; Security is read-only) If you specify a non-existent log, the log will be created</param>

''' <returns></returns>

''' <remarks></remarks>

Public Function WriteToEventLog(ByVal Entry As String, Optional ByVal EventType As EventLogEntryType = EventLogEntryType.Information, Optional ByVal LogName As String = "Application") As Boolean

    Dim appname As String = My.Application.Info.Title

    Dim objEventLog As New EventLog()


    Try

        'Register the App as an Event Source

        If Not EventLog.SourceExists(appname) Then

            EventLog.CreateEventSource(appname, LogName)

        End If


        objEventLog.Source = appname


        'WriteEntry is overloaded; this is one

        'of 10 ways to call it

        objEventLog.WriteEntry(Entry, EventType)

        Return True

    Catch Ex As Exception

        Return False

    End Try

End Function


Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...