2016-11-13 16 views
0

私はUbuntu 16.04でMRTG 2.17.4をテストしています。 rrdtoolを使ってデータを記録するように設定しました。私は/etc/mrtg.cfgに "Interval:1"を持っています。私はあることを/etc/cron.d/mrtgでcronジョブを編集した:MRTGおよび/またはrrdtool - 1分間隔で動作しない

*/1 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ] && [ -d "$(grep '^[[:space:]]*[^#]*[[:space:]]*WorkDir' /etc/mrtg.cfg | awk '{ print $NF }')" ]; then mkdir -p /var/log/mrtg ; env LANG=C /usr/bin/mrtg /etc/mrtg.cfg --debug="time,log" 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi 

トラブルシューティングに役立つ「ログ、時間」私はデバッグオプションを追加したことに注意してください。私の/var/log/mrtg/mrtg.logでは、データは1分ごとに期待どおりに記録されていますが、毎分のスループットは計算されません。代わりに、5分ごとにそれを行います。それ以外の時は、 "got ???/???"

--time: prog start Sat Nov 12 21:54:01 2016 
--time: loop start Sat Nov 12 21:54:01 2016 
--time: snmp read start Sat Nov 12 21:54:01 2016 
--time: target loop start Sat Nov 12 21:54:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479012841:171337092:172912456') 
--log: got: ???/??? 
--time: prog start Sat Nov 12 21:55:01 2016 
--time: loop start Sat Nov 12 21:55:01 2016 
--time: snmp read start Sat Nov 12 21:55:01 2016 
--time: target loop start Sat Nov 12 21:55:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479012901:171686542:173262414') 
--log: got: 5804.75277777778/5813.21944444444 
--time: prog start Sat Nov 12 21:56:02 2016 
--time: loop start Sat Nov 12 21:56:02 2016 
--time: snmp read start Sat Nov 12 21:56:02 2016 
--time: target loop start Sat Nov 12 21:56:02 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479012962:172034542:173610922') 
--log: got: ???/??? 
--time: prog start Sat Nov 12 21:57:01 2016 
--time: loop start Sat Nov 12 21:57:01 2016 
--time: snmp read start Sat Nov 12 21:57:01 2016 
--time: target loop start Sat Nov 12 21:57:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479013021:172376742:173953630') 
--log: got: ???/??? 
--time: prog start Sat Nov 12 21:58:01 2016 
--time: loop start Sat Nov 12 21:58:01 2016 
--time: snmp read start Sat Nov 12 21:58:01 2016 
--time: target loop start Sat Nov 12 21:58:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479013081:172724742:174302138') 
--log: got: ???/??? 
--time: prog start Sat Nov 12 21:59:01 2016 
--time: loop start Sat Nov 12 21:59:01 2016 
--time: snmp read start Sat Nov 12 21:59:01 2016 
--time: target loop start Sat Nov 12 21:59:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479013141:173077092:174654996') 
--log: got: ???/??? 
--time: prog start Sat Nov 12 22:00:02 2016 
--time: loop start Sat Nov 12 22:00:02 2016 
--time: snmp read start Sat Nov 12 22:00:02 2016 
--time: target loop start Sat Nov 12 22:00:02 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479013202:173426542:175004954') 
--log: got: 5781.22263205829/5789.66200182149 
--time: prog start Sat Nov 12 22:01:01 2016 
--time: loop start Sat Nov 12 22:01:01 2016 
--time: snmp read start Sat Nov 12 22:01:01 2016 
--time: target loop start Sat Nov 12 22:01:01 2016 
--log: RRDs::tune(/var/mrtg/192.168.1.40_24.rrd -a ds0:125000000 -a ds1:125000000 -d ds0:COUNTER -d ds1:COUNTER) 
--log: RRDs::update(/var/mrtg/192.168.1.40_24.rrd, '1479013261:173768742:175347662') 
--log: got: ???/??? 

私は毎分の速度を計算しないと心配していませんが、データがrrdデータベースに保存される必要があります。しかし、rrdtoolのフェッチを試しても、まだ5分のデータが表示されています。どこが間違っていましたか?

rrdtool fetch 192.168.1.40_24.rrd AVERAGE -a -s -1h -r 1m -a 
          ds0     ds1 

1479010500: 1.0150000000e+04 1.0158466667e+04 
1479010800: 1.0150000000e+04 1.0158466667e+04 
1479011100: 1.0145166667e+04 1.0153661556e+04 
1479011400: 1.0021447006e+04 1.0029884972e+04 
1479011700: 5.8127796610e+03 5.8212468060e+03 
1479012000: 5.7859754098e+03 5.7944147796e+03 
1479: 5.8089454941e+03 5.8174389793e+03 
1479012600: 5.8006990960e+03 5.8091662411e+03 
1479012900: 5.8047527778e+03 5.8132194444e+03 
1479013200: 5.7812226321e+03 5.7896620018e+03 
1479013500: 5.7946912568e+03 5.8031847421e+03 
1479013800: 5.8049794444e+03 5.8134465895e+03 
1479014100: -nan -nan 

ありがとうございます! Difan

+0

正解の下にあるチェックボックスをクリックしてください。 – Questionmark

答えて

1

RRTファイルにMRTG設定ファイルとrrdtool infoの出力が表示されます。

ただし、おそらく5分間隔でRRDファイルを作成してから、後で1分間隔に変更した可能性があります。これを行うと、MRTGはRRDファイルを再作成しませんが、1分ごとにデータを収集するように変更されます。 Mrtgは作成後に変更された場合にのみRRDのMaxBytesを変更できます。他の設定(RRDRowCount、Interval)は最初の作成時にのみ使用でき、その後MRTG cfgファイルでそれらを変更しても、RRDファイルは変更されません。

RRDファイルにrrdtool infoを使用すると、5分(300秒)のステップサイズがあることがわかります。これを変更する唯一の方法は、RRDファイルを削除して(履歴データを失う)、MRTGがcfgファイルで指定された60秒の間隔で再作成できるようにすることです。

5分のRRDファイルに貴重な履歴データがたくさんある場合は、これをXMLにダンプして新しいRRDを再作成するために使用できるサードパーティのユーティリティがありますが、タスクはビット複雑です。 rrdmigrateまたはrrdmergeを探します。最新のRRDtoolには、この分野にもいくつかの能力があります。

+0

あなたは天才です。ありがとうございました! –

+0

@DifanZhao - これが正しい答えだったら、それを正確にマークして+1を与えてください(私はより多くの担当者を得て、その答えは他の人を助けることができます) –

+0

私は新しいですスタックオーバーフロー。私は実際にあなたが私に答えを与えた後に+1を与えました。しかし、私は十分なポストなしで新しいユーザーですので、私のupvoteはカウントされません...これは間違いなく私の問題を解決したので、より良い評判なしで投稿を見てください。ありがとう! –

関連する問題