0

少し背景 私は1500以上の個々のRRDの集計値を保持するために存在する単一のRRDを持っています(私が監視している1500以上のデバイスがあります)。これは、探しているデータを保持しているすべての監視対象デバイスから値を取得しようとしているときに、1500以上のRRDに到達しないようにするためです。私はこの監視対象デバイスのグループを絶えず増やしているので、新しいデバイスを説明するためにxml編集を行います(既存のRRDに新しいデータソースを追加するcontrib perlスクリプトのように)。RRDの更新は1時間に1回行われます。

RRDはこれで作成されました

--step 3600 
--start now 
DS: [$cabinet-totalw] :GAUGE:7200:U:U"
RRA:AVERAGE:0.5:1:4392
RRA:AVERAGE:0.5:24:366
RRA:AVERAGE:0.5:744:36
RRA:MIN:0.5:24:732
RRA:MAX:0.5:24:732

参考までに-$cabinet-totalwは、実際にはforループの変数です。最初のビルドは、1300台のキャビネットのようなものをループしました。ここにすべてをリストしたくありませんでした。

問題 監視対象グループに新しいデバイスが追加されると、データソースが集約RRDファイルに追加されます。ただし、更新が実行されても、不明な理由で実際にはRRDは更新されません。私がこれを行うとき、これupdatevはゼロで手動で存在します。xport出力を見るとNAN、新しいデータソースデータがあります。ただし、既存のすべてのデータソースは問題なく更新されているようです。

現時点では、なぜこれが起こっているのか迷っています。物事は順調に進んでいるようですが、新しいRRDデータソースへの更新は必要ありません。さらに興味深いのは、過去にこのファイルにデータソースを追加し、それらの更新を問題なく行ったことです。最近の更新は必要ないようです。

lastupdateまた、実際には...最後の更新が正しく表示されていることも追加する必要があります。だから私はそれが私の側のRRD知識の欠如だと思いますか?

DS加えて、興味のあるiのインデックスを取得するスクリプトを作成しました。次に、aの出力を解析して、時間 間隔rrdtool fetchごとのインデックスに基づいて、要求された値を見つけます。値が実際に更新され、RRDに保存されていることがわかりました。興味深いことに、タイムスタンプは割り当てられたタイムスロットの7分後に表示されます(ステップは3600であるため、データはその時間に保存する必要があります)。私は今、これが補間の問題であると信じていますか?

4

1 に答える 1

1

問題が見つかりました。xmlファイルのrrdデータを更新しているとき(ダンプされた後)、誤ってds値とmin/max値に間違ったデフォルト値を追加していました。ノード値をからNaN0.0000000000e+00、最小/最大値をから0.0000000000e+00に変更する必要がありますNaN

誰かが助けようとしていたならありがとう。

于 2012-08-15T17:30:09.597 に答える