Picture of Olaf 1639
Registered 10 years 248 days
Olaf 1639 Tuesday, 18 July 2023, 10:32 AM
PRTG Monitor Auslastung der Calls usw.
Hallo zusammen

gibt es hier jemanden der mit PRTG schon ein paar Abfragen gemacht hat und z.B. die Calls zu zählen.
Was ich schon hinbekommen habe ist die aktiven Regitrierungen zu Zählen über den Sensor "HTTP XML-/REST-Wert" als URL:"https://[PBXIP_or_DNS]/PBX0/ADMIN/mod_cmd_login.xml?cmd=show&reg=*" XML-Knoten "reg cn=".

Ich finde aber keine Möglichkeit einfach Zeilen zu zählen über die URL:"https://[PBXIP_or_DNS]/session/PBX0/ADMIN/mod_cmd_login.xml?cmd=show&call=fm&xsl=pbx_calls_classic.xsl".

Ich wäre über jeden Tipp dankbar.

Gruß Olaf
Picture of Dirk 6624
Registered 1 year 261 days
Dirk 6624 Sunday, 27 August 2023, 12:07 AM
Re: PRTG Monitor Auslastung der Calls usw.
Hallo Olaf,

mit dem "HTTP XML-/REST-Wert"-Sensor wirst du an dieser Stelle nicht weiterkommen. Man benötigt z.B. ein PowerShell-Skript, welches man über den "EXE/Script Advanced"-Sensor einbindet.

Wenn mir jemand erklärt, wie man in diesem Forum Code postet, stelle ich gern ein Skript zur Verfügung.

Mit freundlichen Grüßen
Dirk Vieregg
Picture of olaf_TT
Registered 14 years 70 days
olaf_TT Sunday, 27 August 2023, 10:03 AM
Re: PRTG Monitor Auslastung der Calls usw.
Moin,
das wäre sehr interessant.
Grüße
Olaf
Picture of Dirk 6624
Registered 1 year 261 days
Dirk 6624 Sunday, 27 August 2023, 11:50 AM
1 of 1 users consider this post helpful
Re: PRTG Monitor Auslastung der Calls usw.
Hallo Olaf,

ich versuche es einfach mal ohne Code-Tag.

++++++++++++++++++++++++++
param([string]$PBX,
[string]$Port,
[string]$User,
[string]$Password)

$NumberOfCalls = 0

$CallURL = "https://" + $PBX + ":" + $Port + "/PBX0/ADMIN/mod_cmd_login.xml?cmd=show&call=fm"

$SecPassword = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential ($User,$SecPassword)

# TLS 1.2
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12

# read call list
$Calls = Invoke-RestMethod -Uri $CallURL -Credential $Credentials

# process calls if there are any
if ($Calls.show.call.state.Count -gt 0)
{
# counting all calls no matter of state (state can be connected, alerting, ...)
$NumberOfCalls = $Calls.show.call.state.Count
}


# write output for PRTG
Write-Host "<?xml version=`"1.0`" encoding=`"UTF-8" ?>"
Write-Host "<prtg>"

Write-Host "<result>"
Write-Host "<channel>Calls</channel>"
Write-Host "<mode>Absolute</mode>"
Write-Host "<showChart>1</showChart>"
Write-Host "<showTable>1</showTable>"
Write-Host "<value>$NumberOfCalls</value>"
Write-Host "</result>"

Write-Host "</prtg>"
++++++++++++++++++++++++++

Das speicherst du z.B. als "Get-innovaphoneCalls.ps1" auf dem PRTG-Server im Verzeichnis "C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML" und richtest anschließend einen "EXE/Script Advanced"-Sensor ein. Als EXE/Script wählst du "Get-innovaphoneCalls.ps1" und in die Zeile mit den Parametern kommt "-PBX pbx.domain.de -Port 443 -User PRTGreader -Password StarkesPasswort"

Die Parameter müssen natürlich passen und der Nutzer vorher auf der PBX als Admin eingerichtet worden sein.

Das Intervall sollte man kurz wählen, z.B. 30 oder 60 Sekunden. Trotzdem wird man durch das Polling sehr kurze Telefonate nicht erfassen.

Bei uns ist es noch etwas aufgebohrt und wir werten z.B. A- und B-Leg aus, um die Gesprächsverteilung (intern, Deutschland, weltweit) darzustellen.

Viel Erfolg!

Mit freundlichen Grüßen
Dirk
← You can define your color theme preference here