>счетчики в ipfw увеличиваются по нарастающей?
>в rrd заносится разница между текущим и предыдущим показаниями?
>если правила ipfw будет перегружены? В RRD есть разного типа поля данных - COUNT, DERIVE, GAUGE, которые интерпретируются каждый по своему. Скажем, для DERIVE предполагается, что значение накапливается нарастающим итогом, и каждое последующее должно быть больше предыдущего. Если вдруг происходит сброс счетчиков (ребут или просто обнуление IPFW), в результате чего текущий отсчет станет меньше предыдущего, он будет считаться ошибочным, и в корректные пойдет только следующий отсчет.
Это позволяет не напрягаясь писать в базу сырое текущее значение, а все остальные вычисления выполняются средствами RRD.
Вообще, весьма достойный софт, в т.ч. по причине фиксированного размера баз - есть пул слотов, которые по кольцу заполняются, а при заполнении последнего слота - повторно использует начальные слоты. Усредняя значения по пулу непосредственных данных, заполняются аггрегированые пулы более длинных периодов.
Скажем, первичные данные снимаются каждую минуту. Значит, чтобы держать данные за сутки, нужен пул минимум в 24х60=1440 слотов. Я обычно делаю с запасом - 3к слотов.
Данные, усредненные в скользящем окне в 10 минут, пишутся в пул из 1000 слотов - это неделя. Усредненные за час первичные данные пишутся в пул на 1000 слотов - это уже месяц.
Усредненные данные за 10 часов пишутся в годовой пул из 1000 слотов.
База для 16 значений с четырьмя пулами имеет размер 400 кб.