Hallo zusammen.
Welche Möglichkeiten gibt es, die Daten der UTM per SSH auszulesen?
Ich würde gern aktuell zumindest Lizenzlaufzeit, installierte FW und neue verfügbare FW auslesen, so dass ich die Daten per PS in unser Monitoring überführen kann.
Später vielleicht noch weitere Werte/Daten.
Einen passenden WIKI-Eintrag habe ich noch nicht gefunden.
Bin mir aber sicher, das es geht. ;-)
Danke im Voraus,
Jan
per SSH: Abfrage FW & Lizenzlaufzeit
Moderator: Securepoint
Kann man sich bei Bedarf auch als JSON ausgeben lassen:
Entweder als root/ Supportnutzer auf die UTM verbinden
spcli -j
Oder in der CLI direkt:
cli json
Entweder als root/ Supportnutzer auf die UTM verbinden
spcli -j
Oder in der CLI direkt:
cli json
Mit freundlichen Grüßen
Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50
Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de
Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50
Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de
Moin Jan,
wenn eh schon PowerShell verwendet wird - können die Daten auch per PowerShell ausgelesen werden.
Entweder man verwendet den root Benutzer und einen SSH Key um sich auf die UTM zu verbinden (damit würde ich auch die native SSH Implementierung der PowerShell reichen).
Alternativ verwendet man einen "normalen" admin Benutzer ohne root rechte und das Modul Posh-SSH.
Mit Posh-SSH funktioniert es so:
In diesem Szenario ist die von Mario erwähnte Funktion "cli json" nicht wirklich Nutzbar (außerdem kann PowerShell dem JSON Output der UTM nicht korrekt parsen)
Also muss das ganze "manuell" lokal verarbeitet werden:
Der erste Befehl holt die Daten von der UTM - der zweite Befehl verarbeitet den Output der UTM, sodass man in der PowerShell damit vernünftig weiterarbeiten kann.
Jetzt kann ganz bequem alles mögliche mit where-object ausgelesen werden - das ganze ist jetzt ein Object:
Gruß
Kenneth
wenn eh schon PowerShell verwendet wird - können die Daten auch per PowerShell ausgelesen werden.
Entweder man verwendet den root Benutzer und einen SSH Key um sich auf die UTM zu verbinden (damit würde ich auch die native SSH Implementierung der PowerShell reichen).
Alternativ verwendet man einen "normalen" admin Benutzer ohne root rechte und das Modul Posh-SSH.
Mit Posh-SSH funktioniert es so:
Code: Alles auswählen
$Loginuser = 'admin'
$LoginUserPasswordSec = convertto-securestring -asplaintext -force 'insecure'
$LoginCreds = New-Object System.Management.Automation.PSCredential($Loginuser,$LoginUserPasswordSec)
New-SSHSession -ComputerName 192.168.175.1 -Credential $LoginCreds -AcceptKey
invoke-sshcommand -sessionID 0 -command 'CLI Befehl'In diesem Szenario ist die von Mario erwähnte Funktion "cli json" nicht wirklich Nutzbar (außerdem kann PowerShell dem JSON Output der UTM nicht korrekt parsen)
Also muss das ganze "manuell" lokal verarbeitet werden:
Code: Alles auswählen
$utm_output = invoke-sshcommand -sessionID 0 -command 'system info'Code: Alles auswählen
$utm_output_parsed = $utm_output.Output.Replace('|' ,'') | convertfrom-string -PropertyNames attribute,valueDer erste Befehl holt die Daten von der UTM - der zweite Befehl verarbeitet den Output der UTM, sodass man in der PowerShell damit vernünftig weiterarbeiten kann.
Jetzt kann ganz bequem alles mögliche mit where-object ausgelesen werden - das ganze ist jetzt ein Object:
Code: Alles auswählen
$license_days_left = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "daysleft" }).value
$utm_current_version = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "version" }).value
$utm_new_firmware = $utm_output_parsed | Where-Object -FilterScript { $_.attribute -eq "new" }).value
Kenneth
Moin,
danke für die Info - tatsächlich habe ich mich mit den ShellStream noch nicht beschäftigt. Schaue ich mir aber mal an. Das würde es auf jedenfall vereinfachen, da die Daten dann als json verwendet werden kann.
Gruß
danke für die Info - tatsächlich habe ich mich mit den ShellStream noch nicht beschäftigt. Schaue ich mir aber mal an. Das würde es auf jedenfall vereinfachen, da die Daten dann als json verwendet werden kann.
Gruß
Ich werde mir das auch einmal notieren.
Mit freundlichen Grüßen
Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50
Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de
Mario Rhein
Support
Tel. 04131/2401-0
Fax 04131/2401-50
Securepoint GmbH
Blecker Landstr. 28
D-21337 Lüneburg
https://www.securepoint.de
Super.
Danke.
Das hilft mir weiter.
Danke.
Das hilft mir weiter.
Kurze Frage.
Welcher Wert wird wird hier geschrieben, wenn die Lizenz abgelaufen ist.
Also bei null Tagen oder bei Überschreiten der Lizenzlaufzeit.
daysleft |70
Welcher Wert wird wird hier geschrieben, wenn die Lizenz abgelaufen ist.
Also bei null Tagen oder bei Überschreiten der Lizenzlaufzeit.
daysleft |70
Ich glaube in beiden Fällen steht "daysleft" auf 0 als Wert - das weiß ich aber nicht zu 100%