PTah
3292f77e5c
fix: отмена скана при исчерпании соединений Postgres
...
- Распознавание 53300/too many clients и др. в isStoreCapacityOrConnExhausted
- SaveHostResult/порты/SNMP: при фатальной ошибке БД — CancelScan; ctx отменяет дальнейший SNMP
- Воркеры при ctx.Done быстро скипают оставшиеся IP без SNMP (дренаж канала)
Made-with: Cursor
2026-04-13 15:41:16 +10:00
PTah
0086302605
fix: 503 при сбое GetScan вместо ложного 404 scan not found
...
- Store.GetScan возвращает (job, ok, error); Postgres отдаёт err при ошибке БД/JSON
- API: getScanOrWriteError → 503 scan storage temporarily unavailable
- Web UI: понятное сообщение для HTTP 503 при опросе скана
Made-with: Cursor
2026-04-13 15:38:04 +10:00
PTah
6ad59c9990
fix: ограничить пул Postgres и реже писать прогресс скана
...
- DB_MAX_OPEN_CONNS (25), DB_MAX_IDLE_CONNS (10), DB_CONN_MAX_LIFETIME_SEC (1800)
- Throttle UpdateScan прогресса в Runner (500ms), меньше одновременных запросов к БД
Устраняет FATAL too many clients при больших сканах и частом опросе GetScan
Made-with: Cursor
2026-04-13 15:33:25 +10:00
PTah
088be32ec5
feat: отмена скана на сервере, стабильнее scan_id, упрощённый UI
...
- Runner: context, POST /api/scans/{id}/cancel, частичный canceled; Start до ответа createScan
- API: scanPathID (PathUnescape), лог при 404; Postgres GetScan логирует ошибки чтения
- newScanID: суффикс 8 hex; тест обновлён
- Web UI: убраны строки scan_id/from-to; скрытое поле scanId; cancel при таймауте/новом скане
Made-with: Cursor
2026-04-13 15:26:23 +10:00
PTah
70fff4f0ea
fix(scan): two-phase progress + hosts_processed; clarify status at 99% SNMP tail
...
Made-with: Cursor
2026-04-13 13:53:46 +10:00
PTah
d85ec9ff61
feat: MAC lookup in scan FDB (API mac-locations, UI table, index)
...
Made-with: Cursor
2026-04-13 12:41:48 +10:00
PTah
886300b6c0
feat: VLAN in FDB, persist vlan, enrich port-devices with hostname, UI columns
...
Made-with: Cursor
2026-04-13 12:38:05 +10:00
PTah
936cc6b9bb
fix(snmp,db): save FDB to PG (empty inet null), bridge_port + MAC normalize
...
Made-with: Cursor
2026-04-13 11:58:48 +10:00
Луценко Андрей Анатольевич
264865f9d8
fix(snmp): читать FDB из Q-BRIDGE-MIB для таблицы устройств за портом
...
Добавил сбор dot1qTpFdbPort и парсинг MAC из хвоста OID-индекса,
чтобы Таблица 2 заполнялась на коммутаторах, где FDB хранится в Q-BRIDGE-MIB (vlan+mac).
Made-with: Cursor
2026-04-10 17:49:23 +10:00
Луценко Андрей Анатольевич
5b82901565
feat(snmp,ui): устройства за портом (MAC/IP) в таблице 2
...
Добавил сбор FDB/ARP по SNMP (BRIDGE-MIB + ipNetToMedia), хранение и API /port-devices.
В UI Таблица 2 теперь показывает MAC/IP за выбранным портом после клика по строке Таблицы 1.
Made-with: Cursor
2026-04-10 17:44:42 +10:00
Луценко Андрей Анатольевич
a7f80eac9a
feat(ui,snmp): IF-MIB интерфейсы в табл.1 связей, слияние с LLDP, сортировка по локальному порту
...
Made-with: Cursor
2026-04-10 16:04:16 +10:00
Луценко Андрей Анатольевич
29bd136cea
fix(snmp): OCTET STRING из 6 байт показывать как MAC (aa:bb:...), не 0x...
...
Made-with: Cursor
2026-04-10 14:58:17 +10:00
Луценко Андрей Анатольевич
1df5ddf67a
fix(lldp): локальный порт из индекса OID + lldpLocPortDesc для таблицы связей
...
Made-with: Cursor
2026-04-10 14:56:43 +10:00
Луценко Андрей Анатольевич
66fc827f75
fix(snmp): LLDP rem table — BulkWalk first, гибкий индекс, fallback GetNext, лог save LLDP
...
Made-with: Cursor
2026-04-10 14:48:36 +10:00
Луценко Андрей Анатольевич
0659238bea
Ping: stop logging every no-reply by default; opt-in NETTOPO_LOG_PING_FAILURES.
...
Made-with: Cursor
2026-04-10 14:14:25 +10:00
Луценко Андрей Анатольевич
16762c14ac
SNMP LLDP: longer timeout, lower MaxRepetitions, Walk fallback after BulkWalk errors (e.g. Ubiquiti EdgeSwitch).
...
Made-with: Cursor
2026-04-10 13:22:59 +10:00
Andrey Lutsenko
ec7abe384d
Add LLDP neighbor collection and endpoint.
...
Collect LLDP-MIB neighbor fields during SNMP scans, persist records, and expose LLDP results via REST.
Made-with: Cursor
2026-04-09 21:58:30 +10:00
Andrey Lutsenko
cca4477792
Add SNMP v2c probing and results endpoint.
...
Probe sysName/sysDescr/sysObjectID for alive hosts, persist SNMP outcomes, and expose scan SNMP data via REST.
Made-with: Cursor
2026-04-09 21:56:31 +10:00
Andrey Lutsenko
e9452dcc0a
Add TCP port scan persistence and API endpoint.
...
Probe configured ports for alive hosts, persist port states, and expose scan port results via REST.
Made-with: Cursor
2026-04-09 21:54:17 +10:00
Andrey Lutsenko
9afbbbb762
Persist per-host scan results and expose hosts endpoint.
...
Store checked hosts for each scan and add API to fetch host-level up/down probe results.
Made-with: Cursor
2026-04-09 21:51:35 +10:00
Andrey Lutsenko
43cb339605
Add scan queue execution and listing endpoint.
...
Run scans in background with progress/status updates and store scan metrics in memory or PostgreSQL.
Made-with: Cursor
2026-04-09 21:49:38 +10:00