What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

PRTG zeigt nicht richtigen Wert von Custom Sensor an

Votes:

0

Hallo zusammen,

Ich habe mir ein Custom Sensor erstellt, welcher den Wert von einem CMD Skript anzeigen soll. Das CMD sieht in etwa so aus:

@echo off
for /f "tokens=2" %%i in ('curl --insecure --silent --output nul -x http://PROXY:8080 --proxy-user USER:PW -d "ACCOUNT=USER&PASSWORD=PASSWORD&CMD=CHECKCREDITS" https://smsgateway/cgi-bin/smsgateway.cgi') do set credit=%%i
echo %credit%:OK

Wenn ich das Skript auf dem Server mittels CMD ausführe erhalte ich folgende Antwort:

1304:OK

Der Sensor selber gibt mir aber den Wert "0" an. Woran kann das liegen? Habe ebenfalls den Output als String definiert, was mir leider auch nicht geholfen hat.

set x=%credit%:OK
echo %x%

Was habe ich übersehen? Oder kommt PRTG nicht klar, wenn ich eine Variable als Wert ausgeben möchte?

Danke und Gruss - Kevin

batch cmd custom-sensor

Created on Jun 9, 2020 11:54:07 AM



2 Replies

Votes:

0

Hallo Kevin,

Ist natuerlich schwer zu testen. Allerdings aus meiner Erfahrung dies ist meist ein Problem mit dem script selbst.

In diesem speziellen Fall koennte es sein das du den Pfad zu CURL voll angeben musst.

Generell wuerde ich damit starten das PRTG die EXE results in eine Logfile schreibt, siehe hier: https://www.paessler.com/manuals/prtg/exe_script_sensor - Write EXE results to disk.

Die Logfiles duerften vermutlich klar stellen wo das Problem wirklich liegt - eventuell temporaer das ECHO OFF ausschalten.

Alternative koenntest du auch sehen ob du das nicht in PowerShell abbilden kannst: Invoke-WebRequest.

Mfg

Florian Rossmark

www.it-admins.com

Created on Jun 9, 2020 4:00:05 PM



Votes:

0

Hallo Florian,

Danke für die Rückmeldung. Habe es nun über PowerShell mittels Invoke-WebRequest hinbekommen. Nun klappt es auch ohne weitere Probleme.

Hier noch das Skript, falls sich jemand dafür interessiert:

$pass=ConvertTo-SecureString "PASSWORT" -AsPlainText -Force
$cred=New-Object System.Management.Automation.PSCredential -ArgumentList "DOMAIN\USER",$pass
$postparms = @{ACCOUNT='ACCOUNTNAME';PASSWORD='PASSWORT';CMD='CHECKCREDITS'}
$site="https://secure.simmcomm.ch/cgi-bin/smsgateway.cgi"

$curl= Invoke-WebRequest -Uri $site -UseBasicParsing -Proxy "http://PROXY:PORT" -ProxyCredential $cred -Method POST -Body $postparms | select Content

foreach ($item in $curl)
{
    $output=($item.Content -split " ")[1] -replace "`n|`r",""
    write-host $output,":OK"
}

Gruss - Kevin

Created on Jun 10, 2020 11:51:22 AM




Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.