2016-11-13 14 views
0

Я тестирую MRTG 2.17.4 на Ubuntu 16.04. Я настроил его на использование rrdtool для регистрации данных. У меня есть «Interval: 1» в моем /etc/mrtg.cfg. Я редактировал работу хрон в /etc/cron.d/mrtg быть:MRTG и/или rrdtool - один минутный интервал не работает

*/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 я вижу, что данные регистрируются каждую минуту, как и ожидалось, однако она не пытается каждую минуту вычислять пропускную способность. Вместо этого он делает это каждые 5 минут. В других случаях он просто говорит: «получил ???/???»

--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 fetch, он все еще показывает 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

Это может помочь увидеть файл конфигурации MRTG и выход rrdtool info в файле RRD.

Однако вероятной причиной является то, что вы изначально создали файл RRD с интервалом 5 минут, а затем сменили на 1 мин. Если вы это сделаете, MRTG не воссоздает файл RRD, хотя он будет меняться на сбор данных каждые 1 мин. Mrtg может изменять MaxBytes RRD, если он изменяется после создания; другие настройки (RRDRowCount, Interval) могут использоваться только в начальное время создания, а последующее изменение их в файле cfg MRTG не приведет к изменению файла RRD.

Если вы используете rrdtool info в своем файле RRD, вы, вероятно, увидите, что он имеет размер шага 5 минут (300 секунд). Единственный способ изменить это - удалить RRD-файл (потерять ваши исторические данные) и разрешить MRTG повторно создать его с интервалом 60 секунд, указанным в вашем файле cfg.

Обратите внимание, что если у вас есть много ценных исторических данных в вашем файле 5min RRD, который вы абсолютно должны соблюдать, тогда есть утилиты сторонних разработчиков, которые могут сбрасывать это на XML и воссоздавать новый RRD, но задача - битный комплекс. Ищите rrdmigrate или rrdmerge. У последнего RRDtool также есть некоторые способности в этой области.

+0

Ты гений. Спасибо! –

+0

@DifanZhao - если бы это был правильный ответ, пожалуйста, отметьте его правильно и дайте мне +1 (я получаю больше точек ответа так, а ответ может помочь другим людям) –

+0

извините за поздний ответ .. Я новичок в переполнение стека. Я действительно дал +1 сразу после того, как вы дали мне ответ, однако, поскольку я новый пользователь без достаточного количества сообщений, мой upvote не учитывается ... Для тех, кто смотрит на сообщение без лучшей репутации, пожалуйста, поддержите, так как это определенно решило мою проблему! Благодаря! –