2010-12-30 38 views
15

Tôi đã xem qua hai lựa chọn khi googling cách của tôi trên internet:Java RRD thư viện

  • JRobin
  • RRD4J

JRobin có vẻ là thực sự lỗi thời. Bản phát hành mới nhất của JRobin là 1.5.9 (phát hành ngày 05/09/2008), vì RRD4J là một cảng JRobin, chúng giống nhau. Tôi đã thử bằng cách sử dụng RRD4J nhưng bằng cách nào đó RRDTool không nhận ra các tập tin được sản xuất, vì vậy tôi đã không bận tâm cố gắng JRobin.

Câu hỏi của tôi là, liệu có bất kỳ lựa chọn thay thế nào cho các thư viện này không? Tôi không muốn sử dụng JNI hoặc gọi các tệp nhị phân rrdtool theo cách thủ công.

+4

Bạn có thể đã biết điều này rồi, Matthias, nhưng vì lợi ích của những người ngại trong câu hỏi này, các tệp RRD4J không tương thích với các tệp RRDTool gốc. Nếu bạn đang viết cả nhà sản xuất và người tiêu dùng, thì RRD4J là tốt, và bạn có thể cho rằng các tệp RRD4J là cao cấp theo một số cách.Nhưng nếu bạn có ý định tiêu thụ các tập tin RRD với các công cụ khác được viết cho định dạng RRDTool, đó là một vấn đề. – AmigoNico

Trả lời

4

Dường như có một số khác: java-rrd. tôi không có ý tưởng nhỏ về trạng thái tiến bộ của nó.

+0

Có vẻ đầy hứa hẹn –

+1

Có, java-rrd là con đường để đi, tôi đã thêm quyền truy cập + chi tiết sử dụng theo http://www.aldana-online.de/2011/07/03/ access-rrdtool-files-data-with-java/ –

0

Cập nhật: như nhận xét của tác giả của nó, jmxtrans đang sử dụng lời gọi vỏ đến rrdtool (xem RRDToolWriter.java). Một JRobin không tương thích với rrdtools, vì vậy bạn không thể đi theo cách này.


JMXTrans có khả năng xuất thông tin của nó sang định dạng RRD. Nó sử dụng JRobin 1.5.9 trong nội bộ. Hãy xem source code của họ để xem chính xác những gì họ đang làm.

+0

Họ sử dụng JRobin, xem http://code.google.com/p/jmxtrans/source/browse/trunk/src/com/googlecode/jmxtrans/model/output/RRDToolWriter.java?r=91 có lẽ nó đáng để thử sau tất cả –

+0

@Matthias - vâng, tôi đã cập nhật câu trả lời sau khi tìm trong thư mục lib của họ. –

+1

Đáng buồn thay, tôi (tác giả của jmxtrans) không sử dụng JRobin để xuất các tệp RRD vì trong một số lượng không mong muốn và ngu xuẩn, JRobin tạo các tệp rrd không tương thích với các tệp được tạo rrdtool và không có cách nào để tạo chúng tương thích. Vì vậy, tôi có hiệu quả ra khỏi Java để rrdtool để ghi dữ liệu. Điều đó nói rằng, cảm thấy tự do để viết OutputWriter của riêng bạn để làm bất cứ điều gì bạn muốn. Đó là phần đẹp của JMXTrans ... –

2

lần cuối cùng tôi sử dụng cải tiến biến thể JRobin cơ bản. Nó ban đầu là tiên tiến nhất cho nhu cầu của tôi. Sau đó, nhiều sửa lỗi được thêm vào (jcolelctd, SNMP, SVG, cron-jobs, ...), nhiều lỗi được cố định/tái cấu trúc (JMX, http-, xml-, log-import, WEbGui, ...). Hiện tại, nó được sử dụng trong sản xuất. Lớn nhất là - các tác phẩm của nó trên nhiều hệ điều hành giống hệt nhau! Thỉnh thoảng nhanh hơn là phiên bản của Oetiker.

Thay đổi/phiên bản mới nhất được thể hiện trên http://code.google.com/p/rrdws/. Xin vui lòng cho tôi biết, nếu bạn quyết định sử dụng nó ......

Hãy làm phiền tôi nếu có bất kỳ câu hỏi nào!

+0

Tôi sẽ xem xét nó sau ngày hôm nay –

5

Dưới đây là một đoạn thú vị từ RRD4J wiki:

file RRD4J RRD được cầm tay, file RRDTool thì không. Hãy thử sao chép tệp RRDTool từ nền tảng Linux sang Windows và tìm nạp dữ liệu từ đó. Nó không hoạt động! Nhưng với RRD4J bạn có thể tự do tạo các tệp RRD của mình trên Solaris và chuyển chúng sang nền tảng Windows hoặc Linux để xử lý thêm . Nó hoạt động! Đó là lý do tại sao tôi phải xác định định dạng tệp của riêng mình khác với định dạng được sử dụng trong RRDTool - không có điểm khi tạo ứng dụng Java di động được hỗ trợ bởi các tệp không phải di động .

Quan trọng đối với chúng tôi: bản thân RRDTool không thể di động trên các nền tảng/hệ điều hành khác nhau. Vì vậy, làm thế nào chúng ta nên mong đợi bất kỳ thư viện dựa trên java để tương thích với một cái gì đó mà không có một định dạng dữ liệu ổn định?

+0

Có một điểm. Tôi không hiểu tại sao làm cho nó luôn luôn không tương thích chỉ vì nó có thể không tương thích trong một số trường hợp hiếm hoi (nó không phải là phổ biến để di chuyển RRDs từ Linux đến cửa sổ) – MikeKulls