PRTG自定义脚本返回有效的XML,但仪表板有问题

PRTG自定义脚本返回有效的XML,但仪表板有问题,xml,prtg,Xml,Prtg,我在EXEXML目录中有一个PRTG自定义脚本,该脚本已在PRTG仪表板中配置 当我手动运行它时,我得到以下输出,据我所知,这是完全有效的: <prtg> <result> <channel>MaxCPUWL1</channel> <value>113</value> </result> <text>OK</text> </prtg> 我甚至详细检

我在EXEXML目录中有一个PRTG自定义脚本,该脚本已在PRTG仪表板中配置

当我手动运行它时,我得到以下输出,据我所知,这是完全有效的:

<prtg>
  <result>
    <channel>MaxCPUWL1</channel>
    <value>113</value>
  </result>
  <text>OK</text>
</prtg>
我甚至详细检查了这两个频道的输出,以确保我没有做过愚蠢的事情,比如使用
channe1
(使用一个频道)而不是
频道(使用
L

然而,在第一个问题上,我不断进入仪表板:

XML:返回的XML与预期架构不匹配。(代码:PE233)——JSON:返回的JSON与预期结构不匹配(JSON无效)。(代码:PE231)


什么可能导致此问题?

如果编辑传感器的属性,可以在某些条件下捕获可执行文件的输出:

o Discard EXE result
o Write EXE result to disk
o Write EXE result to disk in case of error
查看自定义传感器正在执行的操作的一个好方法是设置中间选项(通常设置第一个),然后在传感器日志目录中查找传感器XXXX.txt的文件
结果(其中
XXXX
是传感器ID),例如:

C:\ProgramData\Paessler\PRTG Network Monitor\Logs (Sensors)
这将向您显示脚本中发生的任何错误,或者至少显示混淆PRTG传感器输出分析的输出


在这种情况下,它在运行
pscp
命令从远程服务器检索文件时遇到问题,但这种方法有望能够评估和修复各种各样的问题。

只是强调一下,在C:/ProgramData中查找日志目录,而不是在PRTG安装目录下。在我的例子中,PRTG无法运行我的powershell脚本,即使我将执行策略设置为“无限制”-因为我为x64 powershell执行了此操作,但PRTG运行x86 shell。因此,如果这是您的问题,请确保在x86 shell中运行Set ExecutionPolicy-Scope LocalMachine-ExecutionPolicy Unrestricted。
C:\ProgramData\Paessler\PRTG Network Monitor\Logs (Sensors)