
dt-obs-network-devices
Analyze SNMP-monitored network devices (switches, routers, firewalls, load balancers) in Dynatrace. Three data layers: Smartscape topology (EXTNETWORKDEVICE / EXTNETWORKINTERFACE nodes, belongsto and calls edges); com.dynatrace.extension.networkdevice. metrics (CPU, memory, uptime, throughput, saturation, errors); and logs (SNMP traps, syslog, auto-discovery). Use to inventory devices, find down or saturated interfaces, check device CPU/memory/uptime, map topology and neighbors, detect interface errors, and investigate traps and syslog events. Trigger: "network device", "switch", "router", "firewall", "SNMP", "interface status", "interface down", "interface utilization", "link saturation", "device CPU", "device memory", "device uptime", "device neighbors", "LLDP", "CDP", "SNMP trap", "syslog". Do NOT use for network flow/traffic or top talkers (use dt-obs-network-flows), host NIC throughput (use dt-obs-hosts), or service request/latency (use dt-obs-services).
- Installs
- 919
- Last 24h
- +12
- Trending rank
- #8066
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-obs-network-devices- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads dt-obs-network-devices automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Network Devices Skill
Analyze SNMP-monitored network infrastructure in Dynatrace — switches, routers, firewalls, load balancers, access points, and any other device polled by a network device extension (the SNMP-generic and vendor SNMP extensions). This skill covers the device and interface data model and routes each question to the right reference file. All DQL lives in the reference files and was validated against a live tenant with dtctl query.
What Network Device Monitoring Tells You
SNMP extensions poll network hardware and expose it in Dynatrace as three layers:
- Topology — an inventory of devices and their interfaces as Smartscape nodes (
EXT_NETWORK_DEVICE,EXT_NETWORK_INTERFACE), with attributes (vendor, model, OS/firmware, location, contact, IPs, MACs, link speed) and relationships (which interface belongs to which device; which devices are neighbors via LLDP/CDP). - Metrics — time series for device health (CPU, memory, uptime) and per-interface health (operational/admin status, in/out throughput, errors, discards, packet mix), under the
com.dynatrace.extension.network_device.*namespace. - Logs — event-driven records: SNMP traps (link-up/down, hardware faults), syslog messages (config changes, authentication, interface events), and auto-discovery activity (devices and neighbors found per poll cycle).
This answers questions such as: Which interfaces are down? Which links are saturated? Is this router's CPU pegged? Which devices rebooted? What is connected to this switch? What traps has this device sent? What syslog errors are recurring?
The Three Layers (and how they join)
| Layer | Query with | Grain | Key fields |
|---|---|---|---|
| Topology | smartscapeNodes "EXT_NETWORK_DEVICE" / smartscapeNodes "EXT_NETWORK_INTERFACE" | One row per device / interface (current inventory) | id, name, monitoring_mode, device_type, location, ip, speed, edges via belongs_to / calls |
| Metrics | timeseries … com.dynatrace.extension.network_device.* | Time series per device / interface | grouped by dt.smartscape.ext_network_device and (interface metrics) dt.smartscape.ext_network_interface |
| Logs | fetch logs | filter dt.openpipeline.source == "…" | Individual log records (traps, syslog, discovery) | joined to topology by expanding the device ip[] array and matching device.address / dt.ingest.source.ip — see references/logs.md |
The join key is the Smartscape ID. Every metric carries a dt.smartscape.ext_network_device dimension (and interface metrics also carry dt.smartscape.ext_network_interface). Use lookup [smartscapeNodes …] to attach human-readable device/interface names to metric results, and to attach live metrics to an inventory listing. Both reference files show this pattern.
Monitoring Mode Determines What Data Exists
Every device has a monitoring_mode. This is the first thing to check — it decides whether metrics exist at all:
monitoring_mode | Meaning | Has metrics? | Has full attributes? |
|---|---|---|---|
Extension | Directly polled by an SNMP extension | Yes — full com.dynatrace.extension.network_device.* set | Yes |
Discovery | Discovered on the network but not directly polled | No | Partial |
Neighbor | Known only because a polled device names it as an LLDP/CDP neighbor | No | Minimal (name, chassis MAC) |
If a device has no metrics, check its
monitoring_modebefore assuming a data gap — onlyExtension-mode devices are polled. When listing "monitored devices," excludeNeighbor(and usuallyDiscovery).
Routing
- Inventory, attributes, or topology (list devices, find a device's interfaces, map neighbors, read model/firmware/location) → references/topology-model.md.
- Health or performance (CPU, memory, uptime, interface up/down, throughput, saturation, errors) → references/metrics.md.
- Event-driven signals (SNMP traps, syslog messages, discovery activity) → references/logs.md.
- Most real questions combine layers (e.g. "which interfaces on the core router are down" = metric status filtered to one device, joined to interface names). The metrics and logs references show these joined queries.
Related Skills
Network device monitoring is one part of Dynatrace network observability. Route elsewhere when the question is not about device/interface health or topology:
| The user wants… | Use |
|---|---|
| Traffic between entities, top talkers, conversations, connection health (the flows through the network) | dt-obs-network-flows — including NetFlow/IPFIX/sFlow that these same devices export |
| Host NIC throughput / packet drops on OneAgent-monitored hosts (not SNMP devices) | dt-obs-hosts → references/host-metrics.md |
| Service request rate, latency, error rate | dt-obs-services |
| Setting up or configuring an extension (this skill covers the resulting data model, not extension authoring) | dt-obs-extensions |
General Smartscape traversal syntax (traverse, smartscapeEdges, references[…]) | dt-dql-essentials |
Network devices vs. network flows. This skill answers "what is the state of the box and its ports" (SNMP device/interface health and topology).
dt-obs-network-flowsanswers "what traffic is crossing the network" (conversations, bytes, talkers). The same router appears in both: here as anEXT_NETWORK_DEVICEwith interface counters, there as a NetFlow exporter. A future macrodt-obs-networkskill may unify them; until then, cross-link.
Reference Files
- references/topology-model.md — Validated. The Smartscape model:
EXT_NETWORK_DEVICEandEXT_NETWORK_INTERFACEnode types with full field reference, monitoring modes, and thebelongs_to/callsedges. DQL for device inventory (with filtering by mode/type/location/vendor), listing a device's interfaces, resolving an interface to its device, and mapping device/interface neighbor topology. - references/metrics.md — Validated. The
com.dynatrace.extension.network_device.*metric catalog with units, dimensions, and field-typing rules. DQL for device health (top CPU, memory % with fallback, uptime and reboot detection) and interface health (down interfaces, throughput and saturation vs. link speed, error/discard counts, per-device interface detail), each joined to device/interface names. - references/logs.md — Validated. The three log sources: SNMP traps (
extension:com.dynatrace.extension.snmp-traps-generic), syslog (extension:syslog), and auto-discovery activity (extension:com.dynatrace.extension.snmp-auto-discovery). Covers the IP-to-Smartscape join pattern (device.address/dt.ingest.source.ip→snmp.ip), field references for all three sources, and DQL for recent traps with device names, trap frequency by OID, error syslog, top event patterns, combined per-device view, and LLDP/CDP neighbor discovery logs.
FAQ
What does the dt-obs-network-devices skill do?
Analyze SNMP-monitored network devices (switches, routers, firewalls, load balancers) in Dynatrace. Three data layers: Smartscape topology (EXTNETWORKDEVICE / EXTNETWORKINTERFACE nodes, belongsto and calls edges); com.dynatrace.extension.networkdevice. metrics (CPU, memory, uptime, throughput, saturation, errors); and logs (SNMP traps, syslog, auto-discovery). Use to inventory devices, find down or saturated interfaces, check device CPU/memory/uptime, map topology and neighbors, detect interface errors, and investigate traps and syslog events. Trigger: "network device", "switch", "router", "firewall", "SNMP", "interface status", "interface down", "interface utilization", "link saturation", "device CPU", "device memory", "device uptime", "device neighbors", "LLDP", "CDP", "SNMP trap", "syslog". Do NOT use for network flow/traffic or top talkers (use dt-obs-network-flows), host NIC throughput (use dt-obs-hosts), or service request/latency (use dt-obs-services).
How do I install dt-obs-network-devices?
Run npx skills add https://github.com/dynatrace/dynatrace-for-ai --skill dt-obs-network-devices in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/dt-obs-network-devices/ (personal) or .claude/skills/dt-obs-network-devices/ (project).
Which AI agents can use dt-obs-network-devices?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is dt-obs-network-devices safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains dt-obs-network-devices?
It is published by dynatrace in dynatrace/dynatrace-for-ai. It has 919 recorded installs.
More from dynatrace/dynatrace-for-ai
dt-dql-essentials
dynatrace/dynatrace-for-ai
Core DQL syntax, pitfalls, query patterns, and query optimization. Load to write, build, fix, or OPTIMIZE a DQL query — prevents syntax errors and makes queries faster, more efficient, and cheaper (less data scanned = lower query consumption/cost per run). Covers fetch commands, data models, field namespaces, time alignment, entity/smartscape patterns, metric discovery, and performance/cost optimization (filter early, bucket filters, short time ranges, field selection, sampling, cardinality). Trigger: "write/build/fix a DQL query", "DQL syntax", "query logs/spans/metrics", "create a timeseries", "optimize my DQL", "make my query faster/cheaper", "reduce DQL cost/consumption/scanned data", "keep DQL cost under control". Do NOT use to explain an existing query or answer product questions. For MONITORING a tenant's ACTUAL query consumption/billing (how much queries cost, who scanned most, cost trends) use dt-platform-costs — this tunes the query text, not billing data.
dt-app-dashboards
dynatrace/dynatrace-for-ai
Work with Dynatrace dashboards - create, modify, query, and analyze dashboard JSON including tiles, layouts, DQL queries, variables, and visualizations.
dt-obs-logs
dynatrace/dynatrace-for-ai
Log querying, filtering, pattern analysis, and error rate calculation. Use when searching application or infrastructure logs, analyzing error patterns, or correlating log data. Trigger: "show error logs", "search logs for keyword", "log error rate", "recent errors", "logs from last hour", "find log entries", "top error messages", "log patterns", "parse JSON logs", "logs by process group", "log trends over time", "log entry counts per minute". Do NOT use for explaining existing queries, product documentation questions, distributed tracing or span analysis (use dt-obs-tracing).
dt-obs-problems
dynatrace/dynatrace-for-ai
DAVIS problem analysis including root cause identification, impact assessment, and correlation with other telemetry. Use when querying or investigating detected problems. Trigger: "active problems", "root cause analysis", "problem impact", "affected users", "list problems", "P-12345 details", "recurring problems", "problem history", "problem trending", "blast radius", "which entity caused the problem", "problems affecting Kubernetes", "problems by service". Do NOT use for explaining existing queries, product documentation questions, generic log searching, distributed tracing, or host-level resource monitoring.
dt-app-notebooks
dynatrace/dynatrace-for-ai
Work with Dynatrace notebooks - create, modify, query, and analyze notebook JSON including sections, DQL queries, and visualizations.
dt-obs-tracing
dynatrace/dynatrace-for-ai
Distributed traces, spans, service dependencies, and request flow analysis. Use when investigating span-level details, failures, performance bottlenecks, or trace correlation. Trigger: "trace analysis", "slow requests", "failed spans", "service dependencies", "distributed trace", "span details", "HTTP status codes in traces", "database query spans", "messaging spans", "gRPC calls", "Lambda cold starts", "trace ID lookup", "exception analysis", "correlate logs and traces", "request attributes". Do NOT use for explaining existing queries, product documentation or configuration questions, service-level RED metrics (use dt-obs-services), log searching (use dt-obs-logs), or problem analysis (use dt-obs-problems).
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.