Ad Widget

Collapse

How to Display Number of Current Problems on a Zabbix Map

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • bratak
    Junior Member
    • Jul 2025
    • 1

    #1

    How to Display Number of Current Problems on a Zabbix Map

    Context


    I'm using Zabbix 7.2.7 to monitor a network of around 100 switches, along with backup servers and mail servers.
    I've created a detailed network map where each device is represented with custom icons and linked objects.

    I'm aiming to keep this map as the main visual reference for the monitoring team, and I would like to embed key metrics directly into the map, rather than relying on dashboard widgets placed elsewhere.

    Objective

    On the same map, I want to add a small data visualization block that shows:
    • OK / Default: number of hosts without issues
    • Problem: number of hosts with at least one active trigger in problem state
    • Maintenance: number of hosts currently in scheduled maintenance
    • Disabled: number of hosts that are disabled

    Each line should display a corresponding host count, and the block should auto-update like other Zabbix map objects.

    This is similar to what the System Information widget shows on the dashboard — but I need it within the map itself, in a compact, readable format.

    What I’ve Tried

    I’ve tried many combinations using:
    • Zabbix internal items (zabbix[hosts], zabbix[hosts,maintenance], etc.)
    • Map labels and host-linked text elements
    • ChatGPT (OpenAI) and Claude (Anthropic) generated methods and suggestions
    • Using macros like {HOST.ITEM.LAST()} in various object types
    • Creating a “dummy” host (Zabbix Counters) to centralize status info

    Despite all of this, I have not been able to extract or display the correct number of current problems in the map.

    What I’ve Set Up Already

    I’ve created the following Zabbix internal items (type = Zabbix internal):
    • Monitoring-Stats Nombre d'hosts = zabbix[hosts] → Value: 120
    • Monitoring-Stats Preprocessing Queue Count = zabbix[queue] → Value: 0
    • Monitoring-Stats Required Performance = zabbix[requiredperformance] → Value: 8
    • Monitoring-Stats Total Triggers Count = zabbix[triggers] → Value: 443
    • Monitoring-Stats Unsupported Items Count = zabbix[items,unsupported] → Value: 13

    These values display correctly using {Zabbix Counters:item.key.last()} in map objects.


    The Missing Piece — "Current Problems"

    What I need is the number of current active problems — like the one shown in the System Information dashboard widget:
    Number of triggers (enabled/disabled [problem/ok])
    → Value: 444
    → Details: 444 / 0 [3 / 439]
    That “3” (in [3 / 439]) is the number of triggers currently in problem state.
    This is the value I want to display dynamically on the map, alongside the other counters.

    Limitations
    • I have Super Admin access in the Zabbix frontend
    • No access to the underlying server, CLI, scripts, or database
    • I cannot modify configuration files or install custom scripts
    • I can only use Zabbix UI elements (items, maps, dashboards, etc.)

    My Question


    Is there any way, using only the frontend, to extract the current number of triggers in Problem state — and display it dynamically on a map object?

    For example:
    • Is there an internal item key like zabbix[triggers,problem]?
    • Is it possible to create a calculated item that counts triggers in Problem state?
    • Can this value be extracted from a trigger prototype or discovery rule?

    Any frontend-only method or workaround would be greatly appreciated!
    Last edited by bratak; 02-07-2025, 09:46.
  • Dwayne
    Junior Member
    • Feb 2025
    • 9

    #2
    dummy hosts per graph object and some API calls for each populating items. that could potentially work. or even the result of SQL queries in a similar fashion.

    Comment

    Working...