lacost Posted October 31, 2012 Posted October 31, 2012 Несколько гиговых интерфейсов собраны в транк (бонд), наложены вланы. Cacti снимает утилизацию с полученных интерфейсов (вланов). На графиках - при утилизации выще 1,1Гб - появляются провалы. Опрос из какти - раз в 5 минут. Исследования показали, что счетчик интерфейса в самом линуксе - 32 разряда. SNMPD обновляет статистику у себя внутри раз в 30 секунд. Т.е. 2^32*8/30/1024/1024 = 1 092 Мбит. Пытались изменить время опроса линуксовых счетчиков самим SNMPD до 10 секунд snmpset -v2c -c monitoring 192.168.25.19 1.3.6.1.4.1.8072.1.5.3.1.2.1.3.6.1.2.1.2.2 i 10 Результат не сильно изменился. Все те же провалы в графиках. Куда копать? Вставить ник Quote
Hawk128 Posted October 31, 2012 Posted October 31, 2012 В сторону 64-х битных счетчиков. На них снимаю все нормально. Вставить ник Quote
s.lobanov Posted October 31, 2012 Posted October 31, 2012 стандартные ifHCInOctets и ifHCOutOctets чем не устраивают? Вставить ник Quote
st_re Posted October 31, 2012 Posted October 31, 2012 Я так понял из сообщения автора, что он их и снимает.. иначе он бы говорил на про 1.1 гб а про 120 мб ибо Опрос из какти - раз в 5 минут. и 32 битные счетчики дают не 1.1гбит совсем. линукс 32 битный? Вставить ник Quote
lacost Posted October 31, 2012 Author Posted October 31, 2012 Система - 32 бита. Максимальное значение в RRDTool - очень большое. Проблема на стороне SNMPD. На типовой запрос 1.3.6.1.2.1.31.1.1.1.6.13 со стороны какти - из SNMPD приходят "обрезанные" данные. # 64 bit counters: # .1.3.6.1.2.1.31.1.1.1.6. Counter64 ifHCInOctets Вставить ник Quote
st_re Posted October 31, 2012 Posted October 31, 2012 мне так показалось, при беглом ковырянии в коде, что 30 там прибито гвоздями... Походу это именно Ваше число :/ agent/mibgroup/if-mib/ifTable/ifTable_interface.c: if_ctx->cache = netsnmp_cache_create(30, /* timeout in seconds */ Вставить ник Quote
s.lobanov Posted October 31, 2012 Posted October 31, 2012 Система - 32 бита. Максимальное значение в RRDTool - очень большое. Проблема на стороне SNMPD. На типовой запрос 1.3.6.1.2.1.31.1.1.1.6.13 со стороны какти - из SNMPD приходят "обрезанные" данные. # 64 bit counters: # .1.3.6.1.2.1.31.1.1.1.6. Counter64 ifHCInOctets В 32ух битных системах с ifHCInOctets не получится снимать, там будет тоже самое, что показывает ifconfig Можно считать через iptables и рисовать его счётчики. http://www.roth.lu/cacti-snmp-tut.htm Вставить ник Quote
st_re Posted October 31, 2012 Posted October 31, 2012 тем не менее оно на 32-х битных системах показывает больше IF-MIB::ifHCInOctets.1 = Counter64: 8785502357967 Это чутка больше, чем влезает в 32 бита Это 32битная фря... Если бы 64 битные счетчики тупо транслировли счетчики 32 битного ядра, то мы бы имели тоже ограничение ~120 мегабит на 5 минутном съеме. А его нет. но у меня нет 32-х битных систем способных (имеющих интерфейсы) отдать больше гигабита. на 64 битных системах я проблем не заметил. Вставить ник Quote
lacost Posted October 31, 2012 Author Posted October 31, 2012 (edited) Если серьезно - первый раз столкнулся с проблемой на которую не нашел ответа в гугле. Ни одного упоминания о том, что больше 1,1г не рисует. Судя по всему и здесь у всех все ровно. Видимо выхода 2: либо снимать сторонним способом (не через снмпд), либо ставить 64 (((( Хотя можно пропатчить снмпд до 15 секунд и забыть ;) Пс. Снмпд раз в 30 секунд забирает цифру с интерфейса (32 битную) и складирует ее у себя в 64 бинтом счетчике. Подсчет в результате которого таким способом все упирается в 1,1 я чуть выше писал. Edited October 31, 2012 by lacost Вставить ник Quote
st_re Posted October 31, 2012 Posted October 31, 2012 А пересобрать поменяв вышеуказанную 30 на 10 не получится ? Еще вариант, там есть флаги, позволяющие звать обновление на каждый запрос, но разбираться лень, выставлены ли они в этом месте. попробуйте позвать скриптом snmpget на данный параметр раз в 5 секунд. just проверить. Вставить ник Quote
snark Posted November 1, 2012 Posted November 1, 2012 Ничего не надо там менять. Достаточно при сборке указать: --enable-mfd-rewrites Пруф (доп. чтиво): *5.4* ... Solaris, FreeBSD, OpenBSD: - Experimental support for 64bit interface counters (ifXTable). Enable via '--with-mib-modules=if-mib --enable-mfd-rewrites'. ... *5.2* ... Linux: - new experimental tables/rewrites for Linux, including: ifTable, ifXTable, inetCidrRouteTable, ipCidrRouteTable, ipAddressTable, ipSystemStatsTable, ipNetToPhysicalTable. - Enable these talbles by specifying --enable-mfd-rewrites to configure. Вставить ник Quote
st_re Posted November 1, 2012 Posted November 1, 2012 snark, без этой опции вообще нет счетчиков, у топик стартера счетчики есть. значит есть и опция сборки. Вставить ник Quote
snark Posted November 1, 2012 Posted November 1, 2012 без этой опции вообще нет счетчиков Есть ;) Но 32-х битные. Интересно, в кактусе у ТС какие графики рисуются? Правда при простом "In/Out Bits" не было бы гигабита. Вставить ник Quote
st_re Posted November 1, 2012 Posted November 1, 2012 без этой опции вообще нет счетчиков Есть ;) Но 32-х битные. Эээ.. знаете, был у меня какойто 3ком, у которого были 64 счетчики... только отдавали они 0 ВСЕГДА. Я бы считал что их нет, если там чтото отличное от 64 битных счетчиков пролезших через интерфейс байтов :) Вставить ник Quote
lacost Posted November 2, 2012 Author Posted November 2, 2012 Я уже писал, что пытались сказать snmp чтобы забирал с интерфейса данные раз в 10 секунд snmpset -v2c -c monitoring 192.168.25.19 1.3.6.1.4.1.8072.1.5.3.1.2.1.3.6.1.2.1.2.2 i 10 Видим что значение изменилось, но данные по трафу - не верные. Забирает так же раз в 30 секунд. Какти здесь ни при чем. Неверная цифра идет уже с snmpd. Пересобирать пока не пробовали. Вставить ник Quote
snark Posted November 2, 2012 Posted November 2, 2012 пытались сказать snmp чтобы забирал с интерфейса данные раз в 10 секунд Период снятия инфы на размерность счетчиков не влияет. Попробуйте пересобрать и пособирать данные в штатном режиме - посмотрим чего получится. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.