如何配置zabbix来接收数据?

时间:2016-07-16 16:35:11

标签: java zabbix

我创建了一个名为dev002-All-Series的主机,向其添加了tapper item,其中包含密钥test.ping.count添加主机和ip地址到允许的主机。然后我尝试使用zabbix-metrics library发送包含以下代码的数据:

private MetricRegistry metricRegistry;
private Meter pingMeter;

private void init() {
    metricRegistry = new MetricRegistry();
    metricRegistry.register("jvm.attribute.guage.set", new JvmAttributeGaugeSet());
    ZabbixSender zabbixSender = new ZabbixSender("zabbixHost", 10051);
    ZabbixReporter zabbixReporter = ZabbixReporter.forRegistry(metricRegistry)
            .hostName(HostUtil.getHostName()).prefix("test.").build(zabbixSender);

    //FIXME us right time unit and amount
    zabbixReporter.start(10, TimeUnit.SECONDS);

    pingMeter = metricRegistry.meter("ping");
}

请注意,zabbix-metrics库使用ping前缀和test.后缀{sur} .count米。 那么为什么我收到我未能发送数据的原因呢?答复是:

{"response":"success","info":"processed: 0; failed: 8; total: 8; seconds spent: 0.000013"}

另外在zabbix中发送数据需要什么?还有一种方法可以解释为什么zabbix不接收数据 - 是否记录了这样的请求?

2 个答案:

答案 0 :(得分:0)

可能的热门原因:

  • 主机名不正确;确保匹配“主机名”字段(不是“可见名称”,不是IP,不是DNS ......);请注意,它区分大小写
  • 项目键不正确;确保它与项目键属性完全中的那个匹配 - 也区分大小写
  • 不正确的允许主机字段内容,或者来自不同主机的数据 - 检查该字段是否存在语法错误,请记住在较旧的Zabbix版本中该字段不支持空格并且tcpdump您的传入连接 - 它是否来自主持人你期待?
  • 主机/项目不在配置缓存中 - 如果您刚刚添加或更改了主机/项目,它可能尚未在配置缓存中。默认情况下,配置缓存每60秒更新一次
  • 如果主机受Zabbix代理监控,则必须将数据发送到该代理

一般情况下,暂时忘记您的申请并使用zabbix_sender进行测试。如果可行,请检查您的应用程序执行的操作有何不同。如果失败,请检查上面的所有项目。

至于日志记录,目前Zabbix不会记录失败或原因。

答案 1 :(得分:0)

我发现了一个问题。它转变为指标zabbix库不能很好地转换数据(对于版本0.0.1)。它以毫秒为单位发送时钟值long,而zabbix需要在中接收它。手动转换后,我得到了:

{"response":"success","info":"processed: 2; failed: 0; total: 2; seconds spent: 0.000016"}

我非常有趣,即使我有2个成功的处理元素,zabbix也不会在图形上显示任何值。

<强>已更新

要完成所有工作,您不仅应该检查数据对象中的时钟,还应该检查时钟。默认情况下,metrics zabbix使用zabbix-sedner版本0.0.1,以毫秒为单位发送时钟。要使指标适用于zabbix 3.0,它需要以秒为单位的时钟时间,您应该将zabbix-sedner版本更改为0.0.3。这是一个maven样本:

<dependency>
  <groupId>io.github.hengyunabc</groupId>
  <artifactId>metrics-zabbix</artifactId>
  <version>0.0.1</version>
</dependency>
<dependency>
  <groupId>io.github.hengyunabc</groupId>
  <artifactId>zabbix-sender</artifactId>
  <version>0.0.3</version>
</dependency>

See also