headermask image

Notice: Undefined variable: t in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15

Notice: Undefined variable: r in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

MRTG. Трудные вопросы

Разговор пойдет про MRTG – Multi Router Traffic Grapher. Я не случайно привел полную расшифровку названия. Всё, что связано именно с рисованием графиков трафика, MRTG справляется хорошо. Конфигурирования почти не требует, достаточно запустить cfgmaker и indexmaker.Однако, если вы захотите иметь графики загрузки CPU, RAM и т.п., то, возможно, решить эти вопросы сходу не удастся. Сказанное относится к дистрибутиву Fedora всех версий в полной мере.

Итак, всё по порядку.

Напишем секцию файла конфигурации для отображения загрузки CPU.

Пишем, что-нибудь вроде этого:

Target[server.cpu]: ssCpuRawUser.0&ssCpuRawUser.0:public@host +
   ssCpuRawSystem.0&ssCpuRawSystem.0:public@host +
   ssCpuRawNice.0&ssCpuRawNice.0:public@host

...

Тестируем:

LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/server.cfg \
 --debug="cfg,snpo" --lock-file /var/lock/mrtg/mrtg_l_server \

 --confcache-file /var/lib/mrtg/mrtg_server.ok

И получаем ошибки типа :

Unknown SNMP var ssCpuRawUser.0
Unknown SNMP var ssCpuRawSystem.0
Unknown SNMP var ssCpuRawNice.0

Причем “вручную” всё определяется верно :

$ snmpwalk -v1 -c public host ssCpuRawUser.0
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 70395385

Ищем, где находятся нужные MIB-базы :

locate mib
grep -i "ssCpuRaw" /usr/share/snmp/mibs/*.txt

Дописываем, например :

LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-TYPES.txt
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
LoadMIBs: /usr/share/snmp/mibs/squid_mib.txt

Но это не помогает, ошибки остаются.

Дело немного проясняется, если заглянуть в файл SNMP_util.pm, сделайте это самостоятельно. Т.е. выхода у нас ровно два: прописать нужные OID в SNMP_util.pm или использовать в конфигах цифровую форму для OID (раз уж LoadMIBs не работает). Я выбрал второе.

Вот наиболее употребительные OID:

  • ssCpuRawUser .1.3.6.1.4.1.2021.11.50
  • ssCpuRawSystem .1.3.6.1.4.1.2021.11.52
  • ssCpuRawNice .1.3.6.1.4.1.2021.11.51
  • memAvailReal 1.3.6.1.4.1.2021.4.6
  • memTotalReal 1.3.6.1.4.1.2021.4.5
  • dskPercent .1.3.6.1.4.1.2021.9.1.9

Но это еще не всё.

Если вы захотите мониторить Squid, то придется пропатчить /usr/bin/mrtg примерно в строке номер 2178 заменить

push @OID, qw(cacheUptime cacheSoftware cacheVersionId)

на

push @OID, qw(.1.3.6.1.4.1.3495.1.1.3 .1.3.6.1.4.1.3495.1.2.2 .1.3.6.1.4.1.3495.1.2.3)

Значения OID для Squid найдете здесь в интернете самостоятельно.

Определить не врет ли мониторинг можно так:

squidclient mgr:info

О разном
Вам необходимо наладить документооборот в вашей компании? Заходите на сайт, изучите системы документооборота, способы автоматизации и многое другое.

О грустном. Мне порядком надоел мой нынешний хостинг, с его вечными тормозами, невнятной ценовой политикой и многими другими минусами. Собираюсь переводить данный сайт на хостинг от E-Planet, где у меня уже находиться один проект и я всем полностью доволен.

One Comment

  1. Здорово помог, спасибо!

    1. Sergey on February 24th, 2011 at 12:40 pm