Заполнить файл журнала MRTG из старых необработанных данных
Я собираюсь добавить новую цель в мою настройку MRTG. И у меня уже есть необработанные данные с измерениями за прошлый год. Можно ли вставить эти данные в мой файл журнала задним числом? Я знаю, что MRTG использует свой собственный формат файла и объединяет старые данные. Конечно, я могу написать скрипт "машина времени", который будет сбрасывать текущее время ОС в начальную позицию журнала, а затем извлекать эти данные в цикле, увеличивая время на 5 минут. И, очевидно, это выглядит как грязный взлом.
1 ответ
Я не понимаю, почему вы не смогли бы, формат файлов журнала, созданных MRTG, очень прост.
Полный список здесь: http://oss.oetiker.ch/mrtg/doc/mrtg-logfile.en.html
В общем, однако:
самая первая строка - это суммарные значения входных, выходных и временных меток последнего чтения:
[unix timestamp] [incoming bytes total] [outgoing bytes total]
После этого для каждого 5-минутного интервала есть строка (или какой-либо интервал в вашем конфигурационном файле mrtg) по умолчанию 5 минут
Каждая из следующих строк имеет вид
[unix timestamp] [average bytes in for period] [average bytes out for period] [max bytes in for period] [maxbytes out for period]
"Период" определяется как дельта времени из отметки времени в этой строке, вычитаемая из отметки времени в предыдущей строке.
Это не займет много времени, чтобы написать небольшой сценарий для передачи данных вручную, создать файл с соответствующим именем в рабочем каталоге MRTG, а затем просто позволить MRTG продолжить его обновление.
Вам нужно настроить новый интерфейс для отслеживания в MRTG.CFG, запустить MRTG в cron (который у вас, вероятно, уже есть), а затем, как только вы увидите первые несколько обновлений в новом файле, вам нужно будет быстро Запустите скрипт обновления для передачи данных перед следующей запланированной проверкой cron.
Поскольку информация о дате и времени файлов была точной, а метки времени в журнале точными, у вас не должно возникнуть проблем с выполнением этой работы.