1

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

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

<prtg>
  <result>
    <channel>MaxCPUWL1</channel>
    <value>113</value>
  </result>
  <text>OK</text>
</prtg>

事实上,我有另一个脚本,它几乎生成了相同的格式,包括CR/LF行尾的相同序列:

<prtg>
  <result>
    <channel>Item age</channel>
    <value>14</value>
  </result>
  <text>April 15, 2015</text>
</prtg>

我什至详细检查了两者的输出,以确保我没有做一些愚蠢的事情,比如使用channe1(with a) 而不是channel(with an L)。

然而,对于第一个,我不断进入仪表板:

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

什么可能导致这个问题?

4

1 回答 1

1

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

o Discard EXE result
o Write EXE result to disk
o Write EXE result to disk in case of error

查看自定义传感器正在做什么的一个好方法是设置中间选项(通常设置第一个),然后在传感器日志目录中查找文件Result of Sensor XXXX.txtXXXX传感器 ID 在哪里),例如:

C:\ProgramData\Paessler\PRTG Network Monitor\Logs (Sensors)

这应该向您显示脚本中发生的任何错误,或者至少是混淆 PRTG 传感器输出分析的输出。

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

于 2015-04-30T08:58:27.337 回答