Finally, Network Topology in Zabbix! A Deep Dive into a Community Gem
Today we're tackling a topic I know many of you have been eager to discuss: network topology in Zabbix. It's one of those "missing pieces" in Zabbix's official offerings – a graphical representation of your network's flows and devices. While I've experimented with solutions in the past, today, we're diving into something truly special that comes directly from the vibrant Zabbix community.
The Zabbix Topology Challenge
We all know how crucial a clear understanding of our network infrastructure is. Seeing the interactions between devices – which ports connect a router to a switch, or how switches link together – is incredibly useful. It helps us visualize our infrastructure and quickly pinpoint potential issues. However, Zabbix, for all its power, hasn't officially provided a native, integrated network topology feature. My previous experiments were fun, but the community has stepped up in a big way!
Enter the Zabbix Network Topology Module
A friend recently brought to my attention an incredible module developed by Alexander Fox (Zab Fox), a talented developer from the Zabbix community. This isn't just a workaround; it's a native integration designed to bring robust network topology features directly into Zabbix. You can find his work on GitHub and a dedicated project site. What's truly exciting is that this project is actively maintained, with new features, bug fixes, and version updates rolling out regularly. Just yesterday, version 5.1.0 was released, showing it's a living, breathing project worth keeping an eye on!
Key Features at a Glance
This module is much more than just a pretty picture. It offers a comprehensive suite of features:
Visualizing Your Network
- The core is a beautiful topological view that integrates seamlessly with your Zabbix server. It aesthetically maps out your devices and shows real-time traffic passing between them.
- You'll see green circles indicating host status and surrounding slices representing CPU, memory, traffic, and even ping response times – giving you an immediate snapshot of device health.
Deep Dive into Device Details
- Clicking on any device brings up a floating box with detailed information: device type (switch, access point), input/output traffic, statistics, IP addresses, and quick links to Zabbix's latest data, problems, graphs, and host configuration pages.
Comprehensive Monitoring Views
- Management View: A concise re-epilogue of each device's status and problem count within a host group.
- Table View: Gathers all primary information, including IP addresses, in a clean, easy-to-read table.
- Geo Map: While powerful, this requires manually inputting latitude and longitude into your host inventory.
- Health: A KPI-like overview of your host group's overall health and statistical information.
- LLDPQ (LLDP Quality): This unique feature helps identify discrepancies between device-reported LLDP names and your Zabbix hostnames, crucial for accurate mapping.
Historical Insights and Manual Linking
- History: A timeline feature allows you to replay network changes over a specific period, like the last 24 hours, to see what happened.
- Manual Link Creation: For devices that don't support LLDP/CDP, you can manually create temporary links to visualize bandwidth between them.
Dashboard Integration
- The developer has also created several native widgets for Zabbix dashboards, though it's important to note their compatibility.
Installation: Bringing Topology to Your Zabbix
Getting this module up and running is straightforward, but there are a few critical points to remember:
Module & Widget Compatibility
- The main network topology module is compatible with Zabbix 7.0 LTS and subsequent versions. This is great for those of us who prefer long-term support releases for stability.
- However, the dashboard widgets are currently only compatible with Zabbix 7.4x, the latest stable short-term release. If you're on 7.0, you can still use the core topology module without the widgets.
Step-by-Step Installation
- Download: Head to the module's GitHub releases page and download the main module zip file. If you want the widgets, download those too.
- Unpack: Unpack the module content into the correct Zabbix directory.
- For Zabbix 7.4x:
/usr/share/zabbix/ui/modules - For Zabbix 7.0:
/usr/share/zabbix/modules
network_topologyfor the main module) before unpacking to avoid clutter. The module expects this specific naming convention. - For Zabbix 7.4x:
- Scan: In your Zabbix frontend, navigate to
Administration > General > Modulesand click "Scan directory." Zabbix will discover the new modules. - Enable: Look for modules by "Alexander Fox's Planet Fox" and enable them.
Crucial: The LLDP/CDP Template
The topology isn't magic; it relies on data collected via LLDP (Link Layer Discovery Protocol) or CDP (Cisco Discovery Protocol). You must apply a specific template to your network devices that support these protocols.
- Download the
nt_lldp_neighbors_by_snmptemplate (a YAML file) from the module's GitHub repository. - Import this template into Zabbix via
Data collection > Templates > Import. - Assign this template to your relevant hosts, ensuring they're configured for SNMP v2 or v3.
Matching Hostnames
For the topology to correctly link devices, the hostnames you've defined in Zabbix must match the device names reported via LLDP/CDP. The LLDPQ view is invaluable for identifying and resolving any naming inconsistencies.
My Thoughts and Call to Action
This Zabbix Network Topology module is truly a fantastic addition to the Zabbix ecosystem. It addresses a long-standing gap with a visually appealing and feature-rich solution. While it requires a bit of setup, especially concerning the LLDP/CDP templates and hostname consistency, the result is an invaluable tool for network monitoring and visualization.
I highly recommend you explore this project, try it out in your Zabbix environment, and share your feedback! Community projects thrive on engagement, so consider leaving comments or suggestions for the developer, Alexander Fox. Let's help make this an even more robust and essential tool for the Zabbix community!
What are your thoughts on network topology in Zabbix? Have you tried this module or other solutions? Let me know in the comments below! If you found this video helpful, please give it a thumbs up and subscribe to my channel, Quadrata, for more open-source and technology insights every week.
Find Me Here:
My YouTube Channel: Quadrata
My Name: Dimitri Bellini
Telegram Channel: ZabbixItalia