Рассмотрим код Java:
String host = "zabbixHost";
int port = 10051;
ZabbixSender zabbixSender = new ZabbixSender(host, port);
DataObject dataObject = new DataObject();
dataObject.setHost("testHost");
dataObject.setKey("test.ping.count");
dataObject.setValue("10");
// TimeUnit is SECONDS.
dataObject.setClock(System.currentTimeMillis()/1000);
SenderResult result = zabbixSender.send(dataObject);
System.out.println("result:" + result);
if (result.success()) {
System.out.println("send success.");
} else {
System.err.println("sned fail!");
}
Результат {"failed":0,"processed":1,"spentSeconds":0.001715,"total":1}
Затем я отправляю запрос с помощью инструмента zabbix_sender
из командной строки:
zabbix_sender -z zabbixHost -p 10051 -s testHost -k test.ping.count -o 8 -v
Результат:
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.002052"
sent: 1; skipped: 0; total: 1
На данный момент в Zabbix отправлено 2 значения. Но когда я дошел до графика мониторинга для test.ping.count
, отображается только значение 8
. Например. значение из кода Java не было получено, даже если ответ был успешным.
Что здесь происходит? Как исправить такую ситуацию?
Примечание
Библиотека - io.github.hengyunabc:zabbix-sender:0.0.3
версия Zabbix 3.0