2013-03-08 20 views
4

是否有任何可用於將.rrd文件轉換爲json格式的python模塊?將.rrd文件轉換爲python中的json

+0

爲什麼不使用Google並告訴我們您找到了什麼? – 2013-03-08 03:27:22

+0

我google了一下,得到了一個解決方案,但這並不是最佳的..am詢問一個直接的python模塊..? – mraj 2013-03-08 03:31:27

+0

http://whathaveyoutried.com? – 2013-03-08 03:32:43

回答

2

以下是我嘗試從rrd文件生成json的代碼。

#!/usr/bin/python 
import rrdtool 
import sys 

def printMetric(): 

    args = ["/var/lib/ganglia/rrds/__SummaryInfo__/cpu_system.rrd", "AVERAGE"] 
    rrdMetric = rrdtool.fetch(args) 

    time = rrdMetric[0][0] 
    step = rrdMetric[0][2] 

    sys.stdout.write(" {\n \"Key1\":\"" + rrdMetric[1][0] +\ 
        "\",\n \"Key2\":\"" + "abcd" +\ 
        "\",\n \"metric_name\":\"" + "cpu_system" + "\",\n") 

    firstDP = True 
    sys.stdout.write(" \"datapoints\":[\n") 
    for tuple in rrdMetric[2]: 
    if tuple[0] is not None: 
     if not firstDP: 
     sys.stdout.write(",\n") 
     firstDP = False 
     sys.stdout.write("  [") 
     sys.stdout.write(str(tuple[0])) 
     sys.stdout.write(",") 
     sys.stdout.write(str(time)) 
     sys.stdout.write("]") 
    time = time + step 
    sys.stdout.write("\n ]\n }") 

printMetric() 
+1

考慮使用python json庫。使用json.dump()將注意將python數據結構(即字典列表)編碼爲json格式並將結果發送到STDOUT(或文件)流。 – vvladymyrov 2013-03-08 15:42:42

0

不會有內置的庫模塊。