Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Эта команда создает rrdb myrouter.rrd для снятия статистики с сетевого интерфейса маршрутизатора, предполагая, что данные в нее будут поступать раз в 5 минут, задаются два источника данных: счетчик принятых и отправленных байт, при этом счетчик не имеет ограничений ни сверху, ни снизу. Создаются также 8 рядов, четыре из которых используют для консолидации данных функцию AVERAGE, а остальные – MAX. При этом создаются следующие промежутки: 600 ячеек по 5 минут, 700 ячеек по 30 минут (5*6), 775 ячеек по два часа (5*24), а также 797 ячеек, хранящих статистику отсчетов за день. В данном случае имитируется поведение mrtg, обрабатывающей такие же временные промежутки.
Для внесения данных со счетчиков в rrdb используется команда rrdtool update, имеющая достаточно простой формат:
rrdtool update имя_rrdb.rrd время:значение_DS1[:значение_DS2[:...]]
Параметр «время» может быть заменен символом «N», что означает текущее время, также допускается задавать время в UNIX-формате (вывод команды: date -u +%s) или в формате at(1). Хотя можно не заморачиваться этими проблемами и просто использовать значение «N». Значения DS указываются в том порядке, в котором они были определены в rrdtool create (допускается альтернативный порядок, но тогда имена DS должны быть перечислены указанием опции: -t ds-name:ds-name:...). В качестве значения можно использовать символ «U», обозначающий неопределенное значение. За один вызов rrdtool update в rrdb может быть передано несколько отсчетов, для чего можно указать несколько строк: time:value[:value], разделенных пробелом. Скрипт, вызывающий rrdtool update, лучше всего запускать через интервал step, указанный при создании rrdb. Приведу пример скрипта, осуществляющего обновление счетчиков принятых и отправленных байт через маршрутизатор, на базе freebsd; также производится мониторинг загрузки процессора:
--
#!/bin/sh
cpuload=`sysctl vm.loadavg | awk '{printf("2k 100 %s * p", $4)}' | dc | awk -F'.' '{print $1}'`
inbytes=`ipfw show 1 | awk '{print $3}'`
outbytes=`ipfw show 2 | awk '{print $3}'`
/usr/local/bin/rrdtool update /usr/local/var/rrdtool/cpu.rrd N:${cpuload}
/usr/local/bin/rrdtool update /usr/local/var/rrdtool/myrouter.rrd N:$inbytes:$outbytes
Соответственно правила ipfw, обеспечивающие учет трафика, выглядят следующим образом:
# ipfw list
00001 count ip from me to any
00002 count ip from any to me