net-snmp + counter64
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
net-snmp + counter64
Хотелось бы научить net-snmp отдавать загрузку интерфейсов через 64-битные счетчики, т.к. двно ушел за 128 Мбит...
Но вот проблема в том, что snmpwalk .... | grep Counter64 не показывет соответствующей ветки, хотя в стандартных мибах она есть.
Подскажите как это исправить?
Но вот проблема в том, что snmpwalk .... | grep Counter64 не показывет соответствующей ветки, хотя в стандартных мибах она есть.
Подскажите как это исправить?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Re: net-snmp + counter64
Обновиться?
Может быть их не snmpwalk у вас не показывает, а их просто нет? Для уверенности можете пройтись каким-нибудь другим инструментом, можно даже из более других ОС.
Код: Выделить всё
%snmpwalk -v 2c -c community 192.168.1.1 | grep Counter64 | less
IF-MIB::ifHCInOctets.1 = Counter64: 6079328443
IF-MIB::ifHCInOctets.100 = Counter64: 7890
IF-MIB::ifHCInOctets.106 = Counter64: 13669084
IF-MIB::ifHCInOctets.107 = Counter64: 17745479
IF-MIB::ifHCInOctets.115 = Counter64: 337254268
Код: Выделить всё
snmpwalk -V
NET-SNMP version: 5.4.1.2
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Вот, что у меня
А как их туда добавить?
Код: Выделить всё
snmpwalk -v2c -c community 192.168.1.1 | grep Counter64 | less
HOST-RESOURCES-MIB::hrSWRunParameters.51687 = STRING: "Counter64"
Код: Выделить всё
snmpwalk -V
NET-SNMP version: 5.4.1.2
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: net-snmp + counter64
а вы уверены, что ваше оборудование поддерживает ifXTable ?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Стоят интеловские гигабиты, при этом под linux'ом отдает эти параметры по дефолту
Код: Выделить всё
pciconf -lv
em0@pci0:13:0:0: class=0x020000 card=0x108c15d9 chip=0x108c8086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '82573E Intel Corporation 82573E Gigabit Ethernet Controller (Copper)'
class = network
subclass = ethernet
em1@pci0:15:0:0: class=0x020000 card=0x109a15d9 chip=0x109a8086 rev=0x00 hdr=0x00
vendor = 'Intel Corporation'
device = '82573L Intel PRO/1000 PL Network Adaptor'
class = network
subclass = ethernet
-
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Re: net-snmp + counter64
Если бы hizel, про IfXTable не заговорил, так бы и не вспомнил. Дело в том, что в freebsd поддержка counter64 для интерфейсов появилась только с версией net-snmp 5.4 и по-умолчанию выключена. Пересоберите порт так:
Код: Выделить всё
make WITH_MFD_REWRITES=yes install clean
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Спасибо. Прямо на крыльях полетел пересобирать, НО аналогично
Нашел данную информацию в источнике
Пересобрал и так, даже при конфигурации пакета видно, что включает ifXTable, но пока тщетно...
Нашел данную информацию в источнике
Код: Выделить всё
- Experimental support for 64bit interface counters (ifXTable). Enable
via '--with-mib-modules=if-mib --enable-mfd-rewrites'.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
На всякий случай опишу последовательность действий
Код: Выделить всё
cd /usr/ports/net-mgtm/net-snmp
make extract
cd work/net-snmp-5.4.1.2/
./configure --enable-mfd-rewrites
cd ../..
make install clean
-
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Re: net-snmp + counter64
Читайте внимательно, написал же, как правильно порт собрать, зачем из исходников сами собирать стали??
ЗЫ и всё равно из исходников собрали не правильно, нужно было так:
Код: Выделить всё
# cd /usr/ports/net-mgmt/net-snmp
# make WITH_MFD_REWRITES=yes install clean
# rehash
# snmpconf -g basic_setup
# echo snmpd_enable=\"YES\" >> /etc/rc.conf
# echo snmpd_conffile=\"/usr/local/etc/snmpd.conf\" >> /etc/rc.conf
# /usr/local/etc/rc.d/snmpd start
# snmpwalk -v 2c -c public 127.0.0.1 | grep Counter64 | head
HOST-RESOURCES-MIB::hrSWRunParameters.48988 = STRING: "Counter64"
IF-MIB::ifHCInOctets.1 = Counter64: 0
IF-MIB::ifHCInOctets.2 = Counter64: 2964709627
IF-MIB::ifHCInOctets.3 = Counter64: 0
IF-MIB::ifHCInOctets.4 = Counter64: 137152345
IF-MIB::ifHCInOctets.5 = Counter64: 211284803
IF-MIB::ifHCInOctets.6 = Counter64: 17468966
IF-MIB::ifHCInUcastPkts.1 = Counter64: 0
IF-MIB::ifHCInUcastPkts.2 = Counter64: 12456584
IF-MIB::ifHCInUcastPkts.3 = Counter64: 0
# uname -a
#7.0-RELEASE-p4
# snmpwalk -V
NET-SNMP version: 5.4.1.2
Код: Выделить всё
./configure --enable-mfd-rewrites --with-mib-modules=if-mib
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Сделал все 1 в 1
Код: Выделить всё
snmpwalk -V
NET-SNMP version: 5.4.1.2
uname -a
FreeBSD 7.1-PRERELEASE
snmpwalk -v 2c -c public 127.0.0.1 | grep Counter64
HOST-RESOURCES-MIB::hrSWRunParameters.41918 = STRING: "Counter64"
-
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Re: net-snmp + counter64
Ну тогда у меня варианты исчерпаны. Если собрать так и не получится и сильно нужно, возьмите собранный с поддержкой Counter64 пакет: http://slil.ru/26307281
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Нашел такую переписку по данному вопросу. Желающие могут прочитать полностью здесь http://lists.freebsd.org/pipermail/free ... 19748.html
Код: Выделить всё
> I've just found that ports/net-snmp (version 5.4) built
> WITH_MFD_REWRITES=yes supports IF-MIB, and in theory should show 64-bit
> ifHC* counters but it does not.
>
> It seems agent/mibgroup/if-mib/data_access/interface_sysctl.c that obtains
> interface statistics from the kernel.
> The function netsnmp_arch_interface_container_load() has the following code:
>
> /* get counters */
> entry->stats.ibytes.low = ifp->ifm_data.ifi_ibytes;
> entry->stats.ibytes.high = 0;
> entry->stats.iucast.low = ifp->ifm_data.ifi_ipackets;
> entry->stats.iucast.high = 0;
> entry->stats.imcast.low = ifp->ifm_data.ifi_imcasts;
> entry->stats.imcast.high = 0;
>
> So, it always produce 32-bit quantities. My question is:
> does FreeBSD/i386 kernel maintain 64-bit counters for interface statictics
> these days? If yes, since what version?
It does not, because not all architectures have atomic 64-bit increments
and adds. Implementing 64-bit counters on these architectures would
require some kind of locking. This was discussed in the past.
You might look at the IF-MIB implementation of bsnmp (it is in the base
system). It uses periodic polling to detect wraps of the 32-bit
counters. The poll interval is tuned to the fastest interface in the
system (given that all interfaces reported the correct speed).
Note, that the netsnmp implementation is plain wrong - if the daemon
does not support the HC counters it should never pretend to do. This is
explicitely stated somewhere in the RFCs.
The problem is not the CPU horsepower. The problem is that you update
these counters on each incoming packet. No problem for desktops, but if
you want to route several 100kps this may hurt. I have no idea, how IPFW
does it. Perhaps it just declares the variables as 64-bit and if the
value is wrong because of a race condition, then it is just wrong. With
SNMP I would not like to have wrong counters - people use these counters
for accounting purposes.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Спасибо. Но не помогло.Yam писал(а):Ну тогда у меня варианты исчерпаны. Если собрать так и не получится и сильно нужно, возьмите собранный с поддержкой Counter64 пакет: http://slil.ru/26307281
А какой сетевой контроллер ты используешь?
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: net-snmp + counter64
хм попробовал у себя
/etc/make.conf
/usr/local/etc/snmp/snmpd.conf
/etc/rc.conf
сетевушка как видно, интеловская - гигабитная, две 
Код: Выделить всё
user@host /usr/local/etc/snmp >uname -a
FreeBSD serv4 6.2-RELEASE FreeBSD 6.2-RELEASE #1: Wed Nov 28 10:43:52 MSK 2007 user@host:/usr/obj/usr/src/sys/DIMI i386
Код: Выделить всё
user@host /usr/local/etc/snmp >pkg_info | grep net-snmp
net-snmp-5.4.1.2_2 An extendable SNMP implementation
Код: Выделить всё
.if ${.CURDIR} == ${PORTSDIR}/net-mgmt/net-snmp
WITH_MFD_REWRITES="YES"
.endif
Код: Выделить всё
rocommunity public 127.0.0.1
Код: Выделить всё
snmpd_enable="YES"
snmpd_conffile="/usr/local/etc/snmp/snmpd.conf"
Код: Выделить всё
user@host /usr/local/etc/snmp >snmpwalk -c public -v2c 127.0.0.1 ifXTable
IF-MIB::ifName.1 = STRING: em0
IF-MIB::ifName.2 = STRING: em1
IF-MIB::ifName.3 = STRING: lo0
IF-MIB::ifInMulticastPkts.1 = Counter32: 2413708
IF-MIB::ifInMulticastPkts.2 = Counter32: 78999635
IF-MIB::ifInMulticastPkts.3 = Counter32: 0
IF-MIB::ifInBroadcastPkts.1 = Counter32: 0
IF-MIB::ifInBroadcastPkts.2 = Counter32: 0
IF-MIB::ifInBroadcastPkts.3 = Counter32: 0
IF-MIB::ifOutMulticastPkts.1 = Counter32: 0
IF-MIB::ifOutMulticastPkts.2 = Counter32: 0
IF-MIB::ifOutMulticastPkts.3 = Counter32: 0
IF-MIB::ifOutBroadcastPkts.1 = Counter32: 0
IF-MIB::ifOutBroadcastPkts.2 = Counter32: 0
IF-MIB::ifOutBroadcastPkts.3 = Counter32: 0
IF-MIB::ifHCInOctets.1 = Counter64: 2429162666
IF-MIB::ifHCInOctets.2 = Counter64: 516047978
IF-MIB::ifHCInOctets.3 = Counter64: 149866402
IF-MIB::ifHCInUcastPkts.1 = Counter64: 55229584
IF-MIB::ifHCInUcastPkts.2 = Counter64: 78999635
IF-MIB::ifHCInUcastPkts.3 = Counter64: 1314988
IF-MIB::ifHCInMulticastPkts.1 = Counter64: 2413708
IF-MIB::ifHCInMulticastPkts.2 = Counter64: 78999635
IF-MIB::ifHCInMulticastPkts.3 = Counter64: 0
IF-MIB::ifHCInBroadcastPkts.1 = Counter64: 0
IF-MIB::ifHCInBroadcastPkts.2 = Counter64: 0
IF-MIB::ifHCInBroadcastPkts.3 = Counter64: 0
IF-MIB::ifHCOutOctets.1 = Counter64: 471056170
IF-MIB::ifHCOutOctets.2 = Counter64: 0
IF-MIB::ifHCOutOctets.3 = Counter64: 149866402
IF-MIB::ifHCOutUcastPkts.1 = Counter64: 49710977
IF-MIB::ifHCOutUcastPkts.2 = Counter64: 0
IF-MIB::ifHCOutUcastPkts.3 = Counter64: 1314988
IF-MIB::ifHCOutMulticastPkts.1 = Counter64: 0
IF-MIB::ifHCOutMulticastPkts.2 = Counter64: 0
IF-MIB::ifHCOutMulticastPkts.3 = Counter64: 0
IF-MIB::ifHCOutBroadcastPkts.1 = Counter64: 0
IF-MIB::ifHCOutBroadcastPkts.2 = Counter64: 0
IF-MIB::ifHCOutBroadcastPkts.3 = Counter64: 0
IF-MIB::ifHighSpeed.1 = Gauge32: 1000
IF-MIB::ifHighSpeed.2 = Gauge32: 1000
IF-MIB::ifHighSpeed.3 = Gauge32: 0
IF-MIB::ifPromiscuousMode.1 = INTEGER: true(1)
IF-MIB::ifPromiscuousMode.2 = INTEGER: false(2)
IF-MIB::ifPromiscuousMode.3 = INTEGER: false(2)
IF-MIB::ifConnectorPresent.1 = INTEGER: true(1)
IF-MIB::ifConnectorPresent.2 = INTEGER: true(1)
IF-MIB::ifConnectorPresent.3 = INTEGER: true(1)
IF-MIB::ifAlias.1 = STRING:
IF-MIB::ifAlias.2 = STRING:
IF-MIB::ifAlias.3 = STRING:
IF-MIB::ifCounterDiscontinuityTime.1 = Timeticks: (0) 0:00:00.00
IF-MIB::ifCounterDiscontinuityTime.2 = Timeticks: (0) 0:00:00.00
IF-MIB::ifCounterDiscontinuityTime.3 = Timeticks: (0) 0:00:00.00

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Теперь я вообще запутался. В той переписке я вижу такую же проблему как и у себя и при этом говорят, что поддержки счетчиков НЕТ, но у всех кроме меня они ЕСТЬ.
А можно посмотреть на кусок кода у вас, который указан в переписке?
А можно посмотреть на кусок кода у вас, который указан в переписке?
-
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Re: net-snmp + counter64
Мне кажется вы путаете тёплое с мягким. К вашей проблеме это отношения имеет косвенное. Речь в переписке идет о том, что для заполнения 64-разрядных счетчиков SNMP используются 32-разрядные счетчики ядра. Т.е. не смотря на то, что значение мы считывали бы с IF-MIB::ifHCInOctets.1 = Counter64, получали бы всё равно величину ограниченную 32-разрядами, которая переходила бы в ноль, по достижении 4294967295, вместо того что бы рости дальше. Т.е. по видимому, вне зависимости от того, работали бы они у вас или нет, смысл в их использовании отпадает. Но это не объясняет причину по которой у вас их нет.
Какие конкретно прямо сейчас посмотреть не могу, да и к железу этот вопрос отношения скорей всего не имеет, на машине откуда приведены счетчики два интерфейса fxp (100mbit) и msk (1000Mbit) и несколько vlan.sibdoma писал(а):А какой сетевой контроллер ты используешь?
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Исправляю сообщение...
УРАААА собрал в очередной раз - счетчики появились. Пока выясняю, что я делал в прошлый раз по другому
УРАААА собрал в очередной раз - счетчики появились. Пока выясняю, что я делал в прошлый раз по другому
-
- рядовой
- Сообщения: 20
- Зарегистрирован: 2008-11-05 18:15:12
Re: net-snmp + counter64
Завелось и на исходной тачке. Может ли быть проблема в параметрах запуска snmp? Запускал не через /usr/local/etc/rc.d/snmpd start, а просто демон snmpd. Разница только в этом...
Подвожу резюме
Все огромное СПАСИБО за помощь. Я уже уже планировал плюнуть и снимать только со свитча. Ключевой момент именно в.
Подвожу резюме
Все огромное СПАСИБО за помощь. Я уже уже планировал плюнуть и снимать только со свитча. Ключевой момент именно в
Код: Выделить всё
make WITH_MFD_REWRITES=yes install clean
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: net-snmp + counter64
я бы рекомендовал засунуть в make.conf соответствующие строчки
чтобы при обновление не сломалось
чтобы при обновление не сломалось

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: net-snmp + counter64
[offtop]
вернул бы ты аватрку....
на эту без слёз не взглянешь...
[/offtop]
вернул бы ты аватрку....
на эту без слёз не взглянешь...
[/offtop]
Убей их всех! Бог потом рассортирует...
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: net-snmp + counter64
Код: Выделить всё
user@host ~ >snmpget -c public -v2c 127.0.0.1 ifHCOutOctets.3
IF-MIB::ifHCOutOctets.3 = Counter64: 12110274775

Последний раз редактировалось hizel 2008-11-07 21:10:55, всего редактировалось 1 раз.
Причина: *переполняются
Причина: *переполняются
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.