Letzte Aktualisierung am 12.10.2024, 10:10:50 Uhr
Inzwischen hat fast jedes Unternehmen ein Monitoring System im Einsatz. Die Standardthemen wie eingehender/ausgehender Datenverkehr, Status von Diensten, freier Arbeitsspeicher und Festplattenkapazität, Prozessorlast, etc…hat jeder auf dem Radar. Anders sieht es aus, wenn Fachanwendungen auf den jeweiligen Server betrieben werden. Hier taucht vor und nach der Implementierung immer die Frage auf: Habe ich alle relevanten Daten im Monitoring System erfasst? Oft merkt man erst bei einer Störung der Anwendung, dass man etwas vergessen. Dann nämlich, wenn das Monitoring System keinen Alarm anzeigt. So auch in diesem Fall geschehen. 🙂
In dieser Umgebung kommt für die Abwehr von Malware/Spam das Produkt NoSpamProxy (NSP) von Net At Work zum Einsatz. Für die Überwachung der kompletten IT-Landschaft ist bereits PRTG aus dem Hause Paessler implementiert. Eines Tages schlugen über das Ticketsystem nach und nach Nachfragen in der IT Abteilung auf. Verschickte E-Mails an externe Empfänger kommen dort nicht an. PRTG hat diesbezüglich keinen Alarm angezeigt: Exchange – online, NSP – online, Internetzugang – online, benutzerdefinierte SLA Probes – online. Es hat sich bei der genaueren Analyse herausgestellt, dass der Internet Service Provider Probleme mit dem Routing hatte. Was dazu geführt hatte, dass das NSP Gateway keine Verbindung zum gegenüberliegenden E-Mailserver aufbauen konnte. 🙁
Bei meinen Überlegungen und anschließender Suche im Internet bin ich auf das PowerShell Skript von Thomas Stensitzki gestoßen. Es ist bzw. war am Ende des Tages die einzig brauchbare Seite, welche mich meinem Ziel einen großen Schritt nähergebracht hat. Das größte Manko an seinem PowerShell Skript ist meiner Meinung nach, dass er auf dem Server auf dem die NSP – Intranet Rolle läuft, auch eine PRTG Probe installiert hat. Der Sensor „Programm/Skript“ führt das hinterlegte Skript wird immer auf der PRTG Probe aus, dem das Gerät und somit auch Sensor zugeordnet ist.
Unsere Anforderungen hingegen waren wie folgt:
- Auswertung der Nachrichtenverfolgung über alle NSP Gateways hinweg.
- Auswertung der Nachrichtenverfolgung des angegebenen NSP Gateways.
- Übergabe des Abfrageintervalls des PRTG Sensors an das Skript. Somit sind manuelle Anpassungen im PowerShell Skript nicht notwendig.
Entstanden ist folgendes PowerShell Skript bzw. PRTG Sensor. Die jeweils aktuelle Fassung steht auf meinem Git Repository zur Verfügung:
NoSpamProxy Version 13.x: Download | NoSpamProxy Version 14.0.5: Download |
Das Skript herunterladen und ggf. einen individuellen Dateinamen vergeben. Wichtig ist der Dateityp muss .ps1 sein. Die Datei auf der PRTG Probe in das Verzeichnis „.\Custom Sensors \EXEXML“ (z.B. C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML) ablegen/abspeichern.
Anschließend die Weboberfläche von PRTG in einem Browser anrufen und anmelden. Zuerst auf der Probe bzw. in der entsprechenden Hierarchie ggf. den Server auf dem die NSP Intranet Rolle installiert als Gerät anlegen. Danach einen neuen Sensor dem Gerät hinzufügen. Im Assistenten den Sensortyp „Programm/Skript (Erweitert)“ auswählen.
Nun erscheint die Maske für die Allgemeinen- und Sensoreinstellungen.
Als erster Parameter muss „%device“ eingegeben werden. PRTG speichert den Computernamen des übergeordneten Geräts in der Variablen %device. Grund dafür ist, dass ich den Computername im PowerShell Skript in eine Variable gepackt habe. Gerade wenn man unabhängige NSP Instanzen in seiner Landschaft hat, ist das PowerShell Skript flexibel und muss nicht unnötig oft dupliziert werden.
Als zweiter Parameter muss der Intervall in Minuten angegeben werden. Hintergrund ist, dass der Sensor natürlich nicht bei jeder Abfrage die gesamte Nachrichtenverfolgung des NSPs auswerten soll. Sondern nur Einträge, die seit der letzten Ausführung des Sensors erfasst worden sind. Wird der Abfrageintervall des Sensors nur alle 30 Minuten ausgeführt, so muss natürlich auch der dieser Parameter geändert werden. Wichtig ist, dass der Wert in Anführungszeichen steht! Bis dato gibt es in PRTG keine Variable für den Abfrageintervalls des Sensors.
Als dritter Parameter kann optional noch der Computername angegeben werden, auf dem die NSP Gateway Rolle läuft. Somit kann explizit für den angegeben Server die Statistik abgerufen und ausgewertet werden. Dies macht meiner Meinung nach Sinn, wenn man mehrere NSP Gateways im Einsatz hat und diese zudem über verschiedene Internetleitungen agieren.
%device "5"
Sicherheitskontext:
Nach einer PRTG Standardinstallation wird der dazugehörige Dienst „PRTG Probe Service“ unter dem Benutzer „Lokales System“ ausgeführt. Mit diesem Systembenutzer ist es nicht möglich, eine PowerShell Remoteverbindung auf einen entfernen Server aufzubauen. Daher muss die zweite Option ausgewählt werden. In 99% der Fälle ist bereits entsprechende Zugangsdaten im übergeordneten Gerät bzw. in der Hierarchie konfiguriert. Denn Sensoren für Windows-Systeme (z.B. WMI) greifen auf dieselben Zugangsdaten zurück.
Sind alle Einstellungen und ein schöner Name für den Sensor vergeben, kann der Sensor erstellt werden.
Nachstehend ein Screenshot des Sensors, wenn dieser eingebunden ist. In diesem Fall handelt es sich um meine Testumgebung, wo natürlich ohne Lizenz Schlüssel für NSP und E-Mailserver auch nichts zu sehen ist. 😉
Der Code bzw. Sensor ist sozusagen noch BETA. Ich habe diesen in zwei verschiedenen Umgebungen bisher im Einsatz. Somit würde ich mich natürlich freuen, wenn sich weitere Tester finden lassen. Viel Spaß beim Ausprobieren. 🙂
Hallo – leider taucht bei mir folgende Fehlermeldung auf:
The access has been denied. To resolve this issue, check your Credentials for Windows Systems in the device settings. (code: PE095)
die Zugangsdaten sind aber 100% richtig und in der Firewall wird auch nichts blockiert hinsichtlich DMZ.
Der Gatewayserver ist mit IP eingerichtet und die Parameter stehen so wie oben beschrieben beim Sensor hinterlegt.
Vieleicht hat jemand eine Idee ?
Vielen Dank !
Hallo Adrian,
du hast den (virtuellen) Windows Server mit der Intranet Rolle von NSP in der DMZ stehen. Habe ich das richtig verstanden?
Gruß,
Daniel
Hallo Daniel, nein der Gateway-Server steht in der DMZ – die Intranet-Rolle ist im Lokalen Netz – ebenfalls der PRTG Server. Der Sensor muss doch auf die Gateway Rolle zeigen oder?
Danke & Gruß
Adrian
Hallo Adrian,
nein, der Sensor muss auf den Server mit der NSP Intranet.Rolle zeigen. Dort werden die entsprechenden Informationen verwaltet und auch gespeichert. Die Gateway Rolle ist noch nur dafür da die Interaktion durchzuführen.
Gruß,
Daniel
Ich erhalte diesen Fehler, wo könnte das Problem liegen?
XML: Das zurückgelieferte XML entspricht nicht dem erwarteten Schema. (Code: PE233) — JSON: Das zurückgelieferte JSON entspricht nicht der erwarteten Struktur (No mapping for the Unicode character exists in the target multi-byte code page). (Code: PE231)
Hallo David, zuerst im Sensor in PRTG unter den Einstellungen den Paramater „Ergebnis speichern“ aktivieren. Im Anschluss den Sensor manuell starten und warten bis erneut der Fehler ausgegeben wird. Danach in die beiden Logfiles des Sensors ein Blick werfen. In der Regel sind dort weitere Informationen zu finden. Wenn du nicht weiter kommst, darfst du mir gerne die Logfiles per E-Mail (siehe Impressum) zu kommen lassen. Unabhängig davon habe ich meine Test-Instanz von NSP auf Version 14.0.5 aktualisiert und meinen Sensor getestet. Ich konnte diesbezüglich keine Probleme feststellen. Nichts desto trotz habe ich heute eine neue Version des PowerShell Skripts… Weiterlesen »
Guten Tag und ein gesundes neues Jahr! Vielen Dank für die Arbeit! Allerdings bin ich mit dem neuen Skript in ein Problem gelaufen, das vielleicht auch für andere relevant sein könnte. Ich habe unseren NSP vor Weihnachten auf die aktuelle 14.0.2 gehoben und heute das aktualisierte Skript in unser PRTG eingebaut. Beim Update des NSP auf die 14 wird ein neuer O365-Konnektor angelegt ( https://docs.nospamproxy.com/Server/14/Suite/de-de/Content/update-information/14/changes-and-recommendations-version-14.htm ganz unten ) und mein PRTG ist jetzt der Meinung, das zum Konnektor gehörende Zertifikat sei seit 738521 Tagen abgelaufen. Dieser automatisch angelegte Konnektor ist nicht bearbeitbar, ich kann ihm kein Zertifikat zuordnen und sehe… Weiterlesen »
Hallo Björn,
wünsch dir ebenfalls ein gutes neues Jahr.
Viele Dank für den Hinweis. Ich habe versucht das Ganze bei mir nachzustellen. Ich habe so eben eine Anpassung hochgeladen. Bitte damit nochmals testen.
Ist der Konnektor bei dir unter im Command Center unter Configuration -> E-Mailing -> Inbound send Connectors? Darfst mir auch gerne ein paar anonyme Screenshots per E-Mail (siehe Impressum) zu schicken. Somit kann ich es einfacher nachstellen.
Gruß,
Daniel
Hi Daniel,
Vielen Dank für Deine schnelle Reaktion!
Ja, es ist ein eingehender Sendekonnektor. Mit der geänderten Version Deines Skriptes wird er nicht mehr erfaßt und das Problem ist damit verschwunden. Ich sende Dir trotzdem gleich noch Screenshots des Konnektors.
Vielen Dank nochmal für Deine Arbeit an dem Skript! Ich finde es sehr nützlich.
Einen schönen Tag noch!
Björn Wunschik
Hallo Daniel, danke für Deine Hilfe! Ich habe gerade Dein 14er Skript (wir haben NSP von 13 auf 14 aktualisiert) wie beschrieben in PRTG eingebunden und der Benutzer, der das Skript ausführt, ist Mitglied in den Gruppen „NoSpamProxy Configuration Administrators“ und „NoSpamProxy Monitoring Administrators“. Der Sensor steht nun im Status Fehler und in der Übersicht sehe ich nur zwei Kanäle: Ablauf der NSP Lizenz mit einem Wert von – 738.501 Tage und Ausfallzeit ohne Werte. Hast Du eine Idee was ich falsch gemacht haben könnte?
Hallo Nico,
welche 14er Version von NoSpamProxy kommt bei dir zum Einsatz? Damit ich das bei mir Nachstellen kann.
Gruß,
Daniel
Hallo Nico,
ich konnte inzwischen das Problem nachstellen und die Ursache beheben. Es steht seit heute eine Neue Version des Skripts bereit.
Gruß,
Daniel
hallo, ich versuche geradem eine nsp server via prtg zu überwachen und erhalte immer die meldung: -„Server existiert nicht!“
jemand nen tipp warum? hab alles, mehrfach, brav nach anleitung eingerichtet.
danke
Server existiert nicht!“
Hallo Stefan,
Es gibt inzwischen zwei Versionen des PowerShell Skripts – für NSP v13.x und v14.x. Welche Version kommt bei dir zum Einsatz?
Welche Parameter hast du in das Feld Parameter des Sensors eingetragen?
Heißt das Gerät in PRTG gleich dem Namen des Servers?
Gruß,
Daniel
Nett geschrieben und vor allem die Set-PrtgResult-Funktion hat es mir angetan :-). Du schreibst, dass man auf dem NSP dann eine PRTG Probe installieren müsste. Und du verwendest „Invoke-command“, wozu die Rollen aber auch erreichbar sein müssten. Es geht vielleicht eleganter (je nach Sichtweise) ich würde das Skript einfach per Windows Taskplaner alle x Monuten auf dem PC laufen lassen, auf dem die NSP Commandlets vorliegen und die Ergebnisse per HTTP-Push an PRTG posten. https://www.msxfaq.de/tools/prtg/prtghttppushsensoren.htm. Ich nehme ihr Posting mal zum Anlass mal zu schauen, was wir vielleicht ins Produkt einbauen können. NoSpamProxy hat aber schon heute Windows Performance Counter… Weiterlesen »
Hallo Frank, in die von dir genannte Funktion habe ich mich auf den ersten Blick verliebet. 😉 Diese stammt aus dem PowerShell Skript von Thomas Stensitzki (siehe Link im Beitrag). Bezüglich der notwendigen PRTG Probes habe ich mich evtl. ungenau ausgedrückt. Bei uns im Unternehmensnetzwerk wird natürlich Zusatzsoftware auf Servern vermieden wo es geht. Dazu gehört auch solch ein relatives kl. Tool wie eine PRTG Probe. WinRM ist bei uns nicht nur für PRTG im Einsatz sondern auch für divesee administrative Aufgaben. D.h. die Löcher sind bereits in (Gateway) Firewalls gebohrt. Den PRTG HTTP Push Sensor hat bei meinen Überlegungen… Weiterlesen »
Hallo Herr Wydler,
es freut mich sehr zu sehen, dass Sie Ihre Arbeit und Ihr erarbeitet Wissen mit der Öffentlichkeit teilen.
Ich freue mich schon drauf Ihr Skript in meiner Testumgebung auszuprobieren 🙂
Außerdem habe ich mir die Freiheit genommen Ihren Beitrag in unserem Forum zu verlinken (https://forum.nospamproxy.com/showthread.php?tid=17). Es ist ein hervorragendes Beispiel was mit dem NSP unter der Haube alles möglich ist.
Ich freue mich schon auf weitere Beiträge von Ihnen. 🙂
Mit freundlichen Grüßen,
Jan Jäschke
Produktmanager der Net at Work GmbH
Guten Abend Herr Jäschke,
vielen Dank für die Blumen. Die Idee/Grundlage stammt wie im Beitrag geschrieben von Thomas Stensitzki. Ich habe das sozusagen um unsere Bedürfnisse ergänzt/erweitert.
Das Verlinken in ihrem Forum geht natürlich in Ordnung. Bin ich sehr gespannt, wie sich dies entwickelt. 🙂
Weitere Beitäge sind natürlich geplant. Allerdings weniger zu NoSpamProxy. 😉
Viele Grüße,
Daniel Wydler