This Zabbix module adds a customizable button widget to your dashboards. It is designed to provide a clean, styled link to external resources like wallboards, documentation, or external tools.
- Customizable Text: Set the label for your button.
- Customizable URL: Define where the button leads (opens in a new tab).
- In-UI Styling: Change the button's appearance (colors, padding, etc.) directly from the widget configuration using CSS.
- No Refresh by Default: Optimized for static links to prevent unnecessary dashboard reloading.
- Locate your Zabbix frontend directory (usually
/usr/share/zabbix/ui/or/var/www/html/zabbix/). - Navigate to the
modules/directory. - Create a new folder named
custom_html_widget. - Extract the contents of
custom_html_widget.zipsrc folder into this folder. (ONLY THE SRC FOLDER!)- The structure should look like:
modules/custom_html_widget/manifest.json, etc.
- The structure should look like:
Ensure the web server user (e.g., www-data, apache, or nginx) has read permissions for the files:
chown -R www-data:www-data /usr/share/zabbix/ui/modules/custom_html_widget
chmod -R 755 /usr/share/zabbix/ui/modules/custom_html_widget- Log in to your Zabbix frontend as a Super Admin.
- Go to Administration -> General -> Modules.
- Click the Scan directory button at the top right.
- Find Custom HTML Button in the list and click the Disabled status link to change it to Enabled.
- Go to your Dashboard.
- Click Edit dashboard -> Add widget.
- Select Custom HTML Button from the Type dropdown.
- Configure your button text, URL, and style.
- Click Add and then Save changes on the dashboard.
- Spinning Circle: Ensure you have enabled the module in the Administration menu and that the
assets/js/class.widget.jsfile is readable. - Module Not Found: Double-check that the folder name in the
modules/directory matches theidinmanifest.json(custom_html_widget). - Changes Not Reflecting: Clear your browser cache or perform a hard refresh (
Ctrl + Shift + R) to reload the JavaScript assets.

