Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

Linux, Мониторинг загрузки каналов



MRTG+cban
1. Введение Данный документ описывает один из методов визуального контроля (мониторинга) загрузки канала с использованием программного обеспечения, генерирующего .html страницу с графиками загрузки канала. Предназначен в основном для начинающих администраторов и описывает процесс установки и конфигурирования программного обеспечения "от и до". Создание данного документа обусловлено тем, что автор не нашел весь нужный материал на русском "в одном флаконе", хотя почти все, что написано ниже можно прочитать в нескольких источниах, приведенных в конце документа. Автор не несет ответственности за возможный нанесенный ущерб при выполнении действий, описанных в данном документе. Так что используйте на свой страх и риск. Если непонятно то или иное действие, лучше обратится к первоисточникам, указанным в конце документа. 2. Постановка задачи При администрировании информационных каналов таких, как каналы доступа в интернет, нередко возникает необходимость в наглядном отображении статистики по загрузке канала. Это особенно удобно при необходимости удаленно следить за загрузкой, а также когда не особо сведующее начальство любит "держать руку на пульсе" . Одним из возможных решений является построение графиков скорость/время и отображение их через ВЕБ-интерфейс. Однако следует сразу отметить, что визуальный способ недостаточно точен. Для получения точных данных необходимо использовать другие методы. 3. Установка необходимого пограммного обеспечения Одной из самых распостраненных программ для построения графиков загрузки канала и генерирования соотвествующих .html станиц является MRTG (Multi Router Traffic Grapher) http://www.mrtg.org. Скачиваем самую свежую версию программы с указанного сайта. # wget http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.9.22.tar.gz Также для работы необходимы следующие пакеты: Скачиваем библиотеку libgd с http://www.boutell.com/gd/ если не установлена. # wget http://www.boutell.com/gd/http/gd-1.8.3.tar.gz Скачиваем Perl с http://www.perl.com/ если не установлен. Для возможности работы с .png файлами скачиваем libpng c http://www.libpng.org/pub/png/src/ если не установлен. # wget http://www.libpng.org/pub/png/src/libpng-1.0.12.tar.gz Для компрессии созданных libpng файлов скачиваем библиотеку zlib с http://www.gzip.org/zlib/ если не установлена. # wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz Для упрощения процесса конфигурирования скачиваем программку cban, которая будет общаться с интерфейсами напрямую, минуя конфигурирование через community. # wget http://panic.eu.org/linux/cban/cban-0.1.8-0.tgz Компилируем библиотеки. Обычно их устанавливают в /usr/local/src. zlib # gunzip -c zlib.tar.gz | tar xf - # mv zlib-?.?.?/ zlib # cd zlib # ./configure # make libpng # gunzip -c libpng-*.tar.gz |tar xf - # rm libpng-*.tar.gz # mv libpng-* libpng # cd libpng # make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib rm *.so.* *.so libgd # gunzip -c gd-1.8.3.tar.gz |tar xf - # mv gd-1.8.3 gd # cd gd # make INCLUDEDIRS="-I. -I../zlib -I../libpng" LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm" Установка MRTG # cd /usr/local/src # gunzip -c mrtg-2.9.22.tar.gz | tar xvf - # cd mrtg-2.9.22 Для уверенности в том, что компиляция пройдет с поддержкой всех необходимых библиотек, выполняем # ./configure --prefix=/usr/local/mrtg-2 --with-gd=/usr/local/src/gd --with-z=/usr/local/src/zlib --with-png=/usr/local/src/libpng # make # make install Если все прошло без ошибок то должна появиться директория /usr/local/mrtg-2. Устанавливаем cban # tar zxvf cban-0.1.8-0.tgz # cp cban /usr/sbin/cban 4. Конфигурирование Определяем где будет храниться файл конфигурации, например /home/byte/stats/mrtg.cfg . Определяем где mrtg будет хранить свои данные и куда будет помещать результаты расчетов, например ничего страшного не будет если все "свалить в одну кучу" и задать такой каталог /home/byte/public_html/stats/ . Имеет смысл пререписать *.png из директории images в каталог где будут храниться данные. Создаем файл /home/byte/stats/mrtg.cfg . Ниже представлен пример такого файла с пояснениями. ################################################################## WorkDir: /home/byte/public_html/stats #задает размещение журнала, рабочих файлов и генерируемых страниц RunAsDaemon: Yes #запускаться как демон; иначе необходимо запускать через определенное время через cron Language: russian #выводить пояснения на русском языке #Stats from eth0 Title[eth0]: Загрузка на eth0 (Игровой зал) #заголовок для html-страницы MaxBytes[eth0]: 1250000 #значения переменных, которые больше этого числа, игнорируются AbsMax[eth0]: 1250000 #если используется сжатие, то возвращаемое значение может превосходить MaxByte Options[eth0]: gauge, nobanner # опции; если несколько, то пишутся через запятую; в данном случае: gauge - интерпретировать полученные значения как абсолютные значения. По умолчанию, mrtg трактует полученные значения как увеличивающийся счетчик (т.е. отрисовывает разницу между предыдущим и текущим значением, деленную на прошедший интервал времени); nobanner - не показывать банера MRTG Target[eth0]: `/usr/sbin/cban -i eth0 -m` #указывает откуда брать данные для для отображения; указываем что данные передает cban c указанием интерфейса и в понятной для MRTG форме PageTop[eth0]: Загрузка канала на eth0 (игровой зал)#надпись, отображаемая сверху страницы YLegend[eth0]: Bytes/s #текстовая строка для обозначения вертикальной шкалы ShortLegend[eth0]: B/s #текстовая строка, используется для указания размерности вне графика Legend1[eth0]: Входящий трафиик Legend2[eth0]: Исходящий трафиик Legend3[eth0]: Максимальный входящий траффик Legend4[eth0]: Максимальный исходящий траффик LegendI[eth0]: In: LegendO[eth0]: Out: WithPeak[eth0]: ymwd #показывать в недельном, месячном и годовом графиках не только средние, но и пиковые значения ################################################################## Интерфейсов можно указывать более одного. Для этого достаточно описать правила для другого символического имени, например eth1 Target[eth1]: `/usr/sbin/cban -i eth0 -m` PageTop[eth1]:

Загрузка канала на eth1 (VIP зал)

[/PHP] и т.д. Запускаем MRTG следующей коммандой # usr/local/mrtg-2/bin/mrtg /home/byte/stats/mrtg.cfg Если в конфигурационном файле не ставить директиву RunAsDaemon: Yes то тогда необходимо обеспечить вызов MRTG каждые, скажем, 5 минут. Для этого выполняем # crontab -e и прописываем строку */5 * * * * usr/local/mrtg-2/bin/mrtg /home/byte/stats/mrtg.cfg Для успешной русификации необходимо в каталог ../mrtg-2/lib/mrtg-2/ переписать файл russsian.pmd Если программа запущена как демон, то тогда необходимо в стартовых скриптах прoписать запуск программы. В Slackware правится /etc/rc.d/rc.local #starting MRTG cd /usr/local/mrtg-2/bin && ./mrtg --user=mrtr /home/byte/stats/mrtg.cfg --logging /var/log/mrtg.log Здесь --user=mrtg запускать с правами пользователя mrtg. В таком случае необходимо создать данного пользователя; logging /var/log/mrtg.log - вести лог по указанному пути Настройка веб-сервера Apache. Врядли Вы хотите, чтобы любой мог просматривать статистику без Вашего ведома. Посему имеет смысл ограничить доступ к страничке с статистикой. Для этого в каталоге /home/byte/public_html/stats создаем файл .htaccess в котором прописываем: AuthType Basic AuthName &quot;Byte&quot; AuthUserFile /home/byte/stats/.htpasswd AuthGroupFile /home/byte/stats/.htgroup <Limit GET POST> order deny,allow require group oper </Limit> [/PHP] В файле /home/byte/stats/.htpasswd прописываем имя пользователя и зашифрованный пароль через двоеточие: byte:$1$kQLR$8.ADZRn5DA8QnLRlem7D1 Пароль можно &quot;утащить&quot; из /etc/shadow. Пароль находится в строке, начинающейся с имени пользователя, между двумя первыми двоеточиями. А можно воспользоваться программкой htpasswd. В файле /home/byte/stats/.htgroup прописывается название группы, двоеточие и через пробелы имена пользователей, отенесенных к той или иной группе. oper: byte boss В данном примере необходимость в деление на группы отсутствует, но если надо кому-то запретить просмотр статистики по какому-нибудь интерфейсу то единственный выход - деление на группы и прописывание в .htaccess правил доступа к конкретному файлу. Для генерации индексной страницы можно воспользоваться пограммкой indexmaker. Запуск программы: # indexmaker [options] mrtg.cfg [other.cfg ...] Список опций можно посмотреть http://people.ee.ethz.ch/~oetiker/webtools/mrtg/indexmaker.html. А можно и написать свою страницу. Преимущество - нет ограничения на полет фантазии 5. Источники. Более подробную информацию можно найти по ссылкам:  http://www.mrtg.org  http://linux.yaroslavl.ru/docs/conf/MRTG.html  http://panic.eu.org/linux/cban Расширенную версию данного документа можно найти на  http://byte.dax.ru 6. Автор Byte byte@linuxportal.ru Автор ждет обоснованных исправлений и дополнений. Опубликовал: Byte Дата: 30.07.2003 постоянный адрес статьи: http://linuxportal.ru/entry.php/P92_0_3_0/





Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"