Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#291 closed баг (это не баг)

Не опрашивается состояние портов E1 платы GE-108

Reported by: alexkuh Owned by: alx
Priority: средний Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description

Тикет создан alx по жалобе в ticket:290#comment:5.

... на GE-108 выдает ошибки:

Cannot evaluate expression: "Cannot evaluate function "ADS101:MC04.GE-108.snmp.13.16.1.0[12].last()": item is not supported.".

Change History (13)

comment:1 by alx, 7 years ago

Для выяснения причины в веб-интерфейсе Zabbix зайдите, пожалуйста, в "Настройка" -> "Узлы сети", найдите в списке узел, где наблюдается проблема, в его строке кликните "Элементы данных", найдите элемент данных с ключом MC04.GE-108.snmp.13.16.1.0[12]. В колонке "Инфо" должна быть информация о том, почему не поддерживается элемент. Сообщите, пожалуйста, что там написано.

comment:2 by alexkuh, 7 years ago

Там написано: unsupported key

in reply to:  2 comment:3 by alx, 7 years ago

Replying to alexkuh:

Там написано: unsupported key

Спасибо. Проделайте, пожалуйста, еще один эксперимент.

  1. Откройте веб-интерфейс блока MC04-DSL-3U и авторизуйтесь.
  2. Убедитесь, что в списке плат в слоте 12 отображается плата GE-108.
  3. В адресной строке браузера введите такой URL: http://<адрес-блока>/api.php?json={"cmd":"snmpget","varlist":[".4.12.13.16.1.0"]} и сообщите, что ответит блок.

comment:4 by alexkuh, 7 years ago

{"cmd":"snmpget","result":{".4.12.13.16.1.0":{"oid":".4.12.13.16.1.0","status":"OK","value":0}}}

in reply to:  4 comment:5 by alx, 7 years ago

Replying to alexkuh:

{"cmd":"snmpget","result":{".4.12.13.16.1.0":{"oid":".4.12.13.16.1.0","status":"OK","value":0}}}

Очень интересно. Я озадачен...

Верно ли я понял, что состояние остальных портов мониторится нормально, только 16-й не работает?

comment:6 by alexkuh, 7 years ago

Все порты не работают.

comment:7 by alx, 7 years ago

У меня появилось одно подозрение. Проделайте, пожалуйста, тот же эксперимент, о котором я просил в comment:3, но на этот раз вместо http://<адрес-блока>/api.php?json={"cmd":"snmpget","varlist":[".4.12.13.16.1.0"]} дайте такой запрос:

http://<адрес-блока>/api.php?json={"cmd":"snmpget","varlist":[".4.12.2.0"]}

Ответ сервера в точности скопируйте сюда.

comment:8 by alexkuh, 7 years ago

{"cmd":"snmpget","result":{".4.12.2.0":{"oid":".4.12.2.0","status":"OK","value":"GE108"}}}

in reply to:  8 comment:9 by alx, 7 years ago

Replying to alexkuh:

{"cmd":"snmpget","result":{".4.12.2.0":{"oid":".4.12.2.0","status":"OK","value":"GE108"}}}

Спасибо, причина проблемы найдена.

Как Вы, вероятно, уже знаете из статьи ZabbixAgent, имена ключей, которые запрашиваются сервером у агента, начинаются с "MC04.", после чего следует имя платы, в нашем случае это "GE-108". Однако ваша плата GE-108 передает свое имя с ошибкой - "GE108" вместо "GE-108", то есть в имени пропущен символ '-'! По идее, Вы должны это видеть в веб-интерфейсе в столбце "Тип платы" списка плат (в comment:3 я еще просил Вас убедиться, что там "GE-108", но Вы, видимо, не обратили внимание на отсутствие черточки).

В результате этой ошибки агент Zabbix, сравнивая имя платы в запрошенных у него ключах данных с именем платы, реально установленной в блоке, делает вывод, что в слоте 12 стоит не та плата, данные которой запрашивает сервер ("GE108" вместо "GE-108"), и возвращает серверу "unsupported key".

О выявленной проблеме я сообщу разработчикам платы GE-108, Вам же в качестве временной меры предлагаю во именах ключей элементов данных заменить "GE-108" на "GE108". Должно помочь...

Version 0, edited 7 years ago by alx (next)

comment:10 by alexkuh, 7 years ago

Замена имени помогла, все заработало.

comment:11 by alx, 7 years ago

Создан тикет mc-04:#141. Этот тикет закрываю.

comment:12 by alx, 7 years ago

Resolution: это не баг
Status: newclosed

comment:13 by alx, 7 years ago

Выпущено обновление прошивки платы GE-108. В прошивке ревизии 4 будет возвращаться правильное название платы.

Note: See TracTickets for help on using tickets.