Jump to content
Калькуляторы

snmpd и большое кол-во vlan интерфейсов Грузит проц под потолок.. :(

CentOS 5.5, Intel® Xeon™ CPU 2.66GHz, 4 ядра. На нём терминация vlan, плюс крутятся dhcpd, named, ну и ещё кое-что по-мелочи.

Кол-во vlan интерфейсов на данный момент ~400, в перспективе - более 1000.

Проблема с snmpd - периодически (не менее 2-3 раз в минуту) snmpd грузит проц практически под 100%

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
24968 root      20   0  156m  11m 4220 R 99.3  0.6   1354:01 snmpd
31747 named     20   0  488m 327m 2512 S 23.8 16.3   1337:31 named

От сервера требуется всего лишь отдавать для cacti (на другой машине) данные по загрузке CPU, UPS, температуру HDD (для них "свои" OID в snmpd.conf) и мониторинг дискового пространства на предмет занято/свободно.

Мониторинг сетевых интерфейсов НЕ производится совсем.

Предполагаю, что источником загрузки являются всё же vlan-интерфейсы.

Вопрос банальный - что делать?

Share this post


Link to post
Share on other sites

Можно попробовать отключить Data query "Interface statistics" в профиле кактуса для этого хоста.

Это отключит перечисление интерфейсов при каждом обращении поллера.

Не помешает даже, если ведется статистика интерфейсов, существующие графики останутся, а для создания новых нужно будет временно заново добаить этот data query/

Share this post


Link to post
Share on other sites

Можно попробовать отключить Data query "Interface statistics" в профиле кактуса для этого хоста.

Отключен уже давно, т.к. не требуется. Результат нулевой..

Вот как бы отключить в самом snmpd создание таблиц интерфейсов, ну или ограничить хотя бы только ethernet интерфейсами.

 

P.S. Есть ещё предположение, что дело не только в кол-ве интерфейсов, но вот в чём именно??

Share this post


Link to post
Share on other sites

при запуске snmpd можно указать список только необходимых мибов. man snmpd

"Необходимых"?? Это крУто! На такое толку не хватает.. :(

Пробовал наоборот - исключить "ненужные",

OPTIONS="-Lsd -Lf /dev/null -c /etc/snmp/snmpd.conf -C -I -ifXTable,ifTable,interfaces,ipAddressTable -p /var/run/snmpd.pid -a -x 127.0.0.1,10.254.213.254"

не помогает..

Всё равно загрузка проца не падает..

Share this post


Link to post
Share on other sites

У меня тоже самое было на серверах доступа (NAS'ах), где коммутировались PPP-сессии абонентов. Статистику с них для балансировщика хотел забирать от snmpd, а тот так же чудил и грузил проц.

Share this post


Link to post
Share on other sites

У меня тоже самое было на серверах доступа (NAS'ах), где коммутировались PPP-сессии абонентов. Статистику с них для балансировщика хотел забирать от snmpd, а тот так же чудил и грузил проц.

И? Решили проблему, или с тем и живёте?

Share this post


Link to post
Share on other sites

Мне такое помогло:

/usr/sbin/snmpd -I-interface -I-ipAddressTable -I-ifTable -I-ifXTable -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid

 

snmpd -v

NET-SNMP version: 5.4.3

Share this post


Link to post
Share on other sites

Мне такое помогло:

/usr/sbin/snmpd -I-interface -I-ipAddressTable -I-ifTable -I-ifXTable -Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid

 

snmpd -v

NET-SNMP version: 5.4.3

Так тоже самое, что и у меня.. Разве-что "-smux" нету, не думаю, что он тут "при делах"..

Share this post


Link to post
Share on other sites

Мне ничего из описанного в этой теме не помогло (

Еще какие то идеи есть?

отказаться от snmpd в пользу агентов мониторинга(например у заббикса есть такая штука)

Share this post


Link to post
Share on other sites

Простое решение - поместить snmpd в namespace где нет многих интерфейсов и full view

Мне - помогло.

 

namespaces просто какая-то серебряная пуля )

Share this post


Link to post
Share on other sites

Простое решение - поместить snmpd в namespace где нет многих интерфейсов и full view

А поподробнее, как это осуществить, расскажите, пожалуйста.

Share this post


Link to post
Share on other sites

AlKov

просто в старт-скрипт добавляете что-то типа такого

ip netns add SNMPD

ip link set eth0.2 netns SNMPD

ifconfig eth0.2 1.1.1.1/30 up

ip netns exec SNMPD ip ro add 0.0.0.0 via 1.1.1.2

ip netns exec SNMPD "запуск snmpd"

 

потом опрашиваете данные по ip-адресу 1.1.1.1

Share this post


Link to post
Share on other sites

AlKov

просто в старт-скрипт добавляете что-то типа такого

ip netns add SNMPD

Невезуха - Centos из коробки не поддерживает netns..

Share this post


Link to post
Share on other sites

А мне помогло вот это собрал либу, сделал ld_preload для snmp и все... теперь отдается все кроме ppp интерфейсов. нагрузка на процессор упала да и snmp по таймауту не отваливается

Share this post


Link to post
Share on other sites

AlKov

просто в старт-скрипт добавляете что-то типа такого

ip netns add SNMPD

Невезуха - Centos из коробки не поддерживает netns..

Да, у меня недефолтное ядро.

изкоробки к сожалению не работает.

Но 3.17 пока полет стабильный.

Я добавлял в namespace veth а не физический интерфейс но сути это конечно же не меняет.

Share this post


Link to post
Share on other sites

Столкнулся с подобной проблемой. Как нибудь решилось? Дело в том, что на сервере пачка виланов порядка 3000, но мне надо мониторить bond, так что вариант отключением мониторинга сетевых интерфейсов не подходит.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.