2010-12-30 11 views
15

Ich kam über zwei Optionen, wenn meine Art und Weise über das Internet googeln:Java RRD Bibliothek

  • JRobin
  • RRD4J

JRobin scheint wirklich veraltet zu sein. Die neueste Version von JRobin ist 1.5.9 (veröffentlicht am 05/09/2008), da RRD4J ein Port von JRobin ist, sind sie irgendwie gleich. Ich habe versucht, RRD4J zu verwenden, aber irgendwie erkennt RRDTool die erzeugten Dateien nicht, also habe ich JRobin nicht versucht.

Meine Frage ist, ob es Alternativen zu diesen Bibliotheken gibt? Ich möchte JNI nicht verwenden oder die rrdtool Binaries manuell aufrufen.

+4

Das wissen Sie wahrscheinlich schon, Matthias, aber zum Vorteil derer, die über diese Frage stolpern, sind RRD4J-Dateien nicht mit denen des ursprünglichen RRDTools kompatibel. Wenn Sie sowohl den Producer als auch den Consumer schreiben, dann ist RRD4J in Ordnung, und Sie könnten argumentieren, dass die RRD4J-Dateien in mancher Hinsicht überlegen sind.Aber wenn Sie beabsichtigen, die RRD-Dateien mit anderen Tools zu verwenden, die für das RRDTool-Format geschrieben wurden, ist das ein Problem. – AmigoNico

Antwort

4

Es scheint sogar noch eine andere zu geben: java-rrd. Ich habe nicht die geringste Ahnung von seinem Entwicklungsstand.

+0

Sieht vielversprechend aus –

+1

Ja, java-rrd ist der Weg zu gehen, ich habe Zugang + Nutzungsdetails unter http://www.aldana-online.de/2011/07/03/ accessing-rrdtool-files-data-with-java/ –

0

Update: wie von seinem Autor kommentiert, jmxtrans verwendet Shell-Aufrufe zu rrdtool (siehe RRDToolWriter.java). Ein JRobin ist nicht mit rrdtools kompatibel, also können Sie diesen Weg nicht gehen.


JMXTrans kann seine Informationen im RRD-Format ausgeben. Es verwendet JRobin 1.5.9 intern. Werfen Sie einen Blick auf ihre source code, um genau zu sehen, was sie tun.

+0

Sie verwenden JRobin, siehe http://code.google.com/p/jmxtrans/source/browse/trunk/src/com/googlecode/jmxtrans/model/output/RRDToolWriter.java?r=91 vielleicht ist es einen Versuch wert alle –

+0

@Matthias - ja, ich aktualisierte die Antwort nach dem Blick in ihre Lib-Verzeichnis. –

+1

Leider benutze ich (der Autor von jmxtrans) kein JRobin, um die RRD-Dateien auszugeben, weil JRobin generierte Rrd-Dateien nicht mit rrdtool-generierten Dateien kompatibel sind und es keine Möglichkeit gibt, sie zu erstellen kompatibel. Daher schalte ich Java effektiv in rrdtool um, um Daten zu schreiben. Das heißt, fühlen Sie sich frei, Ihren eigenen OutputWriter zu schreiben, um zu tun, was auch immer Sie wünschen. Das ist der schöne Teil von JMXTrans ... –

2

letztes Mal benutze ich verbesserte die grundlegende JRobin-Variante. Es war ursprünglich am fortgeschrittensten für meine Bedürfnisse. Dann werden viele Fixes hinzugefügt (jcolelctd, SNMP, SVG, Cron-Jobs, ...), viele Fehler wurden behoben/refaktorisiert (JMX, http-, xml-, log-import, WEBgui, ...). Momentan wird es bereits in der Produktion verwendet. Das Größte ist - es funktioniert auf vielen OS identisch! Irgendwann noch schneller als Oetikers Version.

Die neuesten Änderungen/Version ist auf der vertreten. Bitte lassen Sie mich wissen, wenn Sie sich entscheiden, es zu verwenden ......

Fühlen Sie sich frei, mich für Fragen zu stören!

+0

Ich werde es heute später ansehen –

5

Hier ein interessanter Absatz aus dem RRD4J ist wiki:

RRD4J RRD-Dateien sind tragbar, sind RRDTool Dateien nicht. Versuchen Sie, eine RRDTool-Datei von Linux auf Windows-Plattform zu kopieren und Daten daraus abzurufen. Es funktioniert nicht! Aber mit RRD4J können Sie Ihre RRD-Dateien unter Solaris erstellen und sie für die weitere Verarbeitung auf die Windows- oder Linux-Plattform für weitere übertragen. Es klappt! Deshalb musste ich mein eigenes Dateiformat definieren, das sich von dem in RRDTool verwendeten Format unterscheidet - es gibt keinen Punkt beim Erstellen von portabler Java-Anwendung, die von nicht tragbaren Daten -Dateien unterstützt wird.

Wichtig für uns: RRDTool selbst ist nicht über verschiedene Plattformen/Betriebssysteme übertragbar. Wie sollten wir also erwarten, dass eine Java-basierte Bibliothek mit etwas kompatibel ist, das kein stabiles Datenformat hat?

+0

Ja, es gibt einen Punkt. Ich verstehe nicht, warum es immer inkompatibel ist, nur weil es in seltenen Fällen inkompatibel ist (es ist nicht üblich, RRDs von Linux in Windows zu verschieben) – MikeKulls