from pyrrd.rrd import DataSource, RRA, RRD
filename = 'test.rrd'
dataSources = []
roundRobinArchives = []
dataSource = DataSource(dsName='speed', dsType='COUNTER', heartbeat=600)
dataSources.append(dataSource)
roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=1, rows=24))
roundRobinArchives.append(RRA(cf='AVERAGE', xff=0.5, steps=6, rows=10))
myRRD = RRD(filename, ds=dataSources, rra=roundRobinArchives, start=920804400)
myRRD.create()
执行上述代码,会出现此错误
rrdtool create test.rrd --start 920804400 --step 300 DS:speed:COUNTER:600:U:U RRA:AVERAGE:0.5:1:24 RRA:AVERAGE:0.5:6:10
Traceback (most recent call last):
File "test.py", line 10, in <module>
myRRD.create()
File "build/bdist.linux-x86_64/egg/pyrrd/rrd.py", line 175, in create
File "build/bdist.linux-x86_64/egg/pyrrd/backend/external.py", line 49, in create
File "build/bdist.linux-x86_64/egg/pyrrd/backend/external.py", line 21, in _cmd
pyrrd.exceptions.ExternalCommandError: /bin/sh: 1: rrdtool: not found
我是rrd工具的新手。请帮我解决这个问题。提前谢谢。
答案 0 :(得分:0)
您已经描述了两种创建rrd文件的方法:一种是通过python包pyrrd,另一种是使用名为rrdtool的命令行工具。
您不需要同时使用两者 - 如果您想使用python脚本创建文件,只需像常规脚本一样运行它。
当您使用apt-get(在ubuntu上)下载pyrrd时,它也会下载cmd工具,而如果您使用pip下载它,它只会下载python包。
由于在我的环境中使用你的代码工作(没有特殊的PYTHONPATH配置),我认为你有一些安装问题,尝试重新安装或单独安装cmd工具。