LINUX.ORG.RU
решено ФорумAdmin

Мониторинг FC-свичей по SNMP


0

1

Столкнулся тут с маразмом - в стандартном SNMP MIB по FC счетчики траффика на портах имеют формат Counter32, т.е. обнуляются при достижении 4Гб с копейками.

Причем этот MIB у меня как на цыскиных свичах, так и на кулоджиках, все едино.

В итоге получается что при загрузке 8Гбит порта на 100% (около 800Мбайт в сек) этот счетчик обнуляется раз в 5-6 секунд и заббикс, считывая его реже показывает совершенно левые скорости.

Какие могут быть варианты снять реальную скорость? Поллить порты раз в 1-2 секунды что-то желания особого нет... :)

Через CLI свича я могу смотреть скорость без проблем, т.е. сам он меряет нормально. Но по SNMP скорость отдельно, судя по всему, не отдает.

poll делай скриптом (хоть раз в 2 секунды), заббиксу отдавай средний результат. м?

nbw ★★★
()
Ответ на: комментарий от blind_oracle

Может, но это его грузить будет дополнительно. Но скрипт - костылик, да.

nbw ★★★
()
Ответ на: комментарий от blind_oracle

Если заббикс будет поллить раз в секунду, это лишняя ненужная нагрузка на базу zabbix, и будет бессмысленно увеличивать её объём. Можно воспользоваться чем-то промежуточным, костыль, но работать будет.

И напиши в цисковский суппорт, что их MIB'ы кривые, нехай чинят.

selivan ★★★
()

Один из вариатнов: использовать не 1 или 2с версию snmp, а 3-ю! Тогда и некоторые Сounter64 стать смогут.

beastie ★★★★★
()

Насколько я знаю все циски держат IF-MIB, в котором есть 64-х битные счетчики. Пробовали например такой OID - 1.3.6.1.2.1.31.1.1.1.6 («The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets.»)?

http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=1.3.6.1.2.1.3...

gfh ★★★
()
Ответ на: комментарий от gfh

Это миб для езернет интерфейсов, он 64 битный, да. А для FC интерфейсов отдельный миб - 32 битный..

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от frob

Вот нашел какой-то, но там счетчики выводятся в HEX-формате

# snmpwalk -v 2c -c xxx 10.1.0.70 1.3.6.1.3.94.4.5.1.5
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.1 = Hex-STRING: 00 00 00 00 6C 67 84 65 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.2 = Hex-STRING: 00 00 00 00 2B 1B 31 F2 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.3 = Hex-STRING: 00 00 00 00 00 00 00 00 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.4 = Hex-STRING: 00 00 00 00 00 00 00 00 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.5 = Hex-STRING: 00 00 00 00 00 00 00 00 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.6 = Hex-STRING: 00 00 00 00 00 00 00 00 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.7 = Hex-STRING: 00 00 00 00 00 00 00 00 
iso.3.6.1.3.94.4.5.1.5.16.0.0.192.221.48.218.113.0.0.0.0.0.0.0.0.8 = Hex-STRING: 00 00 00 00 00 00 00 00 
И они 64-битные. Сейчас попробую сможет ли заббикс их конвертировать, HEX-типы он поддерживает.

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Всё, всем спасибо, через шестнадцатиричные счетчики всё хорошо считалось.

blind_oracle ★★★★★
() автор топика

Еще чуть чуть и откроешь для себя ifXTable вместо ifTable. Что за мода, кстати, дергать snmp черз oid? Нравится цифры через точечки вводить?

hizel ★★★★★
()
Ответ на: комментарий от hizel

Это к чему высер-то? Причем тут ifXTable, если речь идет о fcFxPortC3AccountingTable?

Я для себя вчера открыл копипаст и уже не ввожу цыферки через точечки есличо.

Мне гораздо проще так, чем какой-то инородный MIB добавлять в систему и зависеть от него. А так у меня всё в БД заббикса, так что не надо считать свое мнение единственно правильным.

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Ничего кроме того, что вендорную хексовину распарсивать веселее чем взять стандартный counter64.

hizel ★★★★★
()
Ответ на: комментарий от hizel

Нету станартного counter64, если ты до сих пор не понял. Это Fibre Channel, а не езернет.

В таблицах ifXtable у этого славного свича только две записи - lo и eth0

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

И хексовина не вендорная, а вполне себе обычная. Заббикс ее скушал и перевел в десятичный человеческий вид безо всяких проблем, просто тип данных я ему с decimal на hexadecimal.

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

Мне гораздо проще так, чем какой-то инородный MIB добавлять в систему и зависеть от него. А так у меня всё в БД заббикса, так что не надо считать свое мнение единственно правильным.

Аналогично. Лучше работать с цифрами чем с mib'ами возиться.

gfh ★★★
()
Ответ на: комментарий от hizel

Оно из RFC такое? Пичаль. А расширять дополнительными атрибутами, не теряя совместимости с RFC, можно?
Ну и как вариант с костылями:

ssh operator@switch -i /somewhere/id_rsa <<EOF


show <че-то там>
EOF | while read i; do val=$(echo $i | grep <blablabla>); done

zabbix_sender -k sw.eth10.traffic -o $val

selivan ★★★
()
Ответ на: комментарий от blind_oracle

Нарывался на это именно в такой ситуации (счётчики переполнялись за секунду). Не помню правда, какой это был свитч, но у него были разный mib'ы в зависимости от версии используемого snmp протокола. В 3-й были 64-битные счётчики, в 1-й и 2-й — только 32.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от selivan

Да, в RFC2837 от FC Alliance действительно 32-битные счетчики.

  fcFxPortC3InOctets OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of Class 3 frame octets, including the frame
          delimiters, received by this FxPort from its attached
          NxPort."
  ::= { fcFxPortC3AccountingEntry 3 }
(c) http://tools.ietf.org/html/rfc2837#page-33

Но хорошо что костыль не понадобился - добрые дяди не ограничились одним лишь RFC :)

blind_oracle ★★★★★
() автор топика
Ответ на: комментарий от beastie

К сожалению тут те же яйца, только в профиль:

# snmpwalk -v 3 -u zabbixxx -a SHA -A xxx -x DES -X xxx -l authPriv 10.1.0.70 1.3.6.1.2.1.75.1.4.3.1.3
iso.3.6.1.2.1.75.1.4.3.1.3.1.1 = Counter32: 1460865088
iso.3.6.1.2.1.75.1.4.3.1.3.1.2 = Counter32: 3383568856
iso.3.6.1.2.1.75.1.4.3.1.3.1.3 = Counter32: 0
iso.3.6.1.2.1.75.1.4.3.1.3.1.4 = Counter32: 0
iso.3.6.1.2.1.75.1.4.3.1.3.1.5 = Counter32: 0
iso.3.6.1.2.1.75.1.4.3.1.3.1.6 = Counter32: 0
iso.3.6.1.2.1.75.1.4.3.1.3.1.7 = Counter32: 0
iso.3.6.1.2.1.75.1.4.3.1.3.1.8 = Counter32: 0
Тот же Counter32

blind_oracle ★★★★★
() автор топика
Последнее исправление: blind_oracle (всего исправлений: 1)
Ответ на: комментарий от beastie

Да я уже писал неоднократно, что мибы от езернета сюда не подходят. ifHCInOctets есть, но там:

# snmpwalk -v 2c -c xxxx 10.1.0.70 1.3.6.1.2.1.31.1.1.1.1
iso.3.6.1.2.1.31.1.1.1.1.1 = STRING: "eth0"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "lo"

blind_oracle ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.