Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 

ИЗУЧИТЕ КОМПЬЮТЕР
ОТ А ДО Я!

(Всего 230 видео урока)

Вы эффективно освоите: компьютер, Интернет, программы, удаление вирусов, установку windows xp, windows 7, видеомонтаж и многое другое...

УЗНАЙТЬ ПОДРОБНОСТИ О КУРСЕ! >>>

 
Поиск по сайту

 
 

  Раздел: Компьютерная документация -> Операционные системы -> FreeBSD

 

Мониторинг загрузки канала интернет-шлюза на FreeBSD

В этой небольшой статье я постараюсь описать простой и часто необходимый способ постороения графиков загрузки интернет-канала (общий график, график www, график pop3, график smtp). Это может быть полезно системным администраторам для того, чтобы они знали, в какое время их офис потребляет много интернета, забита ли их полоса пропускания постоянно или только перед обедом, на что именно расходуется полоса пропускания канала – на просмотр сайтов (тогда, возможно, кто-то качает всякую фигню), на получение почты (тогда, возможно, надо рассмотреть вопрос настройки собственного почтового сервера), на отправку писем (возможно, какой-либо компьютер заражен вирусом и рассылает спам). Применений этому может быть множество. Итак, приступим.

Требования

rrdtool - установка и настройка см. http://bozza.ru/?c=230&p=content и http://bozza.ru/?c=231&p=content (англ.)

брандмауэр на шлюзе – в нашем случае рассмотрим ipfw в составе ОС FreeBSD. В общем случае подойдет любая система, которая может считать пакеты и отдавать их значения нашим скриптам.

apache – веб-сервер для просмотра сгенерированных изображений. Впрочем, это не обязательно, нам главное сгенерировать изображение, а что с ним делать – решать вам.

Будем считать, что rrdtool установлена, apache – тоже, брандмауэр, полагаю, был всегда, так что самое время описать работу нашей схемы.

Брандмауэр

Итак, нам необходимо четыре правила брандмауэра, которые будут считать трафик www (входящий), pop3 (входящий), smtp (исходящий) и общий входящий. Вот они:

pif="xl0" # внешний интерфейс
cmd="ipfw -q add"
# Count
# Out mail

$cmd 0010 count tcp from any to any 25 out via $pif # In mail $cmd 0011 count tcp from any 110 to any in via $pif # WWW $cmd 0012 count tcp from any 80,443 to any in via $pif # ALL $cmd 0013 count all from any to any in via $pif

Первые две строки – объявления макросов, остальные – понятно, считают соответствующий трафик.

После включения этих правил проверим, считают ли они трафик, идущий через шлюз.

freebsd-host# ipfw show 13

Выдает нам нечто похожее:
00013 146322 109248471 count ip from any to any in via xl0

Нас будет интересовать третья цифра – 109248471 – количество байт, сосчитанное правилом 13, которое в нашем случае считает общий входящий трафик.

rrdtool

Считаем rrdtool установленным и, желательно, проверенным хотя бы на тестовом примере, который весьма неплохо описан на странице http://bozza.ru/?c=231&p=content. Не поленитесь, просмотрите эту статью, несмотря на то, что она на английском. Я не могу сказать про себя, что английский знаю даже средне, но мне там все было понятно.

Скрипты

Нам будут необходимы следующи скрипты:

  1. network_usage.sh – обновляет базу. Запускается периодиески. Для нашего примера, раз в 5 минут.
  2. network_usage_create.sh – создает базу данных для четырех счетчиков, описанных выше. Запускается один раз.
  3. network_usage_graph2.sh – рисует графики загрузки канала. Запускается раз в 5 минут.
  4. network_usage_update_rrdtool.sh – фактически, этот скрипт просто запускает раз в пять минут network_usage.sh и network_usage_graph2.sh. Его содержимое самое очевидное.

Сразу приведу их содержимое:

network_usage_create.sh

#!/bin/sh

rrdtool create /var/rrdtool/db/network_usage.rrd \ --start 1176595200 \ DS:input_mail:COUNTER:600:U:U \ DS:output_mail:COUNTER:600:U:U \ DS:www:COUNTER:600:U:U \ DS:all:COUNTER:600:U:U \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:700 \ RRA:MAX:0.5:24:775 \ RRA:MAX:0.5:288:797

network_usage.sh

#!/bin/sh

input_mail=`/sbin/ipfw show 0011 | awk '{print $3}'` output_mail=`/sbin/ipfw show 0010 | awk '{print $3}'` www=`/sbin/ipfw show 0012 | awk '{print $3}'` all=`/sbin/ipfw show 0013 | awk '{print $3}'` /usr/local/bin/rrdtool update /var/rrdtool/db/network_usage.rrd \ N:$input_mail:$output_mail:$www:$all

network_usage_graph2.sh

#!/bin/sh

WWWPREFIX=/var/www/rrdtool/images RRDPREFIX=/var/rrdtool/db

/usr/local/bin/rrdtool graph $WWWPREFIX/network.png \ --width 500 --height 500 --imgformat PNG \ --start -43200 \ --title "Bandwidth graph for last 12 hours" --rigid --color BACK#FAFAFA \ --vertical-label Kbit/sec \ DEF:ifino=$RRDPREFIX/network_usage.rrd:input_mail:AVERAGE \ DEF:ifouto=$RRDPREFIX/network_usage.rrd:output_mail:AVERAGE \ DEF:www=$RRDPREFIX/network_usage.rrd:www:AVERAGE \ DEF:all=$RRDPREFIX/network_usage.rrd:all:AVERAGE \ CDEF:pop3=ifino,128,/ \ CDEF:smtp=ifouto,128,/ \ CDEF:www1=www,128,/ \ CDEF:all1=all,128,/ \ VDEF:sumpop3=ifino,TOTAL \ VDEF:sumsmtp=ifouto,TOTAL \ VDEF:sumwww=www,TOTAL \ VDEF:sumall=all,TOTAL \ VDEF:maxpop3=pop3,MAXIMUM \ VDEF:maxsmtp=smtp,MAXIMUM \ VDEF:maxwww=www1,MAXIMUM \ VDEF:maxall=all1,MAXIMUM \ VDEF:avgpop3=pop3,AVERAGE \ VDEF:avgsmtp=smtp,AVERAGE \ VDEF:avgwww=www1,AVERAGE \ VDEF:avgall=all1,AVERAGE \ AREA:all1#CCCCCC:"ALL" \ GPRINT:maxall:"Max=%lf%s" \ GPRINT:avgall:"Avg=%lf%s" \ GPRINT:sumall:"Sum=%lf %sbytes\l" \ LINE1:www1#FF6600:"WWW" \ GPRINT:maxwww:"Max=%lf%s" \ GPRINT:avgwww:"Avg=%lf%s" \ GPRINT:sumwww:"Sum=%lf %sbytes\l" \ LINE1:pop3#0000FF:"POP3" \ GPRINT:maxpop3:"Max=%lf%s" \ GPRINT:avgpop3:"Avg=%lf%s" \ GPRINT:sumpop3:"Sum=%lf %sbytes\l" \ LINE1:smtp#FF0000:"SMTP" \ GPRINT:maxsmtp:"Max=%lf%s" \ GPRINT:avgsmtp:"Avg=%lf%s" \ GPRINT:sumsmtp:"Sum=%lf %sbytes\l" \

network_usage_update_rrdtool.sh

#!/bin/sh

/var/rrdtool/script/network_usage.sh /var/rrdtool/script/network_usage_graph2.sh

Описывать подробно я не буду, так как здесь проще действовать, щупая все руками. На мой взгляд, в таких скриптах проще разобраться, если пробовать менять значения в них, перезапускать и смотреть, что поменялось.

Порядок работы

network_usage_create.sh

Значит, создаем базу rrdtool, запуская скрипт network_usage_create.sh. Проверяем, появился ли файл /var/rrdtool/db/network_usage.rrd. Если появился, переходим к следующему шагу. Если нет, то проверяем пути запуска rrdtool (возможно, у вас rrdtool запускается не такой командой /usr/local/bin/rrdtool, а как-нибудь иначе). В любом случае, пока база rrdtool не будет создана, дальше идти нельзя.

network_usage.sh

Здесь все просто, запускаем скрипт раз в пять минут и особо с ним проблем не должно быть.

network_usage_graph2.sh

Позволю себе небольшой коментарий макросов:

WWWPREFIX=/var/www/rrdtool/images – путь до директории, где будет храниться картинка network.png. Отредактируйте этот путь в соответствии с вашим веб-сервером apache или любым другим.

RRDPREFIX=/var/rrdtool/db – путь до директории, где лежит база данных rrdtool.

Наш скрипт отображает загрузку канала за последние 12 часов:
--start -43200 – время в секундах.

Данный скрипт необходимо запускать раз в пять минут.

network_usage_update_rrdtool.sh

Для простоты дела, дабы не запускать network_usage.sh и network_usage_graph2.sh раз в пять минут по отдельности, можно запускать раз в пять минут этот скрипт. Еще лучеш поместить его в cron:

# crontab –e
*/5 * * * * /var/rrdtool/script/network_usage_update_rrdtool.sh

Заключение

Вот, собственно и все. До помещения чего-либо в cron, лучше проверить в ручном режиме. Разумеется, многое из того, что я описал, я взял из примеров, разбросанных по сети, многое отредактировал сам. Надеюсь, статья будет полезна многим.

Автор: Илья Иванов
Источник: www.bozza.ru

Ссылки по теме
FreeBSD: диски, слайсы, партиции
Открытая криптография. Использование SSH
Открытая криптография. Конфигурирование SSH

Вся документация по FreeBSD

 

Компьютерная документация от А до Я - Главная

 
 


 

загрузка...

Новости ИТ
04.02.2012  LG начала продажи в Европе внешнего Blu-ray привода модели BP40NS20
04.02.2012  Pioneer в ближайшее время выпустит пишущий Blu-ray XL привод
04.02.2012  Acer начал продажи своего новейшего неттопа модели Revo RL70
04.02.2012  Четырехканальные наборы модулей памяти DDR3 Super Talent Quadra объемом по 4 ГБ рассчитаны на частоту 1866 МГц
04.02.2012  AMD рассказала о планах на 2012-2013 годы по части графических решений
04.02.2012  Габариты алюминиевого корпуса для ПК Xigmatek Gigas Micro-ATX Cube равны 278 x 396 x 322 мм
04.02.2012  На будущей неделе Tokina анонсирует стабилизированный объектив AT-X 70-200mm f/4 PRO IF FX
04.02.2012  СП Corning и Samsung Mobile Display будет выпускать стеклянные подложки для дисплеев OLED
03.02.2012  В Интернет попали неофициальное изображение и технические подробности предстоящего смартфона Samsung Galaxy S II Plus
03.02.2012  AMD сделала доступными попредзаказу три процессора линейки FX-Series
03.02.2012  ViewSonic начала продажи LED-монитора VX2336s-LED
03.02.2012  Orico X-Gear: дисковод для SATA-накопителей
03.02.2012  Оптический привод Pioneer BDR-S07J позволяет записывать диски BDXL
03.02.2012  Блок питания Super Flower мощностью 430 Вт имеет сертификат 80Plus Gold
03.02.2012  Начался прием заказов на процессоры AMD FX-4170 и FX-6200
03.02.2012  Монитор ViewSonic VX2336s-LED оснащён панелью SuperClear IPS со светодиодной подсветкой
03.02.2012  В накопителях Transcend SSD720 используются контроллеры SandForce последнего поколения
03.02.2012  Анонсирован зеркальный объектив Kenko 400mm f/8 для камер систем Micro Four Thirds и Sony NEX
03.02.2012  ASUS анонсировала пишущий DVD-привод DRW-24B5ST с поддержкой функции Disc Encryption II
03.02.2012  Zalman планирует уже в этом месяце начать продажи двух новейших геймерских Mid Tower-корпусов
03.02.2012  Packard Bell обновила свой 10,1-дюймовый нетбук модели Packard Bell dot s
03.02.2012  MSI показала 10-дюймовый нетбук Wind U180 на базе платформы Intel Cedar Trail
03.02.2012  Titan начала продажи оригинального CPU-кулера Siberia TTC-NC55TZ(RB)
03.02.2012  RunCore представила новейшие SSD-диски линейки Pro-V MAX
03.02.2012  Появились первые тесты инженерного образца 10-ядерного процессора Ivy Bridge-EP
03.02.2012  Внешние накопители Apricorn Aegis Padlock DT шифруют данные по алгоритму AES-XTS
03.02.2012  Системные платы подорожают еще до конца текущего квартала
03.02.2012  Камера COOLPIX S3300 доступна в восьми вариантах цветового оформления
03.02.2012  Verizon представит Droid 4
03.02.2012  Опубликован результат APU AMD Trinity A6 для ультратонких ноутбуков в тесте 3DMark

 
Advertisment



 
Интересное в сети

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100