GitHub last saw v5.1.2 — this release therefore also carries everything from 5.2.0. Full detail in the CHANGELOG.
Updating — nothing to do
No migration, and not even a rescan: no action was added or renamed since 5.2. Replace the network_topology directory, chown, reload php-fpm. Map layouts, manual links, pins, notes and presets stay where they are.
Two things afterwards: reload once with a cache bypass (the bundle changed substantially), and note that the map now follows your Zabbix theme — a dark profile renders the map dark from the first load. There is no switch; that is the point.
Templates: nothing to import
All three shipped templates — nt_lldp_snmp, nt_health_score, nt_topology_change — are unchanged since 5.1.1, and none was added. If you are on 5.1.2 or 5.2.0, there is nothing to re-import.
Worth knowing is where the new port-level features get their data. Port names, errors and discards at the port, and link utilization read ifName / ifDescr / ifAlias, ifInErrors / ifOutDiscards and ifHighSpeed — and those do not come from the LLDP template, which only walks the LLDP remote-systems table. They come from the ordinary interface monitoring on the same host: Zabbix's own Network interfaces by SNMP discovery, or a vendor template. A host carrying only the NT LLDP template still produces edges; they simply have no port names and no per-port numbers. See LLDP-SETUP.md.
Fixed — worth updating for
A URL parameter could hang the map for good. NT_CONFIG was written into the page without JSON_INVALID_UTF8_SUBSTITUTE, so invalid UTF-8 made json_encode() return false and the page contained the literal window.NT_CONFIG = ; — a syntax error that killed the whole script block, including the fallback meant for exactly that case. The page rendered, the toolbar appeared, and the map hung on "Loading topology…" forever. Reachable from the address bar. Not an information leak, but a denial of service by link. Present in 5.1.x and 5.2.0.
LLDP/CDP quality
- Every edge says how certain it is. Neighbour names are matched to hosts by several routes — exact name, IP, short name, normalized port — and those are not equally trustworthy. A guess no longer looks like a measurement.
- Two-sided links told apart from one-sided ones.
- Edges age instead of vanishing. A neighbour that stops being reported is marked stale rather than disappearing between refreshes, and the difference to the previous state is shown: new links highlighted, moved cables reported.
- Port names instead of bare indices (
ifName/ifDescr/ifAlias, optional). Normalization (Gi1/0/1↔GigabitEthernet1/0/1) also matches the far side, which brings measurements to links that previously had none.
New views
- Click an edge for its own panel — ports on both ends, utilization against negotiated speed, errors and discards at the port rather than as a host total.
- The computed path as a list, not only a highlight on the map. A color cannot be pasted into a ticket.
- GraphML export for draw.io and yEd, and a device report that summarizes the vendor landscape as counts only — no host names, addresses or community strings, so it can be pasted into an issue.
Large installations
- Items are fetched in chunks of 150 hosts and reduced immediately. For 5,000 hosts with 24 ports each that is 566 MB down to 90 MB at unchanged runtime; previously PHP aborted with "Allowed memory size exhausted", which reaches the user as a white page.
- An upper limit of 8,000 edges, and hitting it is reported instead of crashing.
- Above 1,200 nodes the map switches to the group view by itself — and says so. Right-click → leave group view still shows every host.
Theming
The map follows the Zabbix theme, with no switch of its own — decided by measuring the page background, not by recognizing a theme name, so Zabbix 8.0's new dark theme and your own theme CSS work without an update here.
This part is @christos-diamantis' work — the design as much as the code (#11, PR #12). Two of his findings would not have occurred to me: that the node icons are SVG in a data URI and can never be reached by a stylesheet (and that the image cache must key on the theme), and that the tooltip was broken in light mode, inheriting the Zabbix body color. Thank you.
Install
network_topology.zip is the module. The five widget archives are optional and need Zabbix 7.4; the main module also runs on 7.0 LTS. See INSTALL.md.