Courseiva
350-601Chapter 18 of 18Objective 5.4

Monitoring and Troubleshooting Automation

Exam objective 5.4 focuses on using automation to monitor and troubleshoot a data centre network. This chapter explains how you can make the network watch itself, catch problems instantly, and even fix them without you touching a keyboard. For the 350-601 exam, you need to know exactly which tools do what, and how to interpret the results they produce.

12 min read
Advanced
Updated Jul 24, 2026
Editorial oversight: Johnson Ajibi· Security Systems Architect · MSc IT Security · IEEE Senior Member

A simple way to picture Monitoring and Troubleshooting Automation

The Building Superintendant Analogy

A building superintendant is the person who keeps a large office tower running smoothly. They don’t just wait for tenants to call about a broken lift or a leaky pipe. Instead, they rely on a network of smart sensors and automated alerts.

In the boiler room, sensors send real-time data to a central dashboard: temperature, pressure, energy use. If the pressure climbs too high, an automated script doesn’t just sound an alarm—it opens a relief valve, logs the event, and pages the superintendant with a specific diagnosis. This is exactly how network automation for monitoring and troubleshooting works.

The superintendant also sets up 'Embedded Event Managers'—rules that say 'if the emergency generator starts, check fuel levels immediately and send a report.' These are the same as Cisco EEM policies that watch for interface flaps or CPU spikes and trigger automated recovery actions. And when the superintendant notices the same cooling fan failing every quarter, they write a script that pre-orders the part the moment the first failure sign appears. That proactive, script-driven response is telemetry-based troubleshooting: the system watches thousands of data points and acts before a human could even notice the pattern.

How It Actually Works

Monitoring and troubleshooting are the two tasks that keep a network healthy. Monitoring means constantly watching the network’s vital signs—like CPU usage on a switch, temperature in a rack, or the number of packets dropped on a link. Troubleshooting means figuring out why something went wrong and fixing it. Automating these tasks means training the network equipment to do the watching and the fixing by itself, using scripts and built-in rules.

Before automation, a network engineer had to log into every device manually, run ‘show’ commands, and compare output by eye. That process was slow, error-prone, and impossible at scale. A data centre might have hundreds of switches and thousands of virtual servers. A human cannot check every interface on every device every second—but a script can.

The exam objective covers three main approaches: Embedded Event Manager (EEM), scripts, and telemetry.

EEM is a feature built into Cisco’s operating system (IOS-XE and NX-OS). It works like a ‘if this, then that’ rule set directly on the device. You define an event—for example, ‘the interface goes down’—and an action—‘send a syslog message and reload the module.’ EEM runs inside the device’s own software, so it acts immediately without relying on an external server. Common events for EEM include timer-based (run a check every 5 minutes), syslog-pattern-based (when a specific log message appears), and counter-based (when the CPU hits 90% for 30 seconds).

Scripts are more flexible. You write a program—often in Python—that runs on an external server (or directly on the device via ‘guest shell’ in NX-OS). The script can connect to multiple devices, parse their output with tools like regex, and make decisions based on the data. For example, a Python script could log into every switch in a pod once a minute, check the temperature sensor, and if any reading is over 50 degrees Celsius, send an email to the operations team and a Webex message to the on-call engineer. Scripts are powerful because they can combine data from many sources and do complex logic.

Telemetry is the most modern approach. Instead of the engineer polling devices every few minutes (which wastes CPU and bandwidth), the device pushes data to a collector whenever something changes or on a precise schedule. This is called ‘model-driven telemetry’ (MDT). The device sends structured data—usually in JSON or GPB format—to a receiver like Cisco’s ‘Data Center Network Manager’ (DCNM) or an open-source tool like InfluxDB. Telemetry gives you real-time, granular visibility. For instance, an interface buffer utilisation metric can be streamed every second, allowing you to spot micro-bursts that would never show up in a 5-minute poll.

Why does this matter for the exam? Cisco 350-601 expects you to know when to use each tool. For a simple, device-local action like ‘if this interface flaps, shut it down,’ the answer is EEM. For a multi-device check across the whole fabric, the answer is a script. For continuous, low-latency monitoring, the answer is telemetry. The exam will present scenarios—‘you need to watch 40 leaf switches for buffer drops and alert within 2 seconds’—and you must pick the right technology.

Another key concept is the ‘network controller’ role. In a data centre, you might use Cisco ACI (Application Centric Infrastructure) or NDO (Nexus Dashboard Orchestrator). These controllers have built-in monitoring and troubleshooting automation. For example, ACI’s ‘fault’ system automatically raises alerts for misconfigurations and can even suggest remediation scripts. The exam tests whether you understand how controller-based automation differs from device-by-device EEM or scripts—controllers centralise the logic and enforce policies from one place.

Finally, the exam covers ‘remediation automation’—using scripts or EEM to not just detect a problem, but fix it automatically. This might mean triggering a port bounce if a link has too many CRC errors, or rerouting traffic if a temperature sensor goes critical. You need to know that automatic remediation is powerful but risky, so Cisco recommends ‘confirm’ steps or approval workflows in production.

In summary, monitoring and troubleshooting automation replaces manual, slow, human-driven checks with fast, consistent, machine-driven actions. EEM handles simple triggers on a single device, scripts orchestrate complex logic across many devices, and telemetry streams live data for proactive detection. The 350-601 exam tests your ability to match the right automation method to the right problem scenario.

Flowchart showing Cisco Nexus switches streaming telemetry to a collector, running local EEM policies, and a central Python script interacting with the APIC controller to generate alerts.

Walk-Through

1

Identify the Monitoring Requirement

First, determine exactly what needs monitoring—interface utilisation, CPU temperature, BGP session state, or specific syslog patterns. This step defines the data source and the frequency (e.g., ‘every 2 seconds, stream queue drops on all leaf interfaces’). For the exam, you must match the monitoring requirement to the correct Cisco feature (telemetry sensor path, EEM event type, or script API call).

2

Select the Automation Tool

Choose between EEM (for single-device, local, fast reaction), Python script (for cross-device logic and integration with external systems), or telemetry (for streaming, real-time data). The selection depends on whether the action needs to happen on the device itself or across the fabric, and whether the data must be stored externally for historical analysis.

3

Configure the Trigger or Data Source

For EEM, write an ‘event’ clause (e.g., ‘event syslog pattern “LINK-UPDOWN”’). For telemetry, enable the appropriate sensor group (e.g., ‘sensor-group 1 path “show interface”’). For a script, define the connection parameters (IP addresses, credentials, API endpoints). This step is where most configuration errors occur on the exam—pay attention to exact syntax for NX-OS commands.

4

Define the Action or Response Logic

Specify what happens when the trigger fires. For EEM, this is an ‘action’ clause (send email, run CLI, call script). For scripts, write the conditional logic (if temperature > 50, then send alert). For telemetry, the action happens on the collector side—you must configure the collector to store, analyse, and alert. The exam tests whether you can sequence actions properly (e.g., first capture data, then log, then notify).

5

Test and Validate the Automation

Never deploy monitoring automation directly into production without testing. Simulate the trigger (e.g., manually shut an interface in a lab) and check that the EEM action runs, the telemetry data appears in the collector, or the script produces the expected output. The exam includes questions about validation commands like ‘show event manager history events’ and ‘show telemetry data-sources’.

6

Implement Safety and Escalation Rules

For automatic remediation, add safeguards: only execute after a sustained condition (e.g., CPU > 95% for 60 seconds, not 10 seconds), or require human approval via a ticketing system. The exam warns against auto-reloading a device too aggressively. Implement deadband logic in scripts and use EEM’s ‘track’ objects to avoid cascading failures.

What This Looks Like on the Job

Consider a large financial services company running a Cisco ACI fabric with 60 leaf switches and 8 spine switches, connecting thousands of virtual machines running trading applications. The network operations team has two goals: never miss a performance anomaly, and fix any failure within 60 seconds.

First, they set up model-driven telemetry from every leaf switch. They configure the ‘interface-statistics’ sensor group to stream inbound and outbound packet counters, queue drops, and CRC errors every 2 seconds. The data flows to a central collector running the open-source Telegraf agent and into InfluxDB, a time-series database. A Grafana dashboard displays real-time charts. The team can see when a specific port starts dropping packets long before users complain.

Second, they write Python scripts that run on a management server. One script connects to the APIC (Application Policy Infrastructure Controller) via its REST API every 30 seconds. It fetches the ‘fault summary’ and checks for any new ‘critical’ faults. If a fault indicates ‘link down on interface eth1/1 on leaf-12’, the script automatically opens a ticket in ServiceNow and sends a Webex message to the on-call engineer with the exact interface name and the time since failure.

Third, they deploy an EEM policy on each leaf switch. The policy watches for the event ‘_syslog_msg .* LINK-UPDOWN.*INTERFACE.*eth1/11.*down’. When that pattern matches, EEM executes a ‘show tech-support’ command, saves the output to a file on the bootflash, and sends a simple SNMP trap to the network management system. This gives them a forensic snapshot without any manual login.

The real power comes from combining these tools. One morning, telemetry shows that leaf-05’s buffer utilisation is hitting 100% every 10 seconds for 200-millisecond bursts. The Python script detects the upward trend (comparing current values to a moving average), and triggers an EEM action that temporarily changes the queue-limit on the affected interface to absorb the burst. The trading application never sees latency, and the team is alerted only after the automated mitigation, not before.

Another common scenario is software upgrade troubleshooting. The team writes a Python script that, before an upgrade, takes a ‘snapshot’ of all interface statuses, OSPF neighbours, and BGP sessions. After the upgrade, it runs again and compares the two sets of data. Any mismatch—like an interface that stayed down after reboot—is highlighted in a report. This saves hours of manual comparison.

The key lesson for the exam: real-world automation is not one tool. It is a layered approach—telemetry for real-time visibility, scripts for orchestration and analysis, and EEM for immediate, local reaction. The scenario above demonstrates each layer and how they complement each other.

How 350-601 Actually Tests This

The 350-601 exam tests monitoring and troubleshooting automation in several specific ways. First, you will face scenario-based multiple-choice questions. They describe a problem (e.g., ‘Users report intermittent drops on VLAN 100. You need to capture the exact time and cause.’) and four solution options. The correct answer almost always pairs the right automation tool with the right data source.

Second, the exam includes ‘drag and drop’ questions where you match terms like ‘syslog pattern’ with ‘EEM event’ or ‘GPB’ with ‘telemetry encoding’. You must know the specific names Cisco uses:

- For EEM: event types include ‘syslog’, ‘counter’, ‘timer’, ‘none’ (for manual trigger), and ‘snmp’ (for SNMP object change). - For telemetry: encoding formats are ‘GPB’ (Google Protocol Buffers) and ‘JSON’ (JavaScript Object Notation). Cisco devices use ‘dial-out’ mode (the device pushes data) rather than ‘dial-in’ (polling). - For scripts: the exam expects you to know Python is the supported language on NX-OS guest shell, and that scripts can be invoked via EEM’s ‘action clause’ or manually. Third, a common trap question asks you to identify the best tool for ‘real-time, sub-second monitoring.’ Many beginners pick EEM because they think ‘on-device’ equals ‘fastest’. However, the correct answer is telemetry, because EEM reacts to events that have already happened (a syslog is generated after the interface is already down), while streaming telemetry can monitor metrics at one-second intervals before a failure occurs. Fourth, the exam tests your understanding of what automation replaces. A typical question: ‘Which approach eliminates the need for periodic polling from a network monitoring server?’ The answer is ‘model-driven telemetry’ because it uses push-based data delivery instead of SNMP polls. Fifth, be ready for questions about EEM actions. Cisco EEM supports ‘action write syslog’, ‘action send email’, ‘action cli command’, ‘action track [object]’, and ‘action reload’. The exam may ask you to sequence them correctly for a given response. What they do not test: complex Python programming syntax. They assume you can read a simple Python snippet that connects to a device and parses output, but they will not ask you to debug full code. Memorise these specific numbers:

- Telemetry cadence can be as low as 100ms for certain counters. - EEM timer minimum interval is 1 second. - The default snmp poll interval in NMS tools is 5 minutes. Finally, the exam often presents a scenario where automatic remediation is too aggressive. For example, a question: ‘You configure EEM to reload a switch if the CPU exceeds 95% for 10 seconds. What is the primary risk?’ The answer is ‘network instability caused by unnecessary reloads during temporary spikes.’ They want you to know that automation must be designed with thresholds and deadbands. Key topics to review for the exam:

- EEM event triggers on NX-OS - Telemetry sensor paths (show telemetry brief) - Python guest shell on NX-OS - APIC fault monitoring via REST API - Comparison of SNMP polling vs telemetry streaming - Remediation automation safety (approval workflows, confirm commands) - Use of ‘event manager directory user policy’ to load EEM scripts from bootflash Do not waste time on vendor-specific tools that are not Cisco. The exam only tests Cisco’s implementations—EEM, NX-OS telemetry, ACI, and DCNM. If an answer mentions an open-source tool like Prometheus, it is likely a distractor unless the question explicitly says ‘third-party tool.’

Key Takeaways

Cisco EEM runs directly on the device to detect local events like interface flaps or high CPU and trigger immediate actions without external servers.

Model-driven telemetry pushes structured data (JSON or GPB) from devices to a collector at sub-second intervals, enabling proactive detection of micro-bursts and gradual failures.

Python scripts executed on the NX-OS guest shell or an external server can orchestrate monitoring and remediation across hundreds of switches using APIs or CLI parsing.

The 350-601 exam tests your ability to choose between EEM (single-device, event-driven), scripts (multi-device, flexible), and telemetry (streaming, low-latency) based on scenario requirements.

Automated remediation must be designed with safety thresholds and deadbands to avoid unnecessary network disruption from transient conditions.

APIC and DCNM provide centralised fault monitoring and can trigger automated actions via REST APIs, but they are not a replacement for device-level EEM for immediate local response.

Syslog-based EEM triggers run after the event has already occurred, making them unsuitable for preventing failures; telemetry is better for predictive monitoring.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

EEM

Runs directly on the network device's OS (NX-OS/IOS-XE)

Reactive to local events only (syslog, counter, timer)

No external server or network dependency required for execution

Python Script

Runs on external management server or guest shell container

Can coordinate actions across hundreds of devices simultaneously

Integrates with external APIs (ServiceNow, email, databases)

SNMP Polling

Pull-based: management station requests data periodically (every 5 min)

Returns raw data in MIB format; must be parsed by NMS

High overhead on device CPU for frequent polls; not suitable <1 minute intervals

Model-Driven Telemetry

Push-based: device sends data on schedule or change (every 100ms)

Structured data in JSON or GPB format; easier to parse

Low overhead; designed for sub-second granularity without CPU impact

Local EEM (on-device)

Reacts to events on a single switch only

No central view; each device acts independently

Best for immediate, local fixes (e.g., flap an interface)

Centralised Controller (APIC)

Monitors and automates across the whole fabric

Central policy engine; enables consistent automated responses

Best for fabric-wide event correlation and complex remediation workflows

Watch Out for These

Mistake

EEM can only be used for simple 'if this happens, log it' actions — it cannot execute complex scripts.

Correct

EEM can trigger Python scripts (via guest shell) and run multiple CLI commands with conditional logic, making it suitable for multi-step remediation within a single device.

Many beginners see EEM examples that only send syslog messages, not realising that its 'action' clause supports full CLI scripting and script launches.

Mistake

Telemetry and SNMP polling are essentially the same thing — just different names for the same data.

Correct

SNMP polling is a pull model where the management station requests data periodically; telemetry is a push model where the device sends data automatically. Telemetry supports higher frequency and more granular data.

Both deliver performance metrics, so novices assume they are interchangeable. The architectural difference (push vs pull) is the critical distinction on the exam.

Mistake

You can use EEM to monitor and react to events across multiple switches from a single policy.

Correct

EEM runs locally on one device and can only see events happening on that device. To coordinate actions across multiple devices, you need an external script or a centralised controller like ACI.

The term 'event manager' sounds centralised, but EEM is strictly per-device.

Mistake

Automated remediation is always better than manual because it is faster — you should set EEM to fix every problem without human review.

Correct

Automatic remediation can cause more problems than it solves (e.g., reloading a switch due to a transient CPU spike). Best practice is to use human-in-the-loop or confirmation steps for high-impact actions unless the failure is well-understood and safe.

The appeal of 'set and forget' is strong, but networks are complex and automatic actions can cascade.

Mistake

To use telemetry, you must replace your existing network switches with newer models that support it.

Correct

Cisco Nexus 9000, 7000, and 3000 series switches (with appropriate NX-OS versions) already support model-driven telemetry without hardware swap. It is a software-enablement feature.

Telemetry seems advanced, so beginners assume it requires new hardware, but it is typically enabled via a license or software upgrade.

Mistake

EEM policies are only useful for reacting to failures — they cannot be used for proactive capacity planning.

Correct

EEM can be set with timer-based events to collect data at regular intervals (e.g., every hour capture 'show interface counters' and write it to a file), which feeds capacity planning and trend analysis.

The word 'event' suggests incident response, but timer-based events allow scheduled data collection too.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What is the difference between EEM and a Python script for monitoring?

EEM runs inside the device’s operating system and reacts to local events (like interface down) with predefined actions, without needing an external server. A Python script runs on an external server (or guest shell) and can interact with multiple devices, perform complex logic, and integrate with APIs (like ServiceNow) beyond what EEM offers.

Does model-driven telemetry replace SNMP completely?

Yes, for real-time monitoring Cisco recommends telemetry over SNMP because it pushes data instead of pulling, supports higher granularity (sub-second), and uses structured formats (JSON/GPB). However, SNMP is still common for legacy device support and inventory management.

Can EEM run Python scripts directly?

Yes, on NX-OS devices with the guest shell feature enabled, you can use the ‘action cli python script’ command within an EEM policy to execute a Python script. The script runs in the guest shell container on the same device.

How do I know which telemetry sensor paths to use for 350-601?

Learn the most common paths: ‘show interface’ for interface counters, ‘show system resources’ for CPU/memory, ‘show environment’ for temperature/fan. The exam expects you to match the path to the desired metric—for example, using the ‘Cisco-NX-OS-device’ model group.

What is the default telemetry cadence on Nexus switches?

There is no single default; you configure it per sensor group. Common cadences are 1, 2, 5, or 10 seconds. The minimum supported interval is 100 milliseconds for some counters, but 1 second is typical for most monitoring use cases.

Can I use EEM to automate responses to ACI faults?

No, EEM runs on individual NX-OS switches, not on the APIC controller. To automate responses to ACI faults, you should use the APIC’s REST API with a Python script that polls the fault endpoint and triggers remediation actions.

What is the exam’s main trap regarding telemetry vs polling?

The exam will describe a scenario needing sub-second data (e.g., ‘detect micro-bursts’) and offer both SNMP polling (5-minute intervals) and telemetry. Beginners often pick SNMP because they are more familiar with it, but the correct answer is always telemetry for real-time, high-frequency data.

Terms Worth Knowing

Keep going

You've finished Monitoring and Troubleshooting Automation. Continue through the 350-601 study guide to build a complete picture of the exam.

Done with this chapter?