2012-05-03 66 views
4

JavaMelodyツールを使用してアプリケーションを監視していますが、使用可能なタイムライン設定が適切ではありません。つまり、30分のような短いタイムラインでのみ監視スコアを取得したいのですが、JavaMelodyの最小時間範囲は1日です。おそらくこの機能はカスタムプラグインを書くことで解決できますが、私はそのツールAPIに精通しています。RRDからCSVへの変換

JavaMelodyは、出力ファイルをRRD形式で生成します。私はそのファイルをCSVのようなより一般的なフォーマットに変換し、Excelでチャートを生成したいと考えています。 Linuxではrrdtool dumpコマンドを使用しようとしましたが、影響はありません。私は次のようなエラーを受け取りました:is not an RRD file

RRDからCSVに変換するソリューションをご存知ですか?


UPDATE

[email protected]:/tmp/javamelody/car-rental_adam-desktop$ rrdtool dump usedMemory.rrd > filename.xml 
    ERROR: 'usedMemory.rrd' is not an RRD file 
    [email protected]:/tmp/javamelody/car-rental_adam-desktop$ rrdtool dump usedMemory.rrd > filename.csv 
    ERROR: 'usedMemory.rrd' is not an RRD file 

マイ*た.rrdファイルはので、私は正しく保存されていると思いJavaMelodyツールによって生成されます。


UPDATE 2

00000000 00 4a 00 52 00 6f 00 62 00 69 00 6e 00 2c 00 20 |.J.R.o.b.i.n.,. | 
00000010 00 76 00 65 00 72 00 73 00 69 00 6f 00 6e 00 20 |.v.e.r.s.i.o.n. | 
00000020 00 30 00 2e 00 31 00 20 00 00 00 00 00 00 00 3c |.0...1. .......<| 
00000030 00 00 00 01 00 00 00 08 00 00 00 00 4f b9 47 0f |............O.G.| 
00000040 00 75 00 73 00 65 00 64 00 4d 00 65 00 6d 00 6f |.u.s.e.d.M.e.m.o| 
00000050 00 72 00 79 00 20 00 20 00 20 00 20 00 20 00 20 |.r.y. . . . . . | 
00000060 00 20 00 20 00 20 00 20 00 47 00 41 00 55 00 47 |. . . . .G.A.U.G| 
00000070 00 45 00 20 00 20 00 20 00 20 00 20 00 20 00 20 |.E. . . . . . . | 
00000080 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 |. . . . . . . . | 
00000090 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 00 |.......x........| 
000000a0 7f f8 00 00 00 00 00 00 41 93 36 05 40 00 00 00 |[email protected]| 
000000b0 41 e5 03 15 be 00 00 00 00 00 00 00 00 00 00 00 |A...............| 
000000c0 00 41 00 56 00 45 00 52 00 41 00 47 00 45 00 20 |.A.V.E.R.A.G.E. | 
000000d0 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 |. . . . . . . . | 
000000e0 00 20 00 20 00 20 00 20 3f d0 00 00 00 00 00 00 |. . . . ?.......| 
000000f0 00 00 00 01 00 00 05 a0 7f f8 00 00 00 00 00 00 |................| 
00000100 00 00 00 00 00 00 00 00 00 00 00 21 41 89 70 79 |...........!A.py| 
00000110 00 00 00 00 41 92 ae 5a 55 55 55 55 41 8f 9f 49 |....A..ZUUUUA..I| 
00000120 95 55 55 55 41 96 43 4d 00 00 00 00 7f f8 00 00 |.UUUA.CM........| 
00000130 00 00 00 00 7f f8 00 00 00 00 00 00 7f f8 00 00 |................| 
+1

使用した 'rrdtool dump'コマンド全体を貼り付けることができますか?それは非常に有望なエラーのようには聞こえません。 –

+0

コマンドライン出力を貼り付けたばかりです。 – bontade

答えて

2

ああ、私はちょうどRRDファイルはどこか別の場所から来たことを意味している、あなたは、 "Linuxで" rrdtool dumpを使用したことを言及したことキャッチ。これは恐らくエンディアン問題である可能性があります。 rrdtool/librrdによって作成および操作されたRRDファイルはアーキテクチャに依存します。

また、RRDファイルの最初の3バイトが「RRD」であることを確認したい場合があります。それ以外の場合は、rrdtoolが理解できるrrdの形式ではありません。

(確認するには、dd if=usedMemory.rrd bs=1 count=3 2>/dev/null; echoような何かを行う。)

+0

'dd if = usedMemory.rrd bs = 1 count = 3 2>/dev/nullを貼り付けてください。 Linuxコンソールで「echo」を実行しますか? yesの場合、出力は次のようになります: 'J' – bontade

+1

これは、' rrdtool dump'がrrdファイルではないと言った理由を説明しています。テキストエディタでファイルを開くか、 'hexdump -C usedMemory.rrd'の出力を見てそこに実際に何が入っているかを見て、期待どおりのファイルであることを確認してください。私はいくつかのオンラインドキュメントを調べて、JavaMelodyが 'rrdtool'で使用されているのと同じ形式のRRDを使用すると主張しているように見えるので、あなたの' J'がどこから来たのか不思議です。 –

+0

ありがとうございました。私はrrdファイルの内容を貼り付けました。 RRDだけでなく、JRobinツールについてのエントリがあります。 – bontade

1

私も同じエラーis not an RRD fileを得ました。
しかし、以下の手順でusedMemory.rrdをXMLにダンプできます。

  1. https://github.com/OpenNMS/jrobin
    からプロジェクトをダウンロードしてmaven pagckageを実行するためのjrobin-1.6.1-SNAPSHOT.jarに
    Javaのバージョンを生成:1.8.0_131 & &のApache Mavenの3.5.2
  2. java -jar jrobin-1.6.1-SNAPSHOT.jar rrdtool dump usedMemory.rrd > test.xml