내 첫 번째 게시물을 너무 너무 장황하지 않았 으면 좋겠다. 내 rrdtool 구성에 10 개의 행만 있기 때문에 datapoints를 잃어 버렸고 이전 데이터로 백업 소스 파일에서 업데이트하려고했습니다. 은 행을 수정 한 후 설정을 사용하여 만든 수 :rrdtool 데이터베이스 업데이트
rrdtool create dailySolax.rrd \
--start 1451606400 \
--step 21600 \
DS:toGrid:GAUGE:172800:0:100000 \
DS:fromGrid:GAUGE:172800:0:100000 \
DS:totalEnerg:GAUGE:172800:0:100000 \
DS:BattNow:GAUGE:1200:0:300 \
RRA:LAST:0.5:1d:1010 \
RRA:MAX:0.5:1d:1010 \
RRA:MAX:0.5:1M:1010
와 파이썬 업데이트 라인은
newline = ToGrid + ':' + FromGrid + ':' + TotalEnergy + ':' + battNow
UpdateE = 'N:'+ (newline)
print UpdateE
try:
rrdtool.update(
"%s/dailySolax.rrd" % (os.path.dirname(os.path.abspath(__file__))),
UpdateE)
이 모두 (A crontabbed 웹 사이트 스크랩에서) 원래의 데이터를 입력하는 잘 작동하지만입니다 내가 말했듯이 나는 데이터를 잃어 버렸고 이전 데이터 포인트를 다시 추가하려고했다. 내 백업 소스에서 나는 첫 번째 필드는 시간 소인입니다
1509386401:10876.9:3446.22:18489.2:19.0
1509408001:10879.76:3446.99:18495.7:100.0
처럼 보이는 선으로 일반 텍스트 파일을 가지고 있었다. 그리고 업데이트의 라인 읽기이 코드를 사용 :
with open("rrdRecovery.txt","r") as fp:
for line in fp:
print line
## newline = ToGrid + ':' + FromGrid + ':' + TotalEnergy + ':' + battNow
UpdateE = line
try:
rrdtool.updatev(
"%s/dailySolax.rrd" % (os.path.dirname(os.path.abspath(__file__))),
UpdateE)
그것이 내가 같은 설정을 사용하여 만든 빈 데이터베이스에 다시 시도 데이터베이스의 현재 버전의 사본이 제대로 작동하지 않자. 각각의 경우 업데이트는 데이터베이스의 타임 스탬프 데이터에만 적용되고 다른 필드의 데이터는 제공되지 않습니다. 파이썬은 불평하지 않고 나는
N:10876.9:3446.22:18489.2:19.0
덤프 수행하는 RRA 데이터베이스
<!-- 2017-10-31 11:00:00 AEDT/1509408000 --> <row><v>NaN</v><v>NaN</v><v>NaN</v><v>NaN</v></row>
에 대해 다음이를 LASTUPDATE 모든 필드에 대한 데이터 만 표시와 같은을 업데이트
1509386401:10876.9:3446.22:18489.2:19.0
예상
파이썬 문제가 있는지 확실하지 않습니다 - rrdtool 이해 문제 일 가능성이 큽니다. 어떤 포인터 주셔서 감사합니다.
감사합니다. 위의 문제점 중 일부는 연속 RESIZE 명령을 사용하여 발생합니다. '1755 rrdtool 스크립트/dailySolax 크기 조정.rrd 0 GROW 1000 1756 rrdtool resize scripts/dailySolax.rrd 1 GROW 1000 1757 rrdtool resize scripts/dailySolax.rrd 2 GROW 1000' 모든 RRA의 행 수가 올바르게 증가하지 않았습니다. 그러나 이제 새 RRD를 만들고 내 파이썬 스크립트를 실행하면 네 번째 데이터 필드가 업데이트되지 않습니다. –
내가 사용하는 경우 : 'rrdtool update dailySolaxTemp.rrd 1508371201 : 10740.95 : 3430.97 : 18259.2 : 58.0' rrd에서는 "58.0"이 "NaN"과 같은 일을합니다. 업데이트 라인에 오류가 있으면 그것을 볼 수 없습니다. –
Ok rrd 매개 변수를 조정했는데 문제가 발생하는 줄 바꿈 또는 CR 문자가 있음을 알리는 오류가 나타납니다. –