Назад | Перейти на главную страницу

Заполнить файл журнала MRTG из старых необработанных данных

Я собираюсь добавить новую цель в свою настройку MRTG. И у меня уже есть необработанные данные с измерениями за прошлый год. Можно ли вставить эти данные в мой файл журнала задним числом? Я знаю, что MRTG использует собственный формат файла и объединяет старые данные. Конечно, я могу написать сценарий «машины времени», который сбрасывает текущее время ОС в начальную позицию журнала, а затем извлекает эти данные в цикле, увеличивая время на 5 минут. И это явно похоже на грязный взлом.

Я не понимаю, почему вы не можете этого сделать, формат файлов журнала, создаваемых 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.

Пока информация о дате и времени файлов была точной, а временные метки в журнале были точными, у вас не должно возникнуть проблем с выполнением этой работы.