Skip to content
Back to skills

Monitoring Coverage

ASecurity

Monitoring-coverage and collector-health review for a customer's Zabbix: disabled and unreachable hosts, hosts with no templates or triggers, templates linked to nothing, site proxies that stopped reporting, proxy group HA state, maintenance windows that never end, and disabled web scenarios. Covers host status, interface availability and proxy state fields across Zabbix 6.x and 7.x. Read-only.

  • 54 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 12, 2026
ai-agentsgoapifrontend

Works with

  • api

Security analysis

A100/100

Scanned November 12, 2026

npx -y skills add WYRE-AI/msp-claude-plugins --skill monitoring-coverage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Monitoring Coverage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Monitoring Coverage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wyre-ai-monitoring-coverage/badge)](https://www.skillsdirectory.com/skills/wyre-ai-monitoring-coverage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "Zabbix Monitoring Coverage"
description: >
  Monitoring-coverage and collector-health review for a customer's Zabbix:
  disabled and unreachable hosts, hosts with no templates or triggers,
  templates linked to nothing, site proxies that stopped reporting, proxy
  group HA state, maintenance windows that never end, and disabled web
  scenarios. Covers host status, interface availability and proxy state
  fields across Zabbix 6.x and 7.x. Read-only.
when_to_use: >-
  When checking whether a customer is actually being monitored, onboarding a
  new site into Zabbix, auditing coverage before a QBR, or finding out why a
  site went quiet. Use when: zabbix coverage, unmonitored hosts, zabbix
  proxy offline, site collector down, hosts without templates, zabbix
  onboarding check, stale maintenance, zabbix agent unreachable, or zabbix
  health check.
---

# Zabbix Monitoring Coverage

## Overview

Problem triage only shows what Zabbix can see. This skill checks the things
that make Zabbix go blind: hosts that are disabled or unreachable, hosts with
nothing linked to them, a site proxy that stopped talking to the server, and
maintenance windows that silently suppress a host forever. Run it when a
customer is onboarded, before a quarterly review, and whenever a site
"has been quiet for a suspiciously long time".

Read [api-patterns](../api-patterns/SKILL.md) first. No tool in this
workflow is admin-gated in Conduit. `zabbix_host_interfaces_list` is opt-in
and not listed in Conduit; this skill gets interface availability from
`zabbix_hosts_list` with `selectInterfaces` instead.

## Anti-triggers

- **What is broken right now on monitored hosts** - use
  [problem-triage](../problem-triage/SKILL.md).
- **Availability percentages for a customer report** - use
  [sla-reporting](../sla-reporting/SKILL.md).

## Key Concepts

| Object | Field | Values |
|--------|-------|--------|
| Host | `status` | 0 monitored, 1 not monitored (disabled) |
| Host | `maintenance_status` | 1 when a maintenance is in effect |
| Host | `monitored_by` (7.0+) | 0 server, 1 proxy, 2 proxy group |
| Interface | `type` | 1 agent, 2 SNMP, 3 IPMI, 4 JMX |
| Interface | `available` | 0 unknown, 1 available, 2 unavailable; `error` says why |
| Proxy (7.0+) | `state` | 0 unknown, 1 offline, 2 online |
| Proxy | `lastaccess` | Unix time the server last heard from it |
| Proxy (7.0+) | `operating_mode` | 0 active, 1 passive |
| Proxy group (7.0+) | `state` | 0 unknown, 1 offline, 2 recovering, 3 online, 4 degraded |

On Zabbix 6.x proxies have no `state` or `operating_mode`; judge them by
`lastaccess` alone, and the proxy name is in `host`, not `name`. Proxy
groups do not exist before 7.0. Check `zabbix_api_version` first.

## Common Workflows

### Customer coverage review

1. `zabbix_hostgroups_list` with `search: {"name": "<customer>"}` and
   `selectHosts: "count"` for the group IDs and host counts.
2. `zabbix_hosts_list` with `groupids`,
   `output: ["hostid","host","name","status","maintenance_status"]`,
   `selectInterfaces: ["type","ip","dns","available","error"]`,
   `selectParentTemplates: ["name"]`, `selectTags: "extend"`,
   `limit: 500`. If the group is larger than 500, call once per group.
3. Flag, per host:
   - `status: 1` - disabled. Confirm the device was retired, otherwise it is
     a gap.
   - every interface `available: 2` - Zabbix cannot reach it; quote `error`.
   - no parent templates - nothing is collected.
4. `zabbix_triggers_list` with `groupids`, `output: ["triggerid"]`,
   `selectHosts: ["hostid"]` and `monitored: true` (page by host group) to
   find enabled hosts with no active triggers: they collect data but can
   never raise a problem. `zabbix_hosts_list` with `with_triggers: true`
   and `countOutput: true` gives the quick count to compare against.
5. `zabbix_templates_list` with `selectHosts: "count"` to list templates
   linked to no host (cleanup) and to confirm the customer's standard
   templates (OS, network, backup) are actually linked.

### Site collector (proxy) health

1. `zabbix_proxies_list` with
   `selectHosts: "count"` and `output: "extend"`.
2. A proxy whose `lastaccess` is more than a few minutes old (or `state: 1`
   on 7.0+) has stopped reporting. Every host behind it is blind, and Zabbix
   may raise only one internal problem for it, or none.
3. On 7.0+, `zabbix_proxy_groups_list` with `selectProxies: ["name","state"]`
   shows whether HA failover still has a healthy member (`state: 4` degraded
   means one proxy is left).
4. Report each silent proxy with the number of hosts it carries and how long
   it has been silent.

### Maintenance hygiene

1. `zabbix_maintenance_list` with `groupids`, `selectHosts: ["name"]`,
   `selectHostGroups: ["name"]`, `selectTimeperiods: "extend"`.
2. Flag windows whose `active_till` is months or years out, and windows that
   cover a whole customer group. They hide real problems. `maintenance_type`
   1 means "no data collection", which also blanks SLA and trend data.
3. Cross-check `zabbix_hosts_list` with `filter: {"maintenance_status": 1}`
   for hosts in maintenance right now.

### Synthetic checks

`zabbix_web_scenarios_list` with `groupids`, `selectHosts: ["name"]` and
`output: ["httptestid","name","status","delay"]`. `status: 1` means the
scenario is disabled. Authentication fields and sensitive headers are
redacted by the sidecar.

## Gotchas

- **Host count from Zabbix is not the customer's asset count.** Compare
  against the RMM or PSA inventory before calling coverage complete.
- **A disabled host raises no problems.** That is exactly why it belongs on
  this report and never shows up in triage.
- **`available` is per interface.** A host with a working agent interface
  and a dead SNMP interface is partly blind; report the interface type.
- **Proxy offline is easy to miss.** Hosts behind a dead proxy often show
  stale "OK" in dashboards because no new data arrived to change state.
- **Older frontends reject 7.0+ fields.** `selectProxyGroup` and
  `proxy_groupids` fail on 6.x with an invalid-params error.

## Output

Per customer: host count, disabled hosts, unreachable hosts (with error),
hosts with no templates, hosts with no triggers, proxies silent and for how
long, maintenance windows to review. End with the three fixes that close the
biggest blind spots.

## Related Skills

- [api-patterns](../api-patterns/SKILL.md) - Parameters and errors
- [problem-triage](../problem-triage/SKILL.md) - Open problems

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.