Das Thema Monitoring via REST API mit PRTG gewinnt meines Erachtens nach immer mehr an Bedeutung. Natürlich auch dadurch, dass mittlerweile jeder Hersteller in seinen Produkten eine solche Schnittstelle mitliefert. Ich selbst habe dieses Feature in PRTG leider lange Zeit unterschätzt. Daher dieser kleine Artikel, um aufzuzeigen wie man diese Sensoren nutzen kann.
In meinem Beispiel möchte ich den System Status von einem HPE StoreOnce System via REST API überwachen. Einmal der einzelnen Service Sets und natürlich auch des Globalen Systems.
PRTG Sensor – StoreOnce mit zwei SID’s und einem Store
Vorsicht:
Mehrere Nutzer haben mich auf ein Problem mit der StoreOnce Firmware 3.15.1 hingewiesen (Vielen Dank nochmal dafür!). HPE hat in dieser Version TLS 1.0 abgeschaltet, daher kommt es zu Problemen bei den REST API Calls von PRTG.
Removal of TLS 1.0 support to comply with new Payment Card Industry standards: TLS 1.0 support has been removed from StoreOnce products. Any applications that use TLS 1.0 will not be able to communicate with the StoreOnce System unless they upgrade to a later, more secure version of TLS.
Siehe auch:
StoreOnce software revision 3.13.x to 3.15.1 (P9L02-10528) release notes
Leider gibt es aktuell (28.02.2017) von Paesssler keine Lösung für das Problem.
Siehe:
https://kb.paessler.com/en/topic/73422-xml-rest-sensor-tls-version
Damit man diesen Sensor sinnvoll einrichten kann, sollte man wissen was man überwachen will und wie die möglichen Stati sind.
Ich habe mich bereits in einem früheren Artikel mit der REST API der StoreOnce Systeme beschäftigt, wusste also daher was ich benötige.
Dennoch habe ich den REST Call zum Test initial mit Postman ausgeführt:
Global:
https://<D2D-IP>/storeonceservices/cluster/
<healthLevel>1</healthLevel>
Service Set’s:
https://<D2D-IP>/storeonceservices/cluster/servicesets/<ID>
<overallHealthLevel>1</overallHealthLevel>
Und auch noch einmal die möglichen Stati zur Sicherheit in der Dokumentation geprüft :
Bei einer Warnung sieht das dann in PRTG so aus:
Das original Event war folgendes:
Monitoring via REST API
Einrichtung des Sensors
PRTG – Neuer Sensor an Gerät
PRTG – Eigenschaften des Sensors
in den Eigenschaften sind ein paar kritische Punkte:
- XML Node
- Dahinter versteckt sich der Wert
- HTTP Header
- Umstellung auf XML (Default ist HTML Table)
- Autherntifizierung (Basic mit Base64 Hash)
- Kein SSLv3
Schwellwerte festlegen
PRTG – Alarm Limits hinzufügen
PRTG – Alarm Limit Einstellungen
Weitere Möglichkeiten
Store Size On Disk
PRTG – Sensor D2D Store Größe auf Disk
<br>Verwandte Posts:
-
PRTG - Veeam B&R MonitoringAuch wenn Veeam Backup & Replication v9 eine sehr umfangreiche Email Report Funktion besitzt, mochte ich mit meinem Artikel Veeam B&R Monitoring etwas weiter gehen: Mehrere Veeam Backup &…
Quick Tip - PRTG Desktop NotificationEin kleine aber feine Alternative zu der PRTG Desktop Applikation sind die PRTG Desktop Notification für Google Chrome. Aktivieren der PRTG Desktop Notification Desktop…
HP StoreOnce Reporting mit vRealize OrchestratorWie bereits in meinem vorherigen Artikel HP StoreOnce Reporting mit Powershell angekündigt, war der nächste Schritt die Umsetzung des StoreOnce Reporting mit vRealize Orchestrator. Dies ist ein meinem…
Hallo Markus,
ich habe heute versucht nach deiner Anleitung mit dem Powershell Module auf unsere StoreOnce zuzugreifen. Leider bekomme ich keine Verbindung hin. Folgendes wird mir als Fehler ausgegeben.
Connect-SOAppliance -Server x.x.x.x -Username xxxxxxxx -Password xxxxxxxx
True
Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..
Muss ich auf der StoreOnce noch was einschalten? Hab nix gefunden. Firmware ist 3.15.1-1636.1
Ich würde die StoreOnce gern per PRTG überwachen. Könntest du mich dabei unterstützen?
Kannst du mir helfen?
Marcel
Hallo Marcel,
erst einmal viele Dank für dein Interesse an meinen Beiträgen.
Bei deinen Fragen handelt es sich ja eigentlich gleich um zwei Themen bzw. Artikel:
1. StoreOnce PowerShell Module
Verwendest du da das aktuellste aus der PowerShell Gallery (https://www.powershellgallery.com/packages/PS-StoreOnce)?
Leider hat meine Test StoreOnce VSA noch einen älteren Stand und ich muss erst noch aktualisieren (bin aber dabei). Mit 3.13.x musste man da aber nichts aktivieren.
Die Verbindung zu GUI der StoreOnce mit Dem IE funktioniert?
hast du mal mit eine RestAPI Tool wie Postman eine Abfrage versucht (hier ein paar Beispiele: https://github.com/mycloudrevolution/StoreOnce-PSModule/blob/master/Postman/HPE-StoreOnce.postman_collection.json)
2. StoreOnce gern per PRTG überwachen?
Den Artikel zu dem Thema hast du dir ja dann sicher durchgelesen.
Wo genau liegen denn die Probleme?
Beste Grüße,
Markus
Ja ich habe die aktuellste Version 2.0.1
Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..
At C:Windowssystem32WindowsPowerShellv1.0ModulesPS-StoreOnce2.0.1FunctionsConnect-SOAppliance.psm1:125 char:9
+ throw $_.Exception.Message
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (Die zugrunde li…r beim Senden..:String) [], RuntimeException
+ FullyQualifiedErrorId : Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..
Das ist der Fehler der angezeigt wird.
Per Postman funktioniert die Abfrage. Im PRTG habe ich alle so eingetragen wie du, da bekomme ich den Fehler „Process is terminated due to StackOverflowException.“
Also alles sehr merkwürdig
Konnte heute nun mit der VSA Version 3.13.5-1633.6 Testen, ohne Fehler. Deine Firmware Version kann ich in der VSA leider nicht benutzen…
Irgendwie definitiv seltsam, hört sich auch beides sehr verwand an.
Testest du das PS Modul auch auf dem PRTG Probe oder auf einem anderen Server?
Würdest du bitte mal felgendes Testet:
PS C:> Invoke-WebRequest -Uri https://192.168.130.129/fusion
StatusCode : 200
StatusDescription : OK
Egal wo ich das teste es geht nicht. Es kommt der gleiche Fehler wenn ich das teste.
Sorry, bin ich etwas ratlos…
Was ist mit dem invoke-webrequest, konntest du das testen?
Moin Markus,
liegt definitiv an der Firmware 3.15.1. Habe letzte Woche auf die Firmware geupdated, seit dem gehen die PRTG Sensoren nicht mehr (gleicher Fehler). Werde evtl. diese oder dann nächste Woche mal dem Problem auf die Spur gehen und Feedback geben.
Schönen Gruß,
Timo
Cool, vielen dank Timo.
Bin sehr gespannt!
OK, ich denke das Problem hat mit dem eingestellten Support für TLS 1.0 zu tun:
Siehe:
https://h20566.www2.hpe.com/hpsc/doc/public/display?sp4ts.oid=5196525&docLocale=en_US&docId=emr_na-c05273928
Für den PRTG Sensor kann ich allerdings keine Einstellung bezüglich TLS Version in der Hilfe finden:
https://www.paessler.com/manuals/prtg/http_xmlrest_value_sensor
Für das PowerShell Modul habe ich eine Test-Brache bereitstellt:
https://github.com/mycloudrevolution/StoreOnce-PSModule/tree/TLS1.X
Diese Version soll fix TLS 1.2 verwenden.
Über weitere Tests mit der Firmware 3.15.x würde ich mich sehr freuen.
Beste Grüße,
Markus Kraus
Moin,
auch mit dem neuen Module kann ich keine Verbindung herstellen. Es kommt der gleiche Fehler. Beim Test mit invoke-webrequest kommt nur: Invoke-WebRequest : Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden.. Also alles beim alten. 🙁 Ich danke dir trotzdem für dein Feedback. Hoffentlich findest du was. 🙂
Hallo,
noch mal zur Sicherheit bitte wenn der Fehler gekommen ist (im Modul oder bei dem WebRequest) folgenden Befehl zur Verifizierung der TLS Version ausführen:
[System.Net.ServicePointManager]::SecurityProtocol
Hier der Request:
True
Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..
At C:Windowssystem32WindowsPowerShellv1.0ModulesPS-StoreOnce2.0.1FunctionsConnect-SOAppliance.psm1:125 char:9
+ throw $_.Exception.Message
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (Die zugrunde li…r beim Senden..:String) [], RuntimeException
+ FullyQualifiedErrorId : Die zugrunde liegende Verbindung wurde geschlossen: Unerwarteter Fehler beim Senden..
PS Z:> [System.Net.ServicePointManager]::SecurityProtocol
Ssl3, Tls
Hallo,
Du verwendest hier leider nicht das Test Modul.
Du könntest aber in der Session folgendes absetzen:
[System.Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Und dann noch mal testen.
Vorsicht: die Einstellungen gelten nur für die eine PowerShell Session.
Beste Grüße
Markus
Moin,
so funktioniert es.
PS Z:> Import-Module PS-StoreOnce
PS Z:> [System.Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
PS Z:> Connect-SOAppliance -Server x.x.x.x -Username prtg -Password xxxxxxxx
True
Server Username EncodedPassword
—— ——– —————
x.x.x.x prtg xxxxxxxxxxx
PS Z:>
Top, genau das habe ich auch in das Test Modul eingebaut.
Ich werde das dann diese Woche
Aktualisieren.
Vielen Dank für deinen Test.
Ich habe zu danken. Bei PRTG muss ich dann mal sehen. Vielleicht mach ich das dann auch über ein Powershell Script.
Danke
Marcel
Klar, habe dazu ja auch einige Beispiele.
Veeam Cloud Tenant Statistiken Beitrag ist denke ich sehr ähnlich.