2

RRD を設定しようとしていますが、データベースに値を格納することができないようです。

データベースを作成した方法は次のとおりです。

rrdtool create test.rrd -s 60 \
DS:local_alloc_procs:GAUGE:10:0:U \
RRA:AVERAGE:0.5:1:10080

そして、毎分データベースを更新するためにcronが実行するスクリプトがあります:

* * * * * /home/A01113531/Documents/scripts/Cluster/rrdtool/updatescript

更新スクリプト:

#!/bin/bash

export LD_LIBRARY_PATH=/home/A01113531/rrdtool/lib:/rc/tools/free/redhat_6_x86_64/moab-7.0.1/lib:/rc/tools/free/redhat_6_x86_64/torque-4.1.2/lib:/rc/tools/free/redhat_6_x86_64/pbs-drmaa-1.0.12/lib:$LD_LIBRARY_PATH
export PATH=/home/A01113531/rrdtool/bin:/rc/tools/free/redhat_6_x86_64/moab-7.0.1/bin:/rc/tools/free/redhat_6_x86_64/torque-4.1.2/bin:/rc/tools/free/redhat_6_x86_64/pbs-drmaa-1.0.12/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH
export MOABHOMEDIR=/rc/moab/server

RRDTOOL='/home/A01113531/rrdtool/bin/rrdtool'
FILE='/home/A01113531/Documents/scripts/Cluster/rrdtool/test.rrd'
COMMAND=$(/home/A01113531/Documents/scripts/Cluster/rrdtool/parser.py -t cluster | grep LocalAllocProcs | awk '{print $2}')
$RRDTOOL update $FILE N:$COMMAND

以下は、rrdtool 情報の出力の出力です。

filename = "test.rrd"
rrd_version = "0003"
step = 60
last_update = 1349364541
header_size = 584
ds[local_alloc_procs].index = 0
ds[local_alloc_procs].type = "GAUGE"
ds[local_alloc_procs].minimal_heartbeat = 10
ds[local_alloc_procs].min = 0.0000000000e+00
ds[local_alloc_procs].max = NaN
ds[local_alloc_procs].last_ds = "1217"
ds[local_alloc_procs].value = NaN
ds[local_alloc_procs].unknown_sec = 1
rra[0].cf = "AVERAGE"
rra[0].rows = 10080
rra[0].cur_row = 3827
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0

これを見るとわかるように、last_ds は有効な数値を取得していますが、何らかの理由で値が NaN から変更されていません。

私はしばらくこれにこだわっていますが、助けやヒントは大歓迎です。

デンバー

4

1 に答える 1

1

私はちょうどこの正確な問題を抱えていて、それを解決しようとして髪をほとんど引き裂きました.

rrd は、データを予期していないときにデータを受け入れることについて非常におかしいようです。私の場合、ステップを 3600 (毎時) に設定しましたが、心拍数は 10 秒に設定しました。基本的に、rrd が 1 時間の最初の 10 秒以内に更新を受け取らなかった場合、私の更新は無視されます。

あなたの場合、60 秒ごとに 1 ステップあるように見えますが、心拍数は 10 秒です。心拍数を 60 秒に変更してみて、効果があるかどうかを確認してください。

于 2013-03-14T03:01:03.463 に答える