Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Графики работы системы - один из мощных инструментов сисадмина с помощью которых легко анализировать сетевую обстановку. По графикам наглядно видно откуда берется трафик, в какой интерфейс уходит, где появилась необычная сетевая активнойсть, где наоборот пропал трафик.


Новые статьи на сайте:

 

Hilik     Настроим все

 http://www.hilik.org.ua/

 

Строим графики работы с помощью snmp и MRTG.

 

Графики работы системы – один из мощных инструментов сисадмина с помощью которых легко анализировать сетевую обстановку. По графикам наглядно видно откуда берется трафик, в какой интерфейс уходит, где появилась необычная сетевая активнойсть, где наоборот пропал трафик.
Для того, что бы построить систему графиков, нужно начать с установки snmp. Я писал в статье MRTG, провалы в графиках о проблеме переполнения счетчиков на гигабитных интерфейсах. Решение приведенное в той статье не совсем корректно.

Правильное решение – использовать SNMPv2 и 64bit счетчики. Для этого нужно специально собрать net-snmp(bsnmp мне не удалось заставить работать с 64bit счетчиками).
Так вот для того, что бы включить 64bit счетчики нужно собирать так:

cd /usr/ports/net-mgmt/net-snmp
make install clean

А в диалоге настройке сборки выбираем такие опции:


Options for net-snmp 5.4.2.1_6

[ ] IPV6 Build with IPv6 support
[X] MFD_REWRITES Build with 64-bit Interface Counters
[X] PERL Install additional perl modules
[X] PERL_EMBEDDED Build embedded perl
[ ] TKMIB Install graphical MIB browser
[X] DUMMY Enable dummy values as placeholders
[ ] DMALLOC Enable dmalloc debug memory allocator

[ OK ] Cancel

MFD_REWRITES – это именно та опция которая включает 64 bit счетчики.

После того, как сборка окончится, можно приступать к настройке.
Конфигурационный файл snmpd находится в директории /usr/local/share/snmp/, называется он snmpd.conf.
Содержимое его такое:

syslocation  home
syscontact noc@hilik.org.ua
rocommunity netstat 192.168.0.0/24
rocommunity netstat 127.0.0.0/8

Тут мы указываем syslocation – местоположение оборудование. Контакт ответственного лица – syscontact.
Комьюнити только для чтения для SNMPv1 и SNMPv2. У меня в конфиге оно указано 2 раза для того, что бы можно было снимать показания с локалхоста(127.0.0.0/8) и что бы можно было снимать удаленно с внутренней сети(192.168.0.0/24).
Теперь разрешим запуск:

echo 'snmpd_enable="YES"' >> /etc/rc.conf

и запустим:

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

Теперь можно проверить с помощью утилиты snmpwalk работает ли у нас snmp и главное проверим наличие Counter64:

 snmpwalk -Os -v2c -c netstat localhost |grep Counter64

Если все настроено нормально, вы должны увидеть примерно такое:

hrSWRunParameters.26108 = STRING: "Counter64"
ifHCInOctets.1 = Counter64: 0
ifHCInOctets.2 = Counter64: 104418691
ifHCInOctets.3 = Counter64: 487901
ifHCInOctets.4 = Counter64: 0
ifHCInUcastPkts.1 = Counter64: 0
ifHCInUcastPkts.2 = Counter64: 22917026
ifHCInUcastPkts.3 = Counter64: 6473
ifHCInUcastPkts.4 = Counter64: 0

Теперь можно переходить к установке и настройке MRTG.

cd /usr/ports/net-mgmt/mrtg/
make install clean

После сборки создадим конфигурационный файл с помощью cfgmaker.
cfgmaker я запускаю так:

/usr/local/bin/cfgmaker --global "Options[_]:
growright,bits" --snmp-options=:::::2 netstat@127.0.0.1 > mrtg.cfg

В итоге выполнения команды у нас получится конфигурационный файл mrtg.cfg. Для дальнейшего использования его требуется немного подправить.
Находим строку:

#  for UNIX
# WorkDir: /home/http/mrtg

И в переменную WorkDir вписываем путь к директории вебсервера, в которой вы будете отображать графики. К примеру так:

#  for UNIX
WorkDir: /usr/local/www/mrtg

Еще рекомендую пройти по конфигу и вписать вручную описания интерфейсов в строки Title и PageTop.
И теперь сгенерировать index.html с помощью утилиты indexmaker.
Я не люблю смотреть графики расположенные в 2 ряда, поэтому indexmaker запускаю так:

indexmaker --columns=1 mrtg.cfg > /usr/local/www/mrtg/index.cfg

Теперь осталось сделать так, что бы графики обновлялись. Есть 2 пути. Запустить mrtg демоном или через cron. Я всегда ставлю его на крон. 1 раз в 5 минут.

*/5     *       *       *       *
      /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

На этом настройка закончена.

 

 Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/
 


В избранное