Объясните мне разницу в том, как MRTG измеряет входящие данные

Всем известно, что для MRTG необходимо ввести хотя бы одно значение на вход.

В опциях для каждой цели у MRTG есть "калибровка", "абсолют" и поведение по умолчанию (без опций) "что делать с входящими данными". Или как считать это.

Давайте посмотрим на простейший, но популярный пример:

Мы передаем совокупные данные из статистики сетевого интерфейса о том, "сколько пакетов было получено интерфейсом".

Мы берем его из '/proc/net/dev' или просматриваем вывод 'ifconfig' для определенного сетевого интерфейса. Количество полученных байтов увеличивается с каждым разом. Его накопительный.

Поэтому, как я могу себе представить, возможны два типа статистики: 1. Как быстро это значение изменяется в течение временного интервала. Другими словами - деятельность. 2. Простой растущий график, который просто рисует каждое новое значение за каждую минуту (или любое другое время)

Первый рисунок будет соляным (активность). Второй будет просто расти каждый раз.

Я дважды прочитал документы rrdtool и MRTG и не могу понять, какой из перечисленных выше вариантов имеет значение.

Я предполагаю (я не уверен), что "датчик" рисует значения как есть, без каких-либо вычислений дифференциации (хорошо для измерения того, сколько памяти или процессора используется каждые 5 минут). И поведение по умолчанию или "абсолютное" поведение пытается вычислить скорость между соседними мерами, но в чем разница между двумя последними?

Не могли бы вы, ребята, объяснить простым способом, какое поведение стоит после какого варианта из трех возможных?

Заранее спасибо.

1 ответ

MRTG предполагает, что все измеряется как скорость (даже если это не скорость)

Тип "датчик" предполагает, что вы уже рассчитали курс; таким образом, предоставленное значение сохраняется как есть (после нормализации данных). Это подходит для таких вещей, как использование процессора.

Тип 'absolute' предполагает, что переданное значение является счетчиком с момента последнего обновления. Таким образом, значение делится на количество секунд с момента последнего обновления, чтобы получить показатель в штуках в секунду. Это редко используется, и только для определенных необычных источников данных, которые сбрасывают свое значение при чтении - например, скрипт, который подсчитывает количество строк в файле журнала, а затем усекает файл журнала.

Тип 'counter' (по умолчанию) предполагает, что передаваемое значение является постоянно растущим числом, возможно, которое оборачивается в 16 или 64 бита. Разница между значением и его предыдущим значением делится на количество секунд с момента последнего обновления, чтобы получить показатель в штуках в секунду. Если он увидит уменьшение значения, он примет обратное значение счетчика в 16 или 64 бита. Это подходит для чего-то вроде счетчиков сетевого трафика, поэтому это поведение по умолчанию (MRTG изначально был написан для графиков сетевого трафика)

Тип "производный" похож на "счетчик", но позволит уменьшить счетчик (что приведет к отрицательной ставке). Это невозможно напрямую в MRTG, но вы можете вручную создать необходимую RRD, если хотите.

Все типы впоследствии выполняют нормализацию данных, чтобы скорректировать временную метку, кратную интервалу. Это будет более заметно для типов датчиков, где значение меньше, чем для типов счетчиков, где значение большое.

Информацию об этом смотрите в превосходном учебнике Алекса ван дер Богардта.

Другие вопросы по тегам