Получение таблицы MAC-адресов с Cisco
-
@victor said in Получение таблицы MAC-адресов с Cisco:
Выложил: 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. В конце есть описание изменений в настройках 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 -
@victor said in Получение таблицы MAC-адресов с Cisco:
Похожая ситуация описана здесь: 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 сам по себе один большой баг. Он был сделан очень давно для решения каких-то специфических проблем, и сейчас вроде как не нужен. Я пересмотрю этот код и решу что с ним делать. Пока лучше не использовать.
-
@victor said in Получение таблицы MAC-адресов с Cisco:
nxdbmgr reindex сам по себе один большой баг. Он был сделан очень давно для решения каких-то специфических проблем, и сейчас вроде как не нужен. Я пересмотрю этот код и решу что с ним делать. Пока лучше не использовать.
ОК, понял, спасибо за преупреждение

На данный момент сервер стартует без ошибок:
root@netxms:/var/log # nxdbmgr check
NetXMS Database Manager Version 1.2.7-m2Checking 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-m2Checking 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 на показ той таблицы, которую знает сервер. -
@victor said in Получение таблицы MAC-адресов с Cisco:
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 включить?
-
-
@glebofff said in Получение таблицы MAC-адресов с Cisco:
А вывод 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'ы собрались с этого коммутатора.
-
@victor said in Получение таблицы MAC-адресов с Cisco:
Я добавлю дополнительный дебаг и выложу новые исходники. Пока-что посмортите правильно ли 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 вроде как решён:
[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 адресов тоже не работает?
-
@victor said in Получение таблицы MAC-адресов с Cisco:
Tools -> Info -> FDB в консоли показывает SNMP таблицу прямо с устройства, не FDB собранную сервером по разным VLAN'ам, так что это не показатель. Я это переделаю к следующему релизу, чтобы можно было видеть, какую информацию сервер получил. Не рисуется именно карта, или поиск MAC адресов тоже не работает?
Поиск мак-адресов дал в результате "indirectly connected" на d-link в том же влане. Когда железо в первом влане каталистов, всё ищется и рисуется прекрасно. А так - видно по логам, что вроде бы куда-то всё собирается, а куда - непонятно.

-
-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login