Eleu Geschrieben 23. Dezember 2010 Teilen Geschrieben 23. Dezember 2010 (bearbeitet) 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ß Eleusnmp.zip Bearbeitet 23. Dezember 2010 von Eleu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Eleu Geschrieben 23. Dezember 2010 Autor Teilen Geschrieben 23. Dezember 2010 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. 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.