Skip to content

Monzphere/MonitoringHealthScorecard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monitoring Health Scorecard

A Zabbix frontend module that grades the data quality of your monitoring with a single A–F letter and a red/amber/green matrix. It answers a question the built-in screens don't: is the monitoring itself healthy, or is it quietly rotting?

It uses only data every Zabbix install already has — no extra agents, items, or database changes.

Reports menu entry: Monitoring → MHS

What it measures

The score starts at 100 and loses points across four checks, each capped at its own weight so the grade stays transparent and tunable:

Check Weight What it flags
Unsupported items 25 Items in an error state — collection is broken.
Stale items 25 Polled items that were collecting and silently stopped.
Blind hosts 30 Monitored hosts with no enabled trigger — nothing can alert.
Never-alerted items 20 Collected items that no enabled trigger watches.

Each penalty is proportional to how many objects are affected, so a handful of broken items barely moves the grade while a systemic failure tanks it.

Grades: A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60, F < 60.

Credibility model

Every check is deliberately conservative so a healthy object is never flagged:

  • Stale only counts polled items with a plain numeric interval that provably collected before (a last value exists) and then stopped for more than 3× their interval. Trapper, dependent, SNMP-trap, internal and calculated items, and macro/flexible intervals are never flagged.
  • The four headline numbers are computed with count queries and native API flags (no object loads), so the module stays light even on very large installs. The stale scan is chunked and is skipped entirely — and reported as skipped — above a safe item cap.

Drill-down and remediation

Click any non-zero card to open a capped list of the offenders. Each row links straight to the native Zabbix screen where you fix it, filtered to the exact object:

  • Unsupported / Stale — items owned by the host can be disabled in bulk right from the panel (select rows → Disable selected). Disabling stops broken/stale collection from counting against the grade.
  • Items that can't be changed on the host are routed to their source instead of being silently skipped:
    • template items link to the item configuration, where Zabbix surfaces the template link so you can disable them at the source (it propagates to every linked host);
    • discovered items link to the discovery rule's item prototypes, where you adjust the LLD filter / lost-resources policy or disable the prototype.
  • Blind hosts and Never-alerted items link to the trigger configuration — the correct fix there is to add a trigger, never to delete coverage.

After a disable, the list refreshes and a Rescan to update the grade link recomputes the score.

Requirements

  • Zabbix 7.0.
  • Visible to users of type Admin and Super admin.
  • The in-panel Disable action requires host-configuration UI access and per-host write permission; the write path is CSRF-protected.

Installation

  1. Copy this directory into your Zabbix frontend modules path:

    <zabbix-frontend>/modules/MonitoringHealthScorecard
    
  2. In the Zabbix UI go to Administration → General → Modules, click Scan directory, then Enable Monitoring Health Scorecard.

  3. Open it from Monitoring → MHS in the main menu.

Layout

MonitoringHealthScorecard/
├── manifest.json                  module manifest + action routing
├── Module.php                     registers the Monitoring → MHS menu entry
├── actions/
│   ├── ScorecardEngine.php        scoring + drill-down data
│   ├── CControllerMonitoringScorecardView.php    main view controller
│   ├── CControllerMonitoringScorecardData.php    AJAX drill-down (read)
│   └── CControllerMonitoringScorecardDisable.php AJAX disable (CSRF-protected write)
├── views/
│   ├── monitoring.scorecard.view.php
│   ├── layout.htmlpage.php
│   └── js/monitoring.scorecard.js.php
└── assets/css/
    ├── blue-theme.css
    └── dark-theme.css

License

© MonZphere — https://monzphere.com

About

Zabbix 7.0 frontend module that grades monitoring data quality (A-F): unsupported items, stale collection, blind hosts, never-alerted metrics, with drill-downs and in-panel cleanup.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors