Pull to refresh

Сбор статистики с интерфейсов с помощью pfstat

Reading time2 min
Views1.5K
Для фаервола PF, есть удобный инструмент для создания графиков нагрузки на интерфейсы, pfstat. Он доступен в *bsd.
Для установки данной утилиты потребуется совсем немного времени.


Установка:

cd /usr/ports/sysutils/pfstat && make install

после установки нужно создать конфиг для программы:

ee /etc/pfstat.conf

со следующим содержанием:

## Bytes in and out plus states
#
collect 1 = interface «ae0» pass bytes in ipv4 diff
collect 2 = interface «ae0» pass bytes out ipv4 diff
collect 3 = global states entries

image "/usr/local/www/nginx/pfstat_day.jpg" {
from 1 days to now
width 980 height 200
left
graph 1 «in» «bytes/s» color 0 192 0 filled,
graph 2 «out» «bytes/s» color 0 0 255
right
graph 3 «states» «entries» color 192 192 0
}

image "/usr/local/www/nginx/pfstat_week.jpg" {
from 1 weeks to now
width 980 height 200
left
graph 1 «in» «bytes/s» color 0 192 0 filled,
graph 2 «out» «bytes/s» color 0 0 255
right
graph 3 «states» «entries» color 192 192 0
}

image "/usr/local/www/nginx/pfstat_month.jpg" {
from 1 months to now
width 980 height 200
left
graph 1 «in» «bytes/s» color 0 192 0 filled,
graph 2 «out» «bytes/s» color 0 0 255
right
graph 3 «states» «entries» color 192 192 0
}
Описывать конфиг не буду, тут все примитивно понятно, нужно задать интерфейс с котрого снимается статистика,
пач куда складыват готовые изображения ну и соответственно цвета собираемой информации.

Далее после сохранения конфига, необходим веб сервер для отображения информации, я использовал nginx

cd /usr/ports/www/nginx && make install

после установки запускаем nginx

/usr/local/etc/rc.d/nginx start

Далее добавляем в крон следующее:

* * * * * root /usr/local/bin/pfstat -q -d /var/db/pfstat.db -c /etc/pfstat.conf
*/5 * * * * root /usr/local/bin/pfstat -p -d /var/db/pfstat.db -c /etc/pfstat.conf
25 3 * * * root /usr/local/bin/pfstat -t 30 -d /var/db/pfstat.db -c /etc/pfstat.conf

данные записи означают, собирать статистику каждую минуту, генерировать изображение каждые 5 минут,
очищать статистику раз в месяц.

Образец представления статистики:
image
Tags:
Hubs:
Total votes 2: ↑2 and ↓0+2
Comments2

Articles