2010-12-30 14 views
15

me encontré con dos opciones a la hora de googlear mi camino en internet:Java RRD biblioteca

  • JRobin
  • RRD4J

JRobin parece ser muy anticuado. La última versión de JRobin es 1.5.9 (publicada el 05/09/2008), ya que RRD4J es un puerto de JRobin, son casi lo mismo. Intenté usar RRD4J pero de alguna manera RRDTool no reconoce los archivos producidos, así que no me molesté en probar JRobin.

Mi pregunta es si existen alternativas a estas bibliotecas. No quiero usar JNI o ​​llamar a los binarios de rrdtool manualmente.

+4

Probablemente ya lo sepa, Matthias, pero para el beneficio de aquellos que tropiezan con esta pregunta, los archivos RRD4J no son compatibles con los de la herramienta RRD original. Si escribe tanto al productor como al consumidor, entonces RRD4J está bien, y podría argumentar que los archivos RRD4J son superiores en algunos aspectos.Pero si tiene la intención de consumir los archivos RRD con otras herramientas escritas para el formato RRDTool, eso es un problema. – AmigoNico

Respuesta

4

Parece haber incluso otro: java-rrd. No tengo la más mínima idea de su estado de avance.

+0

Parece prometedor –

+1

Sí, java-rrd es el camino a seguir, he añadido acceso y detalles de uso en http://www.aldana-online.de/2011/07/03/ accessing-rrdtool-files-data-with-java/ –

0

Actualización: como comentó su autor, jmxtrans está utilizando invocaciones de shell para rrdtool (ver RRDToolWriter.java). Un JRobin no es compatible con rrdtools, por lo que no puede seguir así.


JMXTrans es capaz de dar salida a su información en formato RRD. Utiliza JRobin 1.5.9 internamente. Eche un vistazo a su source code para ver exactamente lo que están haciendo.

+0

Utilizan JRobin, consulte http://code.google.com/p/jmxtrans/source/browse/trunk/src/com/googlecode/jmxtrans/model/output/RRDToolWriter.java?r=91 quizás valga la pena intentarlo después todos –

+0

@Matthias: sí, actualicé la respuesta después de buscar en su directorio lib. –

+1

Tristemente, yo (el autor de jmxtrans) no uso JRobin para generar los archivos RRD porque en cierta cantidad de locura y torpeza, los archivos rrd generados por JRobin no son compatibles con los archivos generados por rrdtool y no hay forma de hacerlos compatible. Por lo tanto, excluyo efectivamente de Java a rrdtool para escribir datos. Dicho esto, siéntase libre de escribir su propio OutputWriter para hacer lo que quiera. Esa es la parte buena de JMXTrans ... –

2

la última vez que utilicé se mejoró la variante básica de JRobin. Originalmente fue más avanzado para mis necesidades. Luego se agregan muchas correcciones (jcolelctd, SNMP, SVG, cron-jobs, ...), muchos errores se reparan/refactorizan (JMX, http-, xml-, log-import, WEbGui, ...). Actualmente ya se usa en producción. ¡Lo mejor es que funciona en muchos sistemas operativos de forma idéntica! En algún momento incluso más rápido que la versión de Oetiker.

Los últimos cambios/versiones están representados en el http://code.google.com/p/rrdws/. Por favor hágamelo saber, si usted decide usarlo ......

No dude en molestarme por cualquier pregunta!

+0

Lo tendré más tarde el día de hoy –

5

He aquí un párrafo interesante desde el RRD4J wiki:

archivos RRD4J RRD son portátiles, archivos rrdtool no lo son. Intente copiar un archivo RRDTool desde la plataforma Linux a Windows y obtenga datos de él. ¡ no funciona! Pero con RRD4J puede crear sus archivos RRD en el Solaris y transferirlos a la plataforma Windows o Linux para un procesamiento posterior de . ¡Funciona! Es por eso que tuve que definir mi propio formato de archivo , que es diferente del formato utilizado en RRDTool; no existe ningún punto en la creación de una aplicación Java portátil respaldada por archivos de datos no portátiles .

Importante para nosotros: RRDTool en sí no es portátil en diferentes plataformas/sistemas operativos. Entonces, ¿cómo podemos esperar que cualquier biblioteca basada en Java sea compatible con algo que no tenga un formato de datos estable?

+0

Sí, hay un punto. No entiendo por qué hacerlo siempre incompatible solo porque podría ser incompatible en algunos casos raros (no es común mover RRD desde Linux a Windows) – MikeKulls