2016-07-16 13 views
2

Ich habe einen Host mit dem Namen dev002-All-Series erstellt, hinzugefügt tapper item zu ihm mit Schlüssel test.ping.count Host und IP-Adressen zu zulässigen Hosts hinzufügen. Dann versuche ich, so ein Datum mit zabbix-metrics library mit Code zu senden:Wie konfiguriere ich zabbix, um Daten zu empfangen?

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"); 
} 

Beachten Sie, dass zabbix-Metriken Bibliothek surrond ping Meter mit test. Präfix und .count posyfix. Warum habe ich erhalten, dass ich meine Daten nicht gesendet habe? Die Antwort lautet:

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

Was ist zusätzlich in zabbix konfigurieren, um Daten zu senden? Gibt es auch einen Weg, warum zabbix keine Daten empfängt - protokolliert er solche Anfragen?

Antwort

0

Mögliche beliebte Gründe:

  • falscher Hostname; vergewissern Sie sich, dass das Feld "Host name" übereinstimmt (nicht "Visible name", nicht IP, nicht DNS ...); beachten Sie, dass es Groß- und Kleinschreibung ist
  • falsche Artikelschlüssel; Stellen Sie sicher, dass es mit dem in den Elementschlüsseleigenschaften übereinstimmt genau - auch Groß-/Kleinschreibung beachten
  • falsch zulässigen Host-Feld Inhalt oder Daten von einem anderen Host als erwartet - überprüfen Sie dieses Feld für Syntaxfehler, daran erinnern, dass in älteren Zabbix-Versionen Leerzeichen werden in diesem Feld nicht unterstützt und tcpdump Ihre eingehende Verbindung - kommt sie von dem erwarteten Host an?
  • host/item nicht im Konfigurationscache - wenn Sie den host/item gerade hinzugefügt oder geändert haben, ist er möglicherweise noch nicht im Konfigurationscache. Die config-Cache alle 60 Sekunden standardmäßig
  • aktualisiert wird, wenn der Host durch einen Zabbix-Proxy überwacht wird, müssen Sie Daten an diesen Proxy

In der Regel vergessen Sie Ihre Bewerbung mit zabbix_sender für einen Moment und Test senden. Wenn das funktioniert, überprüfen Sie, was Ihre Anwendung anders macht. Wenn das fehlschlägt, überprüfen Sie alle oben genannten Punkte.

Zur Protokollierung protokolliert Zabbix derzeit keine Fehler oder deren Gründe.

+0

Vielen Dank für die schnelle Antwort der Infomationen sehr nützlich sind, aber das Problem war in Java-Bibliothek. Übrigens, kennst du die Antwort auf [eine andere] (http://stackoverflow.com/questions/38414872/why-zabbix-do-not-show) zabbix Frage? – Cherry

0

Ich habe ein Problem gefunden. Es stellt fest, dass die metrics zabbix-Bibliothek Daten nicht gut konvertiert (für Version 0.0.1). Er sendet den Uhrzeitwert als long in Millisekunden, während zabbix ihn in Sekunden empfangen muss. Ich habe nach der manuellen Konvertierung:

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

ich es sehr funy, dass selbst dann, wenn ich 2 erfolgreich verarbeitete Elemente bekam, zabbix zeigen keine Werte bei Grafik.

AKTUALISIEREN Sie alle Werke erhalten sollten in Datenobjekt nicht nur Uhr überprüfen, aber Uhr auch in reqeust. Standardmäßig verwendet metrics zabbixzabbix-sedner Version 0.0.1, die Takte in Millisekunden senden. Um Metriken mit zabbix 3.0 zu verwenden, die die Uhrzeit in Sekunden erwarten, sollten Sie die zabbix-sedner Version auf 0.0.3 ändern.Hier ist ein Maven Beispiel:

<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