自动发现脚本文件输出格式:
- {
-     "data": [
-         {
-             "{#BIND_PERF}": "BIND INCOMING QUERY"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING NOTIFY"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING A"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING SOA"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING PTR"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING AAAA"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING IXFR"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING AXFR"
-         },
-         {
-             "{#BIND_PERF}": "BIND INCOMING ANY"
-         },
-         {
-             "{#BIND_PERF}": "BIND OUTGOING A"
-         },
-         {
-             "{#BIND_PERF}": "BIND OUTGOING NS"
-         },
-         {
-             "{#BIND_PERF}": "BIND OUTGOING PTR"
-         },
-         {
-             "{#BIND_PERF}": "BIND OUTGOING AAAA"
-         },
-         {
-             "{#BIND_PERF}": "BIND OUTGOING DNSKEY"
-         }
-     ]
- }
 
使用lld方式需要发送json格式的数据到zabbix server,这时候使用-o这种模式就会报错,这种时候我们需要使用临时文件的方式发送数据,下图是Zabbix trapper 方式discovery的配置

 
文件存储的格式: 主机名 监控key 值,json的值必须要和主机名、监控key放在同一行,我们这里使用配置文件来读取主机名,需要使用-来代替:
- - bind.parameter {"data": [{"{#BIND_PERF}": "BIND INCOMING QUERY"}, {"{#BIND_PERF}": "BIND INCOMING NOTIFY"}, {"{#BIND_PERF}": "BIND INCOMING A"}, {"{#BIND_PERF}": "BIND INCOMING SOA"}, {"{#BIND_PERF}": "BIND INCOMING PTR"}, {"{#BIND_PERF}": "BIND INCOMING AAAA"}, {"{#BIND_PERF}": "BIND INCOMING IXFR"}, {"{#BIND_PERF}": "BIND INCOMING AXFR"}, {"{#BIND_PERF}": "BIND INCOMING ANY"}, {"{#BIND_PERF}": "BIND OUTGOING A"}, {"{#BIND_PERF}": "BIND OUTGOING NS"}, {"{#BIND_PERF}": "BIND OUTGOING PTR"}, {"{#BIND_PERF}": "BIND OUTGOING AAAA"}, {"{#BIND_PERF}": "BIND OUTGOING DNSKEY"}]}
 
 
 
发送脚本的命令格式:
- /usr/bin/zabbix_sender -c zabbix_agentd配置文件 {0}'.format(json_file)
- 这里的json_file就是上面的文件路径