A Christmas Gift for Zabbix 7.0 Users: The Ultimate Table Widget is Here!
Good morning everyone, and welcome back to Quadrata! Given the special time of year, I want to wish you all a very Merry Christmas. This week, I have something truly special to share—a real game-changer for anyone using Zabbix, particularly the 7.0 Long-Term Support (LTS) release.
As many of you know, Zabbix 7.0 is the go-to version for production environments where stability and long-term support are critical. While it's fantastic, I've always felt there were a few missing pieces in the dashboarding experience, especially when compared to some features in the newer 7.4 release. Today, that changes. Thanks to the incredible work of our friend Ryan Eberly, we now have a powerful, feature-rich Table widget backported to version 7.0!
Why This Widget is a Game-Changer for Zabbix 7.0
Dashboards are our window into the health of our infrastructure, but creating clean, dynamic, and truly useful tables in Zabbix 7.0 could sometimes be a challenge, especially when dealing with item prototypes from Low-Level Discovery (LLD). The default widgets are good, but they lack the flexibility needed for complex scenarios. Ryan’s "Zabbix Widget Table" fills this gap perfectly.
This isn't just any table; it’s a highly customizable tool that allows you to present data in ways that were previously difficult or impossible to achieve in the 7.0 LTS version. It’s the Christmas gift we Zabbix users have been waiting for!
How to Install the Zabbix Table Widget
Getting this widget up and running is straightforward, but it requires one crucial step to ensure you get the correct version. Let's walk through it.
Step 1: Connect to Your Zabbix Server
First, you'll need to SSH into your Zabbix frontend server and navigate to the correct modules directory. For Zabbix 7.0, the path is:
/usr/share/zabbix/modules/Note: This path was changed in Zabbix 7.4, so make sure you're in the right place for 7.0.
Step 2: Clone the GitHub Repository
This is the most important part. You must clone the specific 7.0 branch from Ryan's repository. If you don't, you'll get the latest version (for 7.4), and it won't work.
Run the following command inside the modules directory:
git clone --branch 7.0 https://github.com/gryan337/zabbix-widgets-table.gitThis will create a new directory named zabbix-widgets-table containing all the necessary files.
Step 3: Activate the Module in Zabbix
Once the files are in place, head over to your Zabbix UI.
- Navigate to Administration > General > Modules.
- Click the "Scan directory" button. Zabbix will discover the new widget.
- You will see a new module, likely named "Table" (Flexible Table Widget for Zabbix Dashboard). By default, it will be disabled.
- Simply click the status to Enable it.
That’s it! The widget is now ready to be used in your dashboards.
Exploring the Powerful Features
Now for the fun part. I've spent some time exploring what this widget can do, and the possibilities are immense. Here are a few examples to show you its power.
Example 1: Dynamic Network Interface Monitoring
Imagine you want a clean table showing the bits received and sent for all network interfaces on a router, and you want this table to update dynamically when you select a different device. With this widget, it's easy!
- Clean Interface Names: The widget can group items by a tag (e.g., "interface"), using the tag's value as the row name. This gets rid of cluttered item names, leaving you with just the interface name.
- Column per Pattern: You can define columns based on an item key pattern (like `* bits received`). This is perfect for handling item prototypes from LLD.
- Interactive & Sortable: Every column is sortable and filterable right from the dashboard. Plus, you can configure the table to interact with other widgets, so clicking a row can update a graph to show that specific interface's data.
- Quick Links: Add a direct link to the "Latest data" history for any metric, which is incredibly useful for troubleshooting.
Example 2: Horizontal View for Disk Space
Want to monitor disk space across multiple dynamic filesystems (C:, D:, /root, /boot) for Windows or Linux hosts? You can create a compact, horizontal table.
- Pattern Matching: Use a pattern to pull in all relevant filesystem items automatically.
- Clean Up Labels with Regex: The item names for filesystems can be long (e.g., `fs/space/available`). The widget allows you to use Zabbix macros with regular expressions to clean these up on the fly, displaying just `/` or `/boot`.
- Visual Indicators: Display data as numbers, bars, or indicators with custom thresholds for a quick visual status check.
Example 3: Three-Column Interface Status View
Another great use case is creating a simple list showing the operational status of all interfaces across multiple hosts. I configured a three-column layout to show the Host Name, Interface Name, and Status.
- Trigger Severity Display: This is one of my favorite features. If a trigger is active for an item (e.g., an interface is down), the widget will display the trigger's severity color right in the table. This provides an immediate, at-a-glance view of problems.
- Host Context Menu: The widget also provides a quick-access menu for each host, letting you jump directly to its inventory, latest data, or problems.
A Big Thank You and a Call to Action
I am genuinely excited about what this widget brings to the Zabbix community. It adds a layer of professionalism and flexibility to our dashboards that was sorely needed in the 7.0 LTS release. The fact that Ryan Eberly took the time to backport this for us is a testament to the power of the open-source community.
I strongly encourage you to do two things:
- Try it out! Add it to your dashboards and see how it can improve your monitoring workflows.
- Show your appreciation. Head over to his GitHub repository and give it a star. If you find any bugs or have ideas for features, open an issue. He is actively developing these tools and values our feedback.
With this table widget, and hopefully more to come (like his custom graph widget!), our Zabbix 7.0 dashboards are on their way to becoming more powerful than ever.
Let me know in the comments what you think and what creative dashboards you build with it!
Until next week, happy monitoring, and once again, Merry Christmas!
Dimitri Bellini
My YouTube Channel: Quadrata
Join the conversation on Telegram: ZabbixItalia