Добрый день!
Почему-то netxmsd не может получить по SNMP таблицу MAC-адресов с цисковских коммутаторов.
Ситуация такая:
Есть гетерогенная сеть, где присутствуют коммутаторы уровня доступа от разных производителей: Cisco, Nortel, HP. При добавлении нового коммутатора указываю в его свойствах SNMP community, отключаю использование nxagentd и делаю сначала status poll, потом configuration poll и topology poll.
При этом нормально происходит определение имён интерфейсов, списка VLANов, CDP-соседей, но таблица МАС-адресов с коммутатора, судя по всему, не импортируется. В итоге, если сделать поиск устройства (по МАС или IP-адресу), подключенного в цисковский каталист, то в результате получаем "indirectly connected" где-нибудь на нортеловском коммутаторе.
При этом для коммутаторов Nortel (baystack 470) и HP (A5120-48G EI) всё работает хорошо.
Цисковские коммутаторы - C2960G-48TC-L, IOS - 15.0(1)SE1.
Netxms - версии 1.2.4, скомпилирован под FreeBSD 8.3 amd64:
FreeBSD 8.3-RELEASE-p3 #0: Tue Jun 12 00:39:29 UTC 2012
[email protected]:/usr/obj/usr/src/sys/GENERIC amd64
Подскажите, пожалуйста, в какую сторону копать...
Пришлите пожалуйста результат SNMP WALK для следующих объектов:
.1.3.6.1.2.1.17.1.4.1.2
.1.3.6.1.2.1.17.7.1.2.2.1.2
.1.3.6.1.2.1.17.4.3.1.1
Quote from: Victor Kirhenshtein on December 03, 2012, 12:57:05 PM
Пришлите пожалуйста результат SNMP WALK для следующих объектов:
.1.3.6.1.2.1.17.1.4.1.2
.1.3.6.1.2.1.17.7.1.2.2.1.2
.1.3.6.1.2.1.17.4.3.1.1
Нет объектов с такими OID'ами, говорит:
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXXX 192.168.255.196 .1.3.6.1.2.1.17.1.4.1.2
SNMPv2-SMI::mib-2.17.1.4.1.2 = No Such Instance currently exists at this OID
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXXX 192.168.255.196 .1.3.6.1.2.1.17.7.1.2.2.1.2
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2 = No Such Object available on this agent at this OID
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXXX 192.168.255.196 .1.3.6.1.2.1.17.4.3.1.1
SNMPv2-SMI::mib-2.17.4.3.1.1 = No Such Instance currently exists at this OID
Доступ по SNMP с сервера к коммутаторам точно есть, snmpwalk по другим OID'ам отрабатывает.
Нашел такое примечание на сайте Cisco (http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_55_se/configuration/guide/swmibs.html (http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_55_se/configuration/guide/swmibs.html)):
The BRIDGE-MIB supports the context of a single VLAN. By default, SNMP messages using the configured community string always provide information for VLAN 1. To obtain the BRIDGE-MIB information for other VLANs, for example VLAN x, use this community string in the SNMP message: configured community string @x.
Если у вас не VLAN 1, поробуйте community@vlan в SNMP WALK.
Quote from: Victor Kirhenshtein on December 04, 2012, 06:46:39 PM
Нашел такое примечание на сайте Cisco (http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_55_se/configuration/guide/swmibs.html (http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_55_se/configuration/guide/swmibs.html)):
The BRIDGE-MIB supports the context of a single VLAN. By default, SNMP messages using the configured community string always provide information for VLAN 1. To obtain the BRIDGE-MIB information for other VLANs, for example VLAN x, use this community string in the SNMP message: configured community string @x.
Если у вас не VLAN 1, поgробуйте community@vlan в SNMP WALK.
Да, спасибо за ссылку - так snmpwalk отрабатывает по двум OID'ам, по крайней мере (VLAN'ов там куча, действительно, вот вывод для 153-го):
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXX@153 192.168.255.196 .1.3.6.1.2.1.17.1.4.1.2
SNMPv2-SMI::mib-2.17.1.4.1.2.1 = INTEGER: 10101
SNMPv2-SMI::mib-2.17.1.4.1.2.4 = INTEGER: 10104
SNMPv2-SMI::mib-2.17.1.4.1.2.5 = INTEGER: 10105
SNMPv2-SMI::mib-2.17.1.4.1.2.6 = INTEGER: 10106
SNMPv2-SMI::mib-2.17.1.4.1.2.7 = INTEGER: 10107
SNMPv2-SMI::mib-2.17.1.4.1.2.9 = INTEGER: 10109
SNMPv2-SMI::mib-2.17.1.4.1.2.10 = INTEGER: 10110
SNMPv2-SMI::mib-2.17.1.4.1.2.11 = INTEGER: 10111
SNMPv2-SMI::mib-2.17.1.4.1.2.12 = INTEGER: 10112
SNMPv2-SMI::mib-2.17.1.4.1.2.15 = INTEGER: 10115
SNMPv2-SMI::mib-2.17.1.4.1.2.16 = INTEGER: 10116
SNMPv2-SMI::mib-2.17.1.4.1.2.17 = INTEGER: 10117
SNMPv2-SMI::mib-2.17.1.4.1.2.18 = INTEGER: 10118
SNMPv2-SMI::mib-2.17.1.4.1.2.19 = INTEGER: 10119
SNMPv2-SMI::mib-2.17.1.4.1.2.20 = INTEGER: 10120
SNMPv2-SMI::mib-2.17.1.4.1.2.23 = INTEGER: 10123
SNMPv2-SMI::mib-2.17.1.4.1.2.24 = INTEGER: 10124
SNMPv2-SMI::mib-2.17.1.4.1.2.25 = INTEGER: 10125
SNMPv2-SMI::mib-2.17.1.4.1.2.27 = INTEGER: 10127
SNMPv2-SMI::mib-2.17.1.4.1.2.29 = INTEGER: 10129
SNMPv2-SMI::mib-2.17.1.4.1.2.31 = INTEGER: 10131
SNMPv2-SMI::mib-2.17.1.4.1.2.32 = INTEGER: 10132
SNMPv2-SMI::mib-2.17.1.4.1.2.36 = INTEGER: 10136
SNMPv2-SMI::mib-2.17.1.4.1.2.38 = INTEGER: 10138
SNMPv2-SMI::mib-2.17.1.4.1.2.39 = INTEGER: 10139
SNMPv2-SMI::mib-2.17.1.4.1.2.40 = INTEGER: 10140
SNMPv2-SMI::mib-2.17.1.4.1.2.43 = INTEGER: 10143
SNMPv2-SMI::mib-2.17.1.4.1.2.44 = INTEGER: 10144
SNMPv2-SMI::mib-2.17.1.4.1.2.45 = INTEGER: 10145
SNMPv2-SMI::mib-2.17.1.4.1.2.48 = INTEGER: 10148
SNMPv2-SMI::mib-2.17.1.4.1.2.64 = INTEGER: 5001
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXX@153 192.168.255.196 .1.3.6.1.2.1.17.4.3.1.1
SNMPv2-SMI::mib-2.17.4.3.1.1.0.3.153.136.63.220 = Hex-STRING: 00 03 99 88 3F DC
SNMPv2-SMI::mib-2.17.4.3.1.1.0.4.118.224.203.144 = Hex-STRING: 00 04 76 E0 CB 90
SNMPv2-SMI::mib-2.17.4.3.1.1.0.21.93.0.126.126 = Hex-STRING: 00 15 5D 00 7E 7E
SNMPv2-SMI::mib-2.17.4.3.1.1.0.21.93.0.126.127 = Hex-STRING: 00 15 5D 00 7E 7F
SNMPv2-SMI::mib-2.17.4.3.1.1.0.21.199.54.244.192 = Hex-STRING: 00 15 C7 36 F4 C0
SNMPv2-SMI::mib-2.17.4.3.1.1.0.22.118.5.23.179 = Hex-STRING: 00 16 76 05 17 B3
SNMPv2-SMI::mib-2.17.4.3.1.1.0.24.254.125.160.80 = Hex-STRING: 00 18 FE 7D A0 50
SNMPv2-SMI::mib-2.17.4.3.1.1.0.28.192.149.94.187 = Hex-STRING: 00 1C C0 95 5E BB
SNMPv2-SMI::mib-2.17.4.3.1.1.0.28.196.216.212.22 = Hex-STRING: 00 1C C4 D8 D4 16
SNMPv2-SMI::mib-2.17.4.3.1.1.0.31.208.162.112.128 = Hex-STRING: 00 1F D0 A2 70 80
SNMPv2-SMI::mib-2.17.4.3.1.1.0.37.131.95.232.47 = Hex-STRING: 00 25 83 5F E8 2F
SNMPv2-SMI::mib-2.17.4.3.1.1.0.38.24.68.188.218 = Hex-STRING: 00 26 18 44 BC DA
SNMPv2-SMI::mib-2.17.4.3.1.1.0.64.140.133.235.155 = Hex-STRING: 00 40 8C 85 EB 9B
SNMPv2-SMI::mib-2.17.4.3.1.1.0.64.140.133.235.164 = Hex-STRING: 00 40 8C 85 EB A4
SNMPv2-SMI::mib-2.17.4.3.1.1.0.64.140.133.235.168 = Hex-STRING: 00 40 8C 85 EB A8
SNMPv2-SMI::mib-2.17.4.3.1.1.0.64.140.133.235.192 = Hex-STRING: 00 40 8C 85 EB C0
SNMPv2-SMI::mib-2.17.4.3.1.1.28.111.101.209.148.184 = Hex-STRING: 1C 6F 65 D1 94 B8
SNMPv2-SMI::mib-2.17.4.3.1.1.48.70.154.74.209.193 = STRING: "0F Jяа"
SNMPv2-SMI::mib-2.17.4.3.1.1.60.74.146.196.1.165 = Hex-STRING: 3C 4A 92 C4 01 A5
SNMPv2-SMI::mib-2.17.4.3.1.1.108.240.73.229.165.33 = STRING: "lПIЕ╔!"
SNMPv2-SMI::mib-2.17.4.3.1.1.120.227.181.251.75.101 = STRING: "xЦ╣ШKe"
SNMPv2-SMI::mib-2.17.4.3.1.1.132.201.178.118.133.153 = STRING: "└и╡v┘≥"
SNMPv2-SMI::mib-2.17.4.3.1.1.216.48.98.127.196.51 = Hex-STRING: D8 30 62 7F C4 33
SNMPv2-SMI::mib-2.17.4.3.1.1.240.180.121.1.69.66 = Hex-STRING: F0 B4 79 01 45 42
Для OID .1.3.6.1.2.1.17.7.1.2.2.1.2 всё равно - "no such object":
netxms# /usr/local/bin/snmpwalk -v 2c -c XXXXXXX@153 192.168.255.196 .1.3.6.1.2.1.17.7.1.2.2.1.2
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2 = No Such Object available on this agent at this OID
Похоже придется делать отдельный драйвер для 2960, который будет корректно обрабатывать эту ситуацию.
То, что нет информации под .1.3.6.1.2.1.17.7.1.2.2.1.2 - это нормально.
Понятно...
Если что-то потестировать нужно будет - буду рад оказаться полезен.
Самостоятельно я вряд ли смогу драйвер написать, увы.
Хотя, могу попробовать написать драйвер.
Правда, я почитал код - имеющиеся драйверы однотипны, и, насколько я понимаю, необходимость получать таблицу МАС-адресов "поVLANно" приведёт к необхдимости переписки и кода, отвественного за взаимодействие с драйвером?
С таблицами MAC адресов посложнее - сейчас есть только универсальный код. Его надо будет перенести в GENERIC драйвер, добавив новую точку входа, и тогда уже сделать новый для 2960, который будет правильно обрабатывать FDB для конкретной модели. Кстати, а какой драйвер сервер выбрал для 2960 (это видно на закладке Overview в панели Object Details)?
Сейчас сервер выбирает CATALYST-GENERIC, насколько я понимаю, это src/server/drivers/catalyst.
Не очень понял про generic-драйвер "вообще" (я новичок в NetXMS, простите), это в каком файле посмотреть можно?
GENERIC - это драйвер, который есть всегда. Его код встроен в libnxsrv: src/server/libnxsrv/ndd.cpp. Он используется как базовый класс для всех драйверов и как драйвер по умолчанию.
Quote from: Victor Kirhenshtein on December 10, 2012, 10:15:25 PM
GENERIC - это драйвер, который есть всегда. Его код встроен в libnxsrv: src/server/libnxsrv/ndd.cpp. Он используется как базовый класс для всех драйверов и как драйвер по умолчанию.
Посмотрел, подумал, но пожалуй ndd.cpp я не возьмусь переписывать нахрапом...
P.S. не по теме, но ещё с одной проблемой столкнулся сегодня: попытался добавить в список устройств коммутатор из состава blade-системы Fujitsu (Fujitsu PY CB Eth Switch 1Gb 36/8+2, Runtime Code 4.12, OS - VxWorks 6.5), отключил использование nxagent, указал SNMP-community. При попытке сделать configuration poll устройство пропало из списка, и на консоли непрерывно стали возникать сообщения "Access denied", хотя сервер доступ по SNMP к устройству получил (sysID определил). Драйвер при этом выбрал GENERIC. Пришлось базу фиксить с помощью nxdbmgr и вычищать все объекты, связанные с этим коммутатором...
Quote from: Victor Kirhenshtein on December 04, 2012, 09:48:11 PMПохоже придется делать отдельный драйвер для 2960, который будет корректно обрабатывать эту ситуацию.
Это похоже особенность не только 2960, но и остальных каталистов. По крайней мере 3750G, 3750 и 35xx ведут себя точно так же.
копнул проблему чуть глубже, вот что нарисовалось:
Cisco не возвращает в dot1dTpFdbTable FDB для всех VLAN'ов потому что это невозможно корректно сделать в принципе.
В dot1dTpFdbTable не предусмотрено отдельного поля для vlan'а к которому принадлежит mac-адрес, а т.к. в разных vlan'ах теоретически могут присутствовать различные устройства с одинаковыми физическими адресами, то FDB, построенная с игнорированием vlan'ов будет некорректна.
Те вендоры, которые выдают в dot1dTpFdbTable все mac-адреса, на самом деле поступают не очень здорово (хотя на первый взгляд это и удобно) (еще хуже то, что известны случаи подобных упрощений и обобщений в реальной, используемой при коммутации, FDB).
Ситуация совпадения mac'ов в мирное время крайне маловероятна, однако ж если кто-то решил в сети развлечься (или китайский рабочий накосячил) может иметь место быть.
В циске ситуацию разрулили snmp-контекстами. На свитче для каждого vlan'а определен контекст vlan-XXX (где XXX - vlanid), в случае использования snmp версий ниже 3 обращение к контексту происходит путем добавления @ и его номера к коммунити. т.е. чтобы получить все мак-адреса из 555 vlan'а необходимо
для snmpv3:
snmpwalk -v3 -n vlan-555 -u testuser 172.31.0.1 .1.3.6.1.2.1.17.4.3.1.1
для snmpv2:
snmpwalk -v2c -c testcommunity@555 172.31.0.1 .1.3.6.1.2.1.17.4.3.1.1
единственная претензия к цисковцам, что они не реализовали проприетарный аналог dot1dTpFdbTable, но с блекджеком со всей таблицей мак-адресов и полем под vlan.
ps:
хорошая новость: OID оказывается уже есть, причем не проприетарный. .1.3.6.1.2.1.17.4.3 dot1qTpFdbTable
плохая новость: циской не поддерживается.
Спасибо за детальный разбор! Сделал ишшую в баг трекере, чтобы не потерялось: https://www.radensolutions.com/chiliproject/issues/242 (https://www.radensolutions.com/chiliproject/issues/242). В 1.2.7 добавлю поддержку FDB по VLAN'ам.
Спасибо за внимание к проблеме!
Спасибо за детальный "разбор полётов"!
Quote from: Victor Kirhenshtein on February 27, 2013, 11:58:22 AM
В 1.2.7 добавлю поддержку FDB по VLAN'ам.
О, огромное спасибо! Это будет просто здорово... Если могу помочь с тестированием (есть c2960, c3650, c3750, c6509) - то с удовольствием.
Quote from: grimnir on March 07, 2013, 11:06:57 AM
О, огромное спасибо! Это будет просто здорово... Если могу помочь с тестированием (есть c2960, c3650, c3750, c6509) - то с удовольствием.
Я вроде как сделал, но тестировать мне не начем особо, так что было бы очень здорово. Я могу сделать сборку текущих исходников или билд для Windows, смотря что надо.
Quote from: Victor Kirhenshtein on March 07, 2013, 01:26:56 PM
Я вроде как сделал, но тестировать мне не начем особо, так что было бы очень здорово. Я могу сделать сборку текущих исходников или билд для Windows, смотря что надо.
У меня платформа - FreeBSD, я портирую каждую новую версию из исходников под неё. Так что если есть tarball с исходниками, как обычно Вы в релизах выкладываете, то не вопрос - прямо сегодня могу протестировать.
Выложил: https://www.netxms.org/download/rc/netxms-1.2.7-m2.tar.gz (https://www.netxms.org/download/rc/netxms-1.2.7-m2.tar.gz). Эта версия потребует апгрейд базы, так что надо будет делать копию на случай если потребуется вернутся обратно на 1.2.6.
Quote from: Victor Kirhenshtein on March 11, 2013, 09:09:46 PM
Выложил: https://www.netxms.org/download/rc/netxms-1.2.7-m2.tar.gz (https://www.netxms.org/download/rc/netxms-1.2.7-m2.tar.gz). Эта версия потребует апгрейд базы, так что надо будет делать копию на случай если потребуется вернутся обратно на 1.2.6.
Что-то с апгрейдом БД не заладилось:
12 11:03:47 netxms netxmsd[32102]: SQL query failed (Query = "UPDATE raw_dci_values SET raw_value=?,transformed_value=?,last_poll_time=? WHERE item_id=?"): Prepared statement needs to be re-prepared
Mar 12 11:03:47 netxms netxmsd[32102]: SQL query failed (Query = "SELECT id FROM interfaces WHERE id=?"): Prepared statement needs to be re-prepared
Mar 12 11:03:47 netxms netxmsd[32102]: SQL query failed (Query = "INSERT INTO interfaces (ip_addr,ip_netmask,node_id,if_type,if_index,mac_addr,flags,required_polls,bridge_port,phy_slot,phy_port,peer_node_id,
peer_if_id,description,admin_state,oper_state,dot1x_pae_state,dot1x_backend_state,id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"): Duplicate entry '5290' for key 'PRIMARY'
Похожая ситуация описана здесь: http://bugs.mysql.com/bug.php?id=42041 (http://bugs.mysql.com/bug.php?id=42041). В конце есть описание изменений в настройках MySQL, которые вроде как помогли:
Not sure if this helps, but we seemed to solve the issue on our servers by changing some db settings.
table_open_cache 128=>16384
table_definition_cache 1024=>16384
tmp_table_size 32M=>64M
join_buffer_size 256k=>512k
Quote from: Victor Kirhenshtein on March 12, 2013, 10:28:17 AM
Похожая ситуация описана здесь: http://bugs.mysql.com/bug.php?id=42041 (http://bugs.mysql.com/bug.php?id=42041). В конце есть описание изменений в настройках MySQL, которые вроде как помогли:
Нет, там что-то хитрее, nxdbmgr reindex вот что выдаёт:
NetXMS Database Manager Version 1.2.7-m2
Reindexing table raw_dci_values by (item_id)...
SQL query failed (Duplicate key name 'idx_raw_dci_values_item_id'):
ESC[33;1mCREATE INDEX idx_raw_dci_values_item_id ON raw_dci_values(item_id)ESC[0m
Reindexing table event_log by (event_timestamp)...
SQL query failed (Duplicate key name 'idx_event_log_event_timestamp'):
ESC[33;1mCREATE INDEX idx_event_log_event_timestamp ON event_log(event_timestamp)ESC[0m
Reindexing table thresholds by (item_id)...
SQL query failed (Duplicate key name 'idx_thresholds_item_id'):
ESC[33;1mCREATE INDEX idx_thresholds_item_id ON thresholds(item_id)ESC[0m
Reindexing table thresholds by (sequence_number)...
SQL query failed (Duplicate key name 'idx_thresholds_sequence'):
ESC[33;1mCREATE INDEX idx_thresholds_sequence ON thresholds(sequence_number)ESC[0m
Reindexing table alarm_notes by (alarm_id)...
SQL query failed (Duplicate key name 'idx_alarm_notes_alarm_id'):
ESC[33;1mCREATE INDEX idx_alarm_notes_alarm_id ON alarm_notes(alarm_id)ESC[0m
Reindexing table syslog by (msg_timestamp)...
SQL query failed (Duplicate key name 'idx_syslog_msg_timestamp'):
ESC[33;1mCREATE INDEX idx_syslog_msg_timestamp ON syslog(msg_timestamp)ESC[0m
Reindexing table snmp_trap_log by (trap_timestamp)...
SQL query failed (Duplicate key name 'idx_snmp_trap_log_trap_timestamp'):
ESC[33;1mCREATE INDEX idx_snmp_trap_log_trap_timestamp ON snmp_trap_log(trap_timestamp)ESC[0m
Reindexing table address_lists by (list_type)...
SQL query failed (Duplicate key name 'idx_address_lists_list_type'):
ESC[33;1mCREATE INDEX idx_address_lists_list_type ON address_lists(list_type)ESC[0m
Reindexing table idata_100
SQL query failed (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM idata_100' at line 1):
ESC[33;1mDROP INDEX idata_100 FROM idata_100ESC[0m
SQL query failed (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM idata_100' at line 1):
ESC[33;1mDROP INDEX idata_100 FROM idata_100ESC[0m
SQL query failed (Duplicate key name 'idx_idata_100_id_timestamp'):
ESC[33;1mCREATE INDEX idx_idata_100_id_timestamp ON idata_100(item_id,idata_timestamp)ESC[0m
Reindexing table idata_106
ну и т.д.
nxdbmgr reindex сам по себе один большой баг. Он был сделан очень давно для решения каких-то специфических проблем, и сейчас вроде как не нужен. Я пересмотрю этот код и решу что с ним делать. Пока лучше не использовать.
Quote from: Victor Kirhenshtein on March 12, 2013, 11:31:37 AM
nxdbmgr reindex сам по себе один большой баг. Он был сделан очень давно для решения каких-то специфических проблем, и сейчас вроде как не нужен. Я пересмотрю этот код и решу что с ним делать. Пока лучше не использовать.
ОК, понял, спасибо за преупреждение :-)
На данный момент сервер стартует без ошибок:
root@netxms:/var/log # nxdbmgr check
NetXMS Database Manager Version 1.2.7-m2
Checking database (excluding collected data):
* Checking zone objects... [PASSED]
* Checking node objects... [PASSED]
* Checking interface objects... [PASSED]
* Checking network service objects... [PASSED]
* Checking cluster objects... [PASSED]
* Checking template to node mapping... [PASSED]
* Checking object properties... [PASSED]
* Checking event processing policy... [PASSED]
Database doesn't contain any errors
Database check completed
root@netxms:/var/log # /usr/local/etc/rc.d/netxmsd start
Starting netxmsd.
NetXMS Database Manager Version 1.2.7-m2
Checking database (excluding collected data):
* Checking zone objects... [PASSED]
* Checking node objects... [PASSED]
* Checking interface objects... [PASSED]
* Checking network service objects... [PASSED]
* Checking cluster objects... [PASSED]
* Checking template to node mapping... [PASSED]
* Checking object properties... [PASSED]
* Checking event processing policy... [PASSED]
Database doesn't contain any errors
Database check completed
В логе тоже всё хорошо:
Mar 12 11:19:09 netxms nxagentd[47829]: NetXMS Agent started
Mar 12 11:19:46 netxms netxmsd[47818]: Listening for SNMP traps on UDP socket 0.0.0.0:162
Mar 12 11:19:46 netxms netxmsd[47818]: NetXMS Server started
Mar 12 11:19:46 netxms netxmsd[47818]: Listening for client connections on TCP socket 0.0.0.0:4701
Mar 12 11:19:46 netxms netxmsd[47818]: Listening for mobile device connections on TCP socket 0.0.0.0:4747
Mar 12 12:00:24 netxms netxmsd[48001]: Platform subagent "/usr/local/lib/libnsm_freebsd.so" successfully loaded
Mar 12 12:00:24 netxms netxmsd[48001]: Database driver "/usr/local/lib/libnxddr_mysql.so" loaded and initialized successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "BAYSTACK" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "CATALYST-2900XL" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "CATALYST-GENERIC" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "CISCO-ESW" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "DELL-PWC" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "DLINK" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "ERS8000" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "NETSCREEN" loaded successfully
Mar 12 12:00:24 netxms netxmsd[48001]: Network device driver "PROCURVE" loaded successfully
Mar 12 12:01:12 netxms netxmsd[48001]: Listening for SNMP traps on UDP socket 0.0.0.0:162
Mar 12 12:01:13 netxms netxmsd[48001]: NetXMS Server started
Mar 12 12:01:13 netxms netxmsd[48001]: Listening for mobile device connections on TCP socket 0.0.0.0:4747
Mar 12 12:01:13 netxms netxmsd[48001]: Listening for client connections on TCP socket 0.0.0.0:4701
Но, при этом, FDB с каталистов всё равно не получается...
Пытаюсь сделать Tools->Info->Switch forwarding database, ничего не выводится. То же самое для Baystack 470 успешно отображает таблицу МАСов.
FDB таблица из Object Tools - это конкретный SNMP OID. Здесь ничего не изменилось. Но есть FDB, которую знает сам сервер (она используется для построения топологии 2-го уровня) - там должна быть полная информация. Попробуйте функцию "Find switch port" для хостов в разных VLAN-ах - она должна работать корректно.
Й в следующем релизе заменю FDB из Object Tools на показ той таблицы, которую знает сервер.
Quote from: Victor Kirhenshtein on March 12, 2013, 09:47:13 PM
FDB таблица из Object Tools - это конкретный SNMP OID. Здесь ничего не изменилось. Но есть FDB, которую знает сам сервер (она используется для построения топологии 2-го уровня) - там должна быть полная информация. Попробуйте функцию "Find switch port" для хостов в разных VLAN-ах - она должна работать корректно.
Й в следующем релизе заменю FDB из Object Tools на показ той таблицы, которую знает сервер.
Не нашёл в меню "Find switch port", но, судя по всему, FDB с каталистов он не получает-таки: моя рабочая станция подключена напрямую в catalyst 2960, но ни через "Find IP address", ни через "Find MAC address" я себя не нахожу. Может, можно какой debug включить?
А вывод Poll->Topology при этом какой?
Quote from: glebofff on March 14, 2013, 07:44:34 AM
А вывод Poll->Topology при этом какой?
Хм, любопытно - говорит, что всё хорошо (тот же коммутатор, к которому я подключен; WS-C2960G-48TC-L, IOS 15.0(1)SE1):
[14.03.2013 06:33:36] **** Poll request sent to server ****
[14.03.2013 06:33:37] Poll request accepted
[14.03.2013 06:33:37] Starting topology poll for node STC-102
[14.03.2013 06:33:37] VLAN list successfully retrieved from node
[14.03.2013 06:33:41] Switch forwarding database retrieved
[14.03.2013 06:33:41] Updating peer information on interfaces
[14.03.2013 06:33:41] Link layer topology retrieved (1 connections found)
[14.03.2013 06:33:41] Finished topology poll for node STC-102
[14.03.2013 06:33:41] Local interface Gi0/48 (Uplink) linked to remote interface TC-112-5:Gi0/47 (Downlink to 406)
[14.03.2013 06:33:41] Link layer topology processed
[14.03.2013 06:33:41] **** Poll completed successfully ****
Я добавлю дополнительный дебаг и выложу новые исходники. Пока-что посмортите правильно ли VLAN'ы собрались с этого коммутатора.
Quote from: Victor Kirhenshtein on March 14, 2013, 09:36:44 AM
Я добавлю дополнительный дебаг и выложу новые исходники. Пока-что посмортите правильно ли VLAN'ы собрались с этого коммутатора.
По "Show VLANs" выдаёт ошибку:
Cannot get VLAN list from node: No context available outside of the request processing.
No context available outside of the request processing.
Ok, issue 242 (https://www.radensolutions.com/chiliproject/issues/242) вроде как решён:
[16-May-2013 09:26:19.303] Started topology poll for node ter_switch [508]
[16-May-2013 09:26:19.753] VLAN list retrieved from node ter_switch [508]
[16-May-2013 09:26:19.760] FDB: 0 entries read from dot1qTpFdbTable
[16-May-2013 09:26:19.762] FDB: 0 entries read from dot1dTpFdbTable
[16-May-2013 09:26:19.764] FDB: 0 entries read from dot1dTpFdbTable in context 1
[16-May-2013 09:26:19.808] FDB: 8 entries read from dot1dTpFdbTable in context 3
[16-May-2013 09:26:20.216] FDB: 82 entries read from dot1dTpFdbTable in context 10
[16-May-2013 09:26:20.316] FDB: 19 entries read from dot1dTpFdbTable in context 18
[16-May-2013 09:26:20.354] FDB: 6 entries read from dot1dTpFdbTable in context 20
[16-May-2013 09:26:20.360] FDB: 0 entries read from dot1dTpFdbTable in context 21
[16-May-2013 09:26:20.370] FDB: 0 entries read from dot1dTpFdbTable in context 22
[16-May-2013 09:26:20.376] FDB: 0 entries read from dot1dTpFdbTable in context 23
[16-May-2013 09:26:20.379] FDB: 0 entries read from dot1dTpFdbTable in context 1002
[16-May-2013 09:26:20.383] FDB: 0 entries read from dot1dTpFdbTable in context 1003
[16-May-2013 09:26:20.386] FDB: 0 entries read from dot1dTpFdbTable in context 1004
[16-May-2013 09:26:20.390] FDB: 0 entries read from dot1dTpFdbTable in context 1005
[16-May-2013 09:26:20.390] Switch forwarding database retrieved for node ter_switch [508]
В контекстном меню консоли Tools -> Info -> FDB - пустой вывод. Соответственно l2 topology рисует только cdp-соседей.
Те мак-адреса, что в первом влане - отображаются, и карта рисуется. Но так было и в 1.2.6.
Tools -> Info -> FDB в консоли показывает SNMP таблицу прямо с устройства, не FDB собранную сервером по разным VLAN'ам, так что это не показатель. Я это переделаю к следующему релизу, чтобы можно было видеть, какую информацию сервер получил. Не рисуется именно карта, или поиск MAC адресов тоже не работает?
Quote from: Victor Kirhenshtein on May 23, 2013, 09:41:51 AM
Tools -> Info -> FDB в консоли показывает SNMP таблицу прямо с устройства, не FDB собранную сервером по разным VLAN'ам, так что это не показатель. Я это переделаю к следующему релизу, чтобы можно было видеть, какую информацию сервер получил. Не рисуется именно карта, или поиск MAC адресов тоже не работает?
Поиск мак-адресов дал в результате "indirectly connected" на d-link в том же влане. Когда железо в первом влане каталистов, всё ищется и рисуется прекрасно. А так - видно по логам, что вроде бы куда-то всё собирается, а куда - непонятно. :-)
Доброго времени суток!
Я так понимаю, что проблема осталась нерешённой (версия 1.2.8).
:(
Да, всё по-прежнему.