Сегодня мы поговорим о MRTG - это очень приятная вещь,
которая позволяет строить графики загрузки, использования, наличия того или иного
предмета в системе (пользователи, память и прочее). Очень удобная - позволяет
забирать данные как по SNMP, так и через саморучно написанные программы. В общем,
вещь !!!
Сначала заберите и установите сам mrtg. В инете на любом
поисковом сервере по ftp наберите mrtg и выкачивайте то, что вашей душе угодно.
Ставьте либо сразу бинарники, либо сначала исходники, а потом компилируйте ...
В общем, у Вас должен получиться каталог /что-то/mrtg (в KSI это /usr/lib/mrtg , если
ставить mrtg из поставляемого с KSI). В нем лежат 4 файла - cfgmaker, indexmaker, mrtg, rateup.
Пойдем по порядку ... cfgmaker - это утилита, которая делает mrtg.cfg (конфигурационный
файл mrtg) , выбирая информацию из любого устройства (программы), поддерживающего
SNMP.
./cfgmaker public@host >> mrtg.cfg
и все, если на host есть SNMP и он откликается на имя public (тут может что я напутал
в формулировках, но я не знаю, как это по русски сказать), то создастся (добавится)
файл mrtg.cfg .... ниже я разберу, что и куда в нем ...
indexmaker - эта утилита создает index.html в который собирает все, что
она нашла в mrtg.cfg . Конечно, это всем можно сделать и руками ... но утилиткой приятнее ...
./indexmaker mrtg.cfg 'All my Routers' '.' >/home/httpd/stats/index.html
И наконец, сам mrtg .... вручную его пускать не надо ... это делать надо из крона.
Для vixie cron строчка в кронтабе должна быть аналогична следующей
0-59/5 * * * * root /usr/lib/mrtg/mrtg /usr/lib/mrtg/mrtg.cfg
Эта строчка означает всего-лишь запуск mrtg от root'а каждые пять минут ...
Кстати, 5 минут - это минимальное время для промежутка между запусками
mrtg ... больше можно - меньше нельзя ...
И еще одно напоминаие, пока не начал разбирать mrtg.cfg ... первые два запуска
mrtg будет ругаться с помощью cron (а через него на мыло) что что-то не то у него
с файлами и каталогами ... можете не обращать внимание ... это он сообщает, что
нет лог файлов и прочей требухи, необходимой ему .....
rateup - это служебная программа ....
Итак, mrtg.cfg ... начну разбирать реальный файл,
который используется у меня и собирает статистику каждые пять минут с роутера Cisco
и заодно делает график использование своп-памяти на машине ;-))). При этом, я
естественно приведу не весь файл и не все команды ... для более полного
обратитесь в /usr/doc/mrtg-[ваша версия] - там очень понятно все расписано
WorkDir: /home/httpd/html/mrtg/
Рабочий каталог, в котором будут сохраняться файлы с картинками и html-ками ;-)
обычно это один из каталогов web-сервера.
Target[cisco]: 1:public@cisco
Это целеуказание mrtg, благодаря которому он знает, что информацию, которую он снимает
с snmp хоста public@cisco , надо ложить в /home/httpd/html/mrtg/cisco* файлы ...
Немного непонятно ... но я сам еще далеко не дока в snmp - эти строчки сделал cfgmaker
MaxBytes[cisco]: 1250000
Показывает, сколько максиум будет число, которое измеряется на этом узле ( в данном
случае - это максимальная скорость соотвующего порта на cisco)
Title[cisco]: cisco (cisco): Ethernet0
Указывает заголовок для страницы с графиками ...
Options[cisco]: growright
показывает, что графики надо рисовать движущимися не слева, а справа ... не знаю,
кому как, а мне удобнее ...
PageTop[cisco]: Ethernet<
С этой строки и ниже заголовок для страницы, на которой будут вывешиваться графики
за день, неделю, месяц и год .....
Эти все строки создал cfgmaker - он может их и еще кучу раз создать, если
его попросить ...(я не стал расписывать больше ... у всех моих знакомых с ним проблем не возникало)
но если вам надо измерять что-то, что не имеет доступа по snmp
(например свой термометр или количество пользователей у себя на машине ... или
число используемого свопа ... да что угодно) ... сначала посмотрите в каталог
contrib - может там что есть для вашей души .... но я там для своей души не нашел,
то, что хотел ...поэтому сейчас я вместе с Вами сделаю графики ... ну хотя-бы
для записи, сколько места на дисках у меня осталось ....
[root@multik mrtg]# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda2 995147 767175 176564 81% /
/dev/sda3 2707142 2420114 132001 95% /opt
/dev/sdb2 3595947 3280904 109010 97% /opt1
[root@multik mrtg]#
вот такой вывод у команды df ..... ну возьмем 4й столбец
так приятнее и прикольнее ;-)
Хотя никто не мешает взять и 5й столбец и вообще какой душа пожелает ...
#!/bin/sh
df|tail -2|awk '{print $4}'
echo 0
echo 0
echo
Вот такой маленький командный файл я положил в /usr/diskuse .... действует
он до примитивного просто ... только я сделаю замечание ... для mrtg внешние программы
должны возвращать 2 числа (первый и второй контролируемый процесс)... кто видел графики mrtg - тот поймет ...
если надо строить 1 график - то просто второе число будет 0 ;-)))
3я строчка служит для указания времени uptime, а 4я - для указания имени устройства ...
можете поиграться с ними ... только если 3 число 0, то ничего выводиться не будет ...
теперь правим mrtg.cfg
Target[df]: `/usr/diskuse`
Будем вызывать программу /usr/diskuse
Options[df: growright, absolute, gauge
Строим графики справа
MaxBytes[df]: 500000
AbsMax[df]: 500000
Максиум, что у меня может быть свободного места - это 500Мб
Title[df]: Used disk space
Unscaled[df]: dwyn
YLegend[df]: free space
ShortLegend[df]:
Legend1[df]:
Legend2[df]: /dev/sda3
Legend3[df]:
Legend4[df]: /dev/sdb2
LegendI[df]:
LegendO[df]: kbytes
PageTop[df]: Free size
все остальное в принципе я либо описывал, либо понятно и так ....
теперь включаем этот кусок в конфиг mrtg и ждем наступления следующих 5 минут ...
Приходит вот такое вот письмо ....
Rateup WARNING: .//rateup could not read the primary log file for df
Rateup WARNING: .//rateup The backup log file for df was invalid as well
Rateup WARNING: .//rateup Can't remove df.old updating log file
Rateup WARNING: .//rateup Can't rename df.log to df.old updating log file
Не волнуйтесь ... все в порядке ...потом придет
Rateup WARNING: /usr/lib/mrtg//rateup Can't remove df.old updating log file
И если все настроено правильно, то больше ничего приходить не должно ...
Все .. смотрите на df.html в рабочем каталоге .... можете аналогично поправить
сгенеренный index.html ... там ничего сложного нет .....подождите 5-10 минут и Вы
увидите, как справа выползают две полоски ... которые и показывают нужную Вам
величину ....
ну вот .. теперь мне захотелось обьем свопа выдавать ....
нет ничего проще ...файл swapuse
#!/bin/sh
free|tail -1|awk '{print $3}'
echo 0
echo 0
echo 0
echo
Выдирает количество swap-памяти в использовании ...в mrtg.cfg записано следующее
Target[swap]: `/usr/swapuse`
Options[swap]: growright, absolute, gauge
MaxBytes[swap]: 256000
AbsMax[swap]: 256000
Title[swap]: Used swap
Unscaled[swap]: dwyn
YLegend[swap]: free space
ShortLegend[swap]:
Legend1[swap]:
Legend2[swap]: Swap
Legend3[swap]:
Legend4[swap]:
LegendI[swap]:
LegendO[swap]:
PageTop[swap]: Swap
Доступно и сердито ... теперь, если я зайду на свой www, я всегда увижу, сколько
у меня используется свопа ;-)))
Для более качественного использования mrtg (хотя куда более качественно) , советую
посмотреть readme.html, который идет вместе с mrtg - там расписано больше опций ;-)
Вот вроде и все про mrtg - или что-то непонятно ?;-)
Да ... совсем забыл сделать обьявление - не надо
рассматривать прошлый номер как руководство по работе DNS серверов ... там многое
сознательно упрощено и опущено .. оставлена одна суть ...;-))))
Теперь пришла пора задуматься о будующем сайта ...
вроде все более-менее нужные темы по чуть-чуть осветил ... конечно, в том обьеме,
что знал сам и раскопал ;-))) .... Теперь либо Вы подсказываете темы , либо у меня
возникла идея обточить и обсосать то, что уже было выложено и делать
потихоньку а-ля ХАУТУ-по-русски ;-) .. например про почту собрать и положить
в один файлик, про samba (скоро мне с ней придется разбираться) - отдельно ...
ну и соответственно новые номера делать ... но с ними придеться либо что
нужно будет, либо о чем в голову взбредет или попросят ...ведь судя по статистике,
linux.irk.ru читает около 1300-1400 человек ... ( это я сильно занизил число уникальных
хостов, которые ко мне приходят в течение месяца ) .... а я чуствую, что перерывы
становятся большими .. надо что-то делать .. привык я уже к linux.irk.ru ;-)
, даже иногда сам пользуюсь ;-))))
|