Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Eigene SNMP Traps erzeugen

Empfohlene Antworten

Veröffentlicht

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

  • Autor

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


Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.