我用
UserParameter=Firebird[*],F:\tools\zabbix_agent\firebird\Firebird.bat $1
如何获得1个运行bat文件两个或更多值?
答案 0 :(得分:2)
答案 1 :(得分:0)
这是不可能的 - 它是zabbix代理架构。一项=一个值。
但你可以使用一些解决方法: 1.)zabbix_sender 您的脚本(bat文件)实现您的监控逻辑,收集的指标将由zabbix_sender发送。这些zabbix发件人项必须是Zabbix捕获器类型。您也可以一次性发送许多指标(参见手册-i)
手动:https://www.zabbix.com/documentation/2.4/manpages/zabbix_sender
在这种情况下,Zabbix项目将是Zabbix trapper类型。
2。)将值保存到文件中 您的脚本会将所有收集的指标保存到tmp文件中,然后您必须创建用于解析此tmp文件的特殊项目。密钥vfs.file.regexp是这项工作的最佳选择:
vfs.file.regexp[/tmp/file.txt,^(\w+),,,,\1]
vfs.file.regexp[/tmp/file.txt,^\w+ (\w+),,,,\1]
vfs.file.regexp[/tmp/file.txt,^\w+ \w+ (\w+),,,,\1]
vfs.file.regexp[/tmp/file.txt,^\w+ \w+ \w+ (\w+),,,,\1]
vfs.file.regexp[/tmp/file.txt,^\w+ \w+ \w+ \w+ (\w+),,,,\1]
3.)与第二个类似的概念,但您将使用共享内存而不是文件 它可能是过度工程,但如果你关心IOps。
我在SD卡上使用https://gist.github.com/jangaraj/edc9dde939cbd577bbba用于Raspberry Pi系统,因此我需要最小化IOP。我将ping输出存储到共享内存段,然后我解析不同项的ping输出(ping.max,ping.avg,ping.min,...)