Network Health Sweep
Overview
"Is the network healthy" is a portfolio question, not a single-device question.
This skill runs a normalized health check across every connected
network-monitoring tool and rolls the result up into one ranked view — the same
sweep a senior network engineer would run by hand across each vendor's console,
made explicit, repeatable, and vendor-agnostic.
This is infrastructure-substrate health: is the network itself up, are
interfaces clean, has the topology changed unexpectedly. It is not ticket
triage (see ops-pack) and it is not application-layer reliability (see
devops-pack, if connected) — this skill only answers whether the wires,
switches, firewalls, and access points a client depends on are functioning.
Anti-triggers
- One vendor's device, alert, or interface data — use
auvik-devices,
auvik-alerts, meraki-devices, or domotz-devices when the question is
what that platform returns, rather than how to rank findings across all of
them.
- Hands-on diagnostics against a specific device — ping, cable test,
throughput, and reboots are live tools, not a sweep; use
meraki-troubleshooting.
- Collector health as its own subject — use
domotz-agents; this skill
checks agent status only to decide whether "down" or "unknown" applies to
the devices behind it.
Discovering available tools first
Because this pack is cross-vendor, never assume which network-monitoring tool
is connected, or what its tools are literally named:
- Call
conduit__search_tools with a query like "list devices",
"network health", or "device status" to discover which
network-monitoring connector(s) are actually live for this org, and the
exact tool names each exposes (they follow <vendor-slug>__<tool_name>,
e.g. auvik__devices_list, meraki__list_networks,
domotz__list_agents).
- More than one network-monitoring tool can be connected at once (e.g. Auvik
for one site, Meraki for another) — discovery may return multiple vendor
families. Sweep all of them; do not stop at the first match.
- Only after discovery, call the concrete tools that came back. Never
speculatively call a tool name that discovery didn't return — an
unrecognized tool call is a worse failure mode than reporting "no network
monitoring connector found."
Key Concepts
Each vendor family's data model, and how they normalize
| Concern |
Auvik |
Meraki |
Domotz |
| Unit of "connected" |
Tenant → Network → Device → Interface |
Organization → Network → Device |
Agent (collector) → Network → Device |
| Device-down signal |
Device status field (online/offline/warning) via auvik__devices_list / auvik__devices_get_details |
Device status via Meraki's device/network status tools |
Device status per agent, reported by the local Domotz collector |
| Interface/link health |
Per-interface stats (errors, discards, utilization) via auvik__interfaces_list / auvik__statistics_interface |
Per-port/uplink stats surfaced at the network/device level |
Interface-level detail is thinner — Domotz is stronger on device reachability than deep interface counters |
| Topology-change detection |
Auvik's core differentiator — topology/config diffs surfaced via configuration and audit history tools (auvik__configurations_list, auvik__entities_list_audits) |
Not a first-class primitive — infer from device/network membership changes between sweeps |
Agent-scoped network scans can surface new/missing devices between runs |
| Collection unit that can itself be "down" |
N/A — cloud-polled via SNMP/API |
N/A — cloud-managed dashboard |
The agent itself — if the collector host is offline, every device behind it reads as unknown, not necessarily down. Always check agent status first. |
Normalize every vendor's native status into one shared health taxonomy before
combining results:
- Down — device confirmed offline/unreachable.
- Degraded — device online but showing interface errors, high utilization,
or a warning-level status.
- Unknown — the collector/agent responsible for that device can't be
confirmed healthy itself (this matters most for Domotz — an offline agent
means "unknown," not "down," for everything behind it).
- Healthy — no findings.
Interface errors and utilization thresholds
In the absence of a documented client-specific threshold, use these as
defaults and state clearly that they're defaults, not tuned policy:
- Utilization — sustained (not momentary) utilization above 80% on an
uplink or trunk interface is a capacity/degradation flag; above 90% is
urgent.
- Errors/discards — any non-zero, climbing error or discard counter on an
interface across two consecutive sweeps is a degraded-link flag. A single
static, non-climbing count is likely historical and lower priority.
Topology-change detection
A topology change (new device joins, a device disappears, an uplink moves) is
not automatically bad — but it's a signal that deserves a callout, because
unplanned topology changes are how MSPs miss rogue devices or a client's
in-house change that wasn't communicated. Where the connected tool exposes
audit/config history (Auvik is strongest here), surface changes since the
last sweep rather than silently absorbing them into the current-state view.
Common Workflows
Portfolio-wide sweep
- Discover connected network-monitoring tools via
conduit__search_tools
(see above).
- For each connected vendor family, pull the device/network list and resolve
status per the normalized taxonomy above.
- For Domotz specifically, check agent/collector status first — an offline
agent invalidates the "down" reading for everything behind it, so it
should be reported as its own top-line finding, not buried under a wall of
"unknown" devices.
- Pull interface-level detail where the vendor exposes it (strongest on
Auvik) and apply the utilization/error thresholds above.
- Where available, pull topology/config-change history since the last sweep
and surface it as its own section.
- Roll up into one ranked list: Down first, then Degraded, then
Unknown-due-to-collector-issue, then a topology-changes section, then a
clean summary count of Healthy devices.
Single-client or single-site check
Same steps, scoped to the client/site/network identified by the caller.
Resolve the client/network first (name lookup) before pulling device data —
don't assume a network ID.
Error Handling
No network-monitoring connector discovered
Say so explicitly: "No network-monitoring connector (Auvik, Meraki, or
Domotz) is available through the gateway, so there's no network health data
to report." Do not fabricate device status.
One vendor connected, others aren't
Report on what's connected and state plainly which vendor families weren't
available — never silently narrow scope without saying so.
Domotz agent itself is offline
Call this out as the top-line finding for that site, not a footnote — every
device behind an offline agent should read as "unknown, pending agent
recovery," not "healthy" (no news isn't good news when the collector can't
report) or "down" (unconfirmed).
Vendor tool call fails mid-sweep
Report the partial results gathered so far, note which vendor/section failed
and why, and don't let one vendor's failure suppress the rest of the report.
Best Practices
- Keep each vendor's native status visible alongside the normalized status in
the output, so a technician can cross-check against the vendor's own
console if needed.
Related Skills
- Cloud Capacity Planning — the cloud
side of infrastructure health, for Azure/DigitalOcean resource
right-sizing rather than network device/link health
- Cloud Cost Management — spend
anomalies and reclaimable cost, a different axis from health
1---2name: network-health-sweep3description: A normalized device and network health sweep across whatever network-monitoring tools (Auvik, Meraki, Domotz) are connected: each vendor family's data model and native status fields mapped into one Down/Degraded/Unknown/Healthy taxonomy, default interface error and utilization thresholds, topology-change detection, and why an offline Domotz collector renders its devices "unknown" rather than "down".4---56# Network Health Sweep78## Overview910"Is the network healthy" is a portfolio question, not a single-device question.11This skill runs a normalized health check across every connected12network-monitoring tool and rolls the result up into one ranked view — the same13sweep a senior network engineer would run by hand across each vendor's console,14made explicit, repeatable, and vendor-agnostic.1516This is infrastructure-substrate health: is the network itself up, are17interfaces clean, has the topology changed unexpectedly. It is not ticket18triage (see `ops-pack`) and it is not application-layer reliability (see19`devops-pack`, if connected) — this skill only answers whether the wires,20switches, firewalls, and access points a client depends on are functioning.2122## Anti-triggers2324- **One vendor's device, alert, or interface data** — use `auvik-devices`,25 `auvik-alerts`, `meraki-devices`, or `domotz-devices` when the question is26 what that platform returns, rather than how to rank findings across all of27 them.28- **Hands-on diagnostics against a specific device** — ping, cable test,29 throughput, and reboots are live tools, not a sweep; use30 `meraki-troubleshooting`.31- **Collector health as its own subject** — use `domotz-agents`; this skill32 checks agent status only to decide whether "down" or "unknown" applies to33 the devices behind it.3435## Discovering available tools first3637Because this pack is cross-vendor, never assume which network-monitoring tool38is connected, or what its tools are literally named:39401. Call `conduit__search_tools` with a query like `"list devices"`,41 `"network health"`, or `"device status"` to discover which42 network-monitoring connector(s) are actually live for this org, and the43 exact tool names each exposes (they follow `<vendor-slug>__<tool_name>`,44 e.g. `auvik__devices_list`, `meraki__list_networks`,45 `domotz__list_agents`).462. More than one network-monitoring tool can be connected at once (e.g. Auvik47 for one site, Meraki for another) — discovery may return multiple vendor48 families. Sweep all of them; do not stop at the first match.493. Only after discovery, call the concrete tools that came back. Never50 speculatively call a tool name that discovery didn't return — an51 unrecognized tool call is a worse failure mode than reporting "no network52 monitoring connector found."5354## Key Concepts5556### Each vendor family's data model, and how they normalize5758| Concern | Auvik | Meraki | Domotz |59|---|---|---|---|60| Unit of "connected" | Tenant → Network → Device → Interface | Organization → Network → Device | Agent (collector) → Network → Device |61| Device-down signal | Device status field (`online`/`offline`/`warning`) via `auvik__devices_list` / `auvik__devices_get_details` | Device status via Meraki's device/network status tools | Device status per agent, reported by the local Domotz collector |62| Interface/link health | Per-interface stats (errors, discards, utilization) via `auvik__interfaces_list` / `auvik__statistics_interface` | Per-port/uplink stats surfaced at the network/device level | Interface-level detail is thinner — Domotz is stronger on device reachability than deep interface counters |63| Topology-change detection | Auvik's core differentiator — topology/config diffs surfaced via configuration and audit history tools (`auvik__configurations_list`, `auvik__entities_list_audits`) | Not a first-class primitive — infer from device/network membership changes between sweeps | Agent-scoped network scans can surface new/missing devices between runs |64| Collection unit that can itself be "down" | N/A — cloud-polled via SNMP/API | N/A — cloud-managed dashboard | The agent itself — if the collector host is offline, every device behind it reads as unknown, not necessarily down. Always check agent status first. |6566Normalize every vendor's native status into one shared health taxonomy before67combining results:6869- **Down** — device confirmed offline/unreachable.70- **Degraded** — device online but showing interface errors, high utilization,71 or a warning-level status.72- **Unknown** — the collector/agent responsible for that device can't be73 confirmed healthy itself (this matters most for Domotz — an offline agent74 means "unknown," not "down," for everything behind it).75- **Healthy** — no findings.7677### Interface errors and utilization thresholds7879In the absence of a documented client-specific threshold, use these as80defaults and state clearly that they're defaults, not tuned policy:8182- **Utilization** — sustained (not momentary) utilization above 80% on an83 uplink or trunk interface is a capacity/degradation flag; above 90% is84 urgent.85- **Errors/discards** — any non-zero, climbing error or discard counter on an86 interface across two consecutive sweeps is a degraded-link flag. A single87 static, non-climbing count is likely historical and lower priority.8889### Topology-change detection9091A topology change (new device joins, a device disappears, an uplink moves) is92not automatically bad — but it's a signal that deserves a callout, because93unplanned topology changes are how MSPs miss rogue devices or a client's94in-house change that wasn't communicated. Where the connected tool exposes95audit/config history (Auvik is strongest here), surface changes since the96last sweep rather than silently absorbing them into the current-state view.9798## Common Workflows99100### Portfolio-wide sweep1011021. Discover connected network-monitoring tools via `conduit__search_tools`103 (see above).1042. For each connected vendor family, pull the device/network list and resolve105 status per the normalized taxonomy above.1063. For Domotz specifically, check agent/collector status first — an offline107 agent invalidates the "down" reading for everything behind it, so it108 should be reported as its own top-line finding, not buried under a wall of109 "unknown" devices.1104. Pull interface-level detail where the vendor exposes it (strongest on111 Auvik) and apply the utilization/error thresholds above.1125. Where available, pull topology/config-change history since the last sweep113 and surface it as its own section.1146. Roll up into one ranked list: Down first, then Degraded, then115 Unknown-due-to-collector-issue, then a topology-changes section, then a116 clean summary count of Healthy devices.117118### Single-client or single-site check119120Same steps, scoped to the client/site/network identified by the caller.121Resolve the client/network first (name lookup) before pulling device data —122don't assume a network ID.123124## Error Handling125126### No network-monitoring connector discovered127128Say so explicitly: "No network-monitoring connector (Auvik, Meraki, or129Domotz) is available through the gateway, so there's no network health data130to report." Do not fabricate device status.131132### One vendor connected, others aren't133134Report on what's connected and state plainly which vendor families weren't135available — never silently narrow scope without saying so.136137### Domotz agent itself is offline138139Call this out as the top-line finding for that site, not a footnote — every140device behind an offline agent should read as "unknown, pending agent141recovery," not "healthy" (no news isn't good news when the collector can't142report) or "down" (unconfirmed).143144### Vendor tool call fails mid-sweep145146Report the partial results gathered so far, note which vendor/section failed147and why, and don't let one vendor's failure suppress the rest of the report.148149## Best Practices150151- Keep each vendor's native status visible alongside the normalized status in152 the output, so a technician can cross-check against the vendor's own153 console if needed.154155## Related Skills156157- [Cloud Capacity Planning](../cloud-capacity-planning/SKILL.md) — the cloud158 side of infrastructure health, for Azure/DigitalOcean resource159 right-sizing rather than network device/link health160- [Cloud Cost Management](../cloud-cost-management/SKILL.md) — spend161 anomalies and reclaimable cost, a different axis from health