3
Consecutive missed hello messages on the failover link that triggers a documented peer-failure declaration
15
Approximate seconds without hello messages before an interface failure is confirmed, per Cisco documentation
3
Commands that isolate most FTD/ASA failover causes: show failover, show failover state, show failover history

SponsoredHorizon3.ai

Proactive Security for the AI Era

NodeZero continuously and autonomously pentests infrastructure, identity, cloud, and now web applications, chaining weaknesses across every domain the way real attackers do. Every finding ships with replayable proof showing exploitable business impact, not theoretical risk.

See NodeZero WebApp in action

Cisco FTD (Firepower Threat Defense) high-availability pairs report state through a specific, documented vocabulary, Waiting, Normal, Failed, Not-Monitored, Just Active, Active Applying Config, and several others, and the problem for a lot of admins is that several of these strings sound like an active outage when they're actually a normal part of a transition, while others that look mundane point at a real, unresolved fault. Cisco's own documentation on failover status messages exists specifically because support cases were being opened over status text that described expected behavior, while genuine interface health-monitoring failures went unaddressed because the message didn't sound urgent enough. This guide walks through reading show failover, show failover state, and show failover history correctly, distinguishing a benign transient status from one that indicates interface health monitoring has actually failed, and diagnosing the real root cause, whether that's a monitored data interface losing its hello exchange, a stateful link problem, a software version mismatch between units, or a configuration sync failure, so you fix the actual cause instead of forcing a manual failover that doesn't address anything. If you're also tracking the broader Cisco advisory landscape, see our coverage of the Cisco FMC static credential CVE-2026-20316 patch and the Cisco SD-WAN zero-day CVE-2026-20245, both relevant if the same FTD or FMC estate you're troubleshooting HA on is also exposed to either issue.

Causes: what actually produces each failover status message

Interface health-monitoring failure is the most common cause of a concerning-looking status. FTD and ASA HA determine interface health by exchanging hello messages between the corresponding interface on each unit; per Cisco's documentation, an interface reporting Waiting is up but simply hasn't yet received a hello packet from its peer's corresponding interface, which is a normal, often momentary, state, not a fault by itself. A monitored interface that stays in Waiting past the expected interval, or that transitions to a Failed or No Link status while its peer interface continues passing traffic successfully, is the pattern that indicates a genuine interface-level problem, whether that's a physical link issue, a switch-side misconfiguration, or the interface being excluded from monitoring inconsistently between the two units.

A stateful (failover) link problem is a second major cause, and because the stateful link carries both the health-check hello messages between units and the actual connection state used for stateful failover, a degraded or saturated stateful link produces both false-looking interface health failures and a real risk of connection loss on an actual failover; Cisco's documented triggers include losing three consecutive hello messages on the failover link itself, which the unit treats as a peer failure.

A software version mismatch between the primary and secondary units is a well-documented cause of failover pairs refusing to sync properly, most often introduced when one unit is upgraded or has a hotfix applied without the matching change on its peer; Cisco explicitly calls this out as a scenario show failover history will surface as a configuration mismatch.

A configuration sync failure, where one unit's running configuration diverges from its peer's, whether from a change applied directly to the standby unit, an incomplete replication after a reload, or a management IP or interface change made without first properly breaking the HA pair, can produce a Failed state even when the underlying interfaces and stateful link are both healthy; Cisco's own documented example of this pattern involved a management IP change on the primary that then caused HA logic to evaluate several data interfaces as unhealthy, driving the unit to Failed despite functioning heartbeat connectivity.

Cisco's documentation also lists a set of harder failure conditions that will more predictably produce a real Failed state rather than a transient one: interface failures confirmed after roughly 15 seconds without hello messages, disk usage exceeding 90%, more than half of Snort instances down, lina process tracebacks, and MIO-blade heartbeat failures on platforms where that applies; these point to resource or process-level problems on the unit itself rather than the network path between units.

Diagnostics: reading show failover, show failover state, and show failover history correctly

Start with show failover. This is the broadest view: it reports the overall failover state of each unit (Active, Standby Ready, Failed, and the transitional states in between) and the monitored status of every interface, distinguishing Normal (Monitored), Waiting, No Link, and Not-Monitored for each one. Read this output for both units side by side where possible; an interface that's Normal on one unit but showing a failure on the other, at the same point in time, is the clearest sign of an asymmetric, single-sided problem rather than a shared network issue.

Run show failover state to get a more detailed per-unit view, including the specific reason text recorded for the current state (for example, an explicit "Ifc Failure" reason with a timestamp), and note which unit is Primary versus Secondary and which currently holds Active versus Standby role, since a status message that looks the same in isolation can mean something different depending on which unit and role it's attached to.

Run show failover history to see the actual sequence of state transitions with timestamps and the recorded reason for each change, not just the current snapshot; per Cisco's guidance, if the history shows "Interface check" as the transition reason, cross-reference back to show failover state (or show failover) to identify exactly which interface triggered it, rather than assuming the cause based on the transition alone. This is also the command to check first when a pair failed over and you weren't watching it happen, since it preserves the reason even after the state has since stabilized.

For a suspected version or configuration mismatch, confirm the running software version on both units directly (rather than relying only on the failover status text), since Cisco documents version mismatches as a scenario that specifically shows up as a configuration mismatch reason in the failover history rather than a plainly labeled version error.

For a suspected stateful link problem, check the stateful link's own interface status and utilization the same way you would any other monitored interface, and correlate any recorded hello-message loss on that link against the timestamps in show failover history; three consecutive missed hellos on the failover link itself is Cisco's documented threshold for a peer-failure declaration, so a stateful link that's intermittently saturated will produce a matching pattern of periodic transitions in the history.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Fixes: resolving the confirmed cause without a manual failover

If a specific data interface is genuinely failing health checks (confirmed by an asymmetric or persistent Failed/No Link status in show failover, not just a transient Waiting), fix the actual interface problem first, the physical link, transceiver, or switch port, before touching HA configuration; Cisco's own documented fix for this exact pattern, when the interface is failing checks in a way disconnected from its actual traffic-carrying ability (as in a management IP change scenario), is to remove that specific interface from HA interface health monitoring rather than leaving it flagging false failures indefinitely. Only take that step once you've confirmed the interface genuinely doesn't need monitoring for your environment's failover requirements, since removing monitoring from an interface that should trigger failover on a real failure trades a false positive for a real blind spot.

If the stateful link is the confirmed cause, address its actual capacity or connectivity issue (a saturated or degraded physical link, a misconfigured switch port, or MTU inconsistency on that link) rather than adjusting HA timers to tolerate more missed hellos, since a chronically overloaded stateful link will also degrade the quality of the actual state synchronization it's meant to protect during a real failover.

If you've confirmed a software version mismatch between the two units, plan and execute a coordinated upgrade or downgrade so both units run the same validated version and patch level; don't attempt to force a sync while the versions differ, since that's the condition Cisco documents as producing the mismatch state in the first place, and a forced sync against mismatched software risks a worse outcome than leaving the pair in a known, understood mismatched state until the maintenance window.

If a configuration sync failure traces back to a change applied directly to one unit outside the normal HA workflow (such as a management IP change made without first breaking the HA pair, matching Cisco's documented example), correct that specific divergence through the supported procedure, breaking the HA pair if the vendor documentation calls for it before making the change, reapplying it correctly, and then reforming the pair, rather than trying to force both units back into sync while the divergent change is still in place.

Validation: confirming the fix actually resolved it

After any fix, run show failover again and confirm every interface you expect to be monitored reports Normal (Monitored) on both units, not just the one you changed, since a fix applied to one side can leave an asymmetry if the peer unit wasn't updated identically.

Run show failover state and confirm the units show the expected steady-state roles, one Active and one Standby Ready, with no lingering "reason" text still referencing the original fault; a stale reason field persisting after a fix usually means the underlying condition hasn't actually cleared, only that a new state transition hasn't yet been triggered to refresh it.

Watch show failover history over a defined observation window (Cisco's own troubleshooting guidance treats a clean history over normal operating conditions, including your typical traffic peaks, as the bar for confidence) rather than declaring success immediately after the fix, since some causes, a marginal stateful link or an interface issue with an intermittent physical fault, only reproduce under specific traffic or environmental conditions you may not hit in the first few minutes.

For a confirmed and corrected version mismatch or configuration sync fix, additionally verify both units report identical software versions and that a manual configuration sync (through the supported FTD/FMC or ASA workflow, not a workaround) completes cleanly, before considering the pair fully healthy again.

Failure cases: when the status keeps reappearing after a fix

An interface that returns to Waiting or Failed shortly after being confirmed healthy, on the same unit each time, points toward an intermittent physical-layer issue, a marginal transceiver, a flapping switch port, or an unstable link, rather than the HA configuration itself; recheck the physical layer directly instead of re-applying the same HA-side fix.

A stateful link that keeps showing missed hellos after you've addressed its apparent capacity or connectivity issue suggests either a second, previously unidentified bottleneck on that same path (a shared upstream link, a congested switch, or asymmetric routing) or that the link's true sustained throughput requirement was underestimated relative to your actual state-sync volume during peak traffic.

A pair that continues to report a configuration mismatch after a coordinated version alignment and a supported resync usually means a configuration element was changed directly on one unit again, intentionally or by an automation tool that isn't HA-aware, after the pair was reformed; audit for any change-management or automation tooling that might be touching one unit's configuration outside the normal HA-synchronized workflow.

Repeated unplanned failovers that don't clearly correlate with any of the interface, stateful-link, version, or configuration causes above, especially if they happen only under peak load, warrant checking overall unit resource health directly (disk usage, Snort instance health, and process status), since Cisco's documented hard failure thresholds, disk usage over 90% and more than half of Snort instances down among them, will trigger a Failed state independent of the network path between units.

Escalation criteria: when to open a Cisco TAC case

Escalate to Cisco TAC when show failover, show failover state, and show failover history together don't clearly identify one of the causes above after you've genuinely checked interface health, the stateful link, software versions, and configuration sync, since TAC has access to more detailed internal HA state and known-defect data tied to your specific FTD/FMC version that isn't visible from the standard CLI output alone.

Escalate before attempting a manual failover as a troubleshooting step on a pair actively serving production traffic if you're not confident the standby unit will assume the active role cleanly; a manual failover used to "see what happens" on an already-unstable pair can turn an intermittent, contained problem into an actual outage.

Escalate if you've corrected a confirmed version mismatch or configuration divergence through the supported procedure and the pair still won't stabilize, since that combination often points to a deeper defect or an edge case in the sync process itself that needs Cisco's own diagnostic tooling to isolate.

Finally, escalate any case where you cannot get a clear, confident answer on whether the pair would actually protect you through a real failure, given how much production traffic depends on it, rather than continuing to self-troubleshoot against a shrinking maintenance window; open the case in parallel with your own continued diagnostics rather than waiting until every self-service avenue is exhausted.

The bottom line

Not every alarming-looking FTD or ASA failover status is a real problem: Waiting on an interface that hasn't yet exchanged a hello is normal and often transient, while a status that stays in Failed, or an interface that's unhealthy on one unit while its peer keeps passing traffic, points at something real. Use show failover for the broad picture, show failover state for the detailed per-unit reason, and show failover history to see the actual sequence and stated cause of past transitions, and let that evidence point you to the real root cause, interface health monitoring, the stateful link, a software version mismatch, or a configuration sync failure, before you touch any HA setting. Fix the specific cause through Cisco's supported procedure, validate over a real observation window that includes peak traffic, and escalate to Cisco TAC when the diagnostics don't clearly point anywhere, or when you can't confidently say the pair would survive a real failure.

Frequently asked questions

Does a Waiting status on a Cisco FTD failover interface mean something is broken?

Not necessarily; per Cisco's documentation, Waiting means the interface is up but has not yet received a hello packet from the corresponding interface on the peer unit, which is a normal, often momentary, state rather than a confirmed fault by itself.

What is the difference between show failover, show failover state, and show failover history?

Show failover gives the broadest current view of unit and interface status, show failover state adds the detailed per-unit reason text for the current state, and show failover history shows the actual sequence of past state transitions with timestamps and stated reasons, which is essential for diagnosing a failover you didn't observe happen live.

What causes an FTD HA pair to show a configuration mismatch in the failover history?

Cisco documents a software version mismatch between the primary and secondary units, often introduced by an upgrade or hotfix applied to only one unit, as a common cause of a configuration mismatch reason appearing in show failover history.

Should I remove a data interface from HA health monitoring if it keeps showing Failed?

Only after confirming the interface's failure status is disconnected from its actual traffic-carrying ability, such as in Cisco's documented example involving a management IP change; removing monitoring from an interface that should genuinely trigger failover trades a false positive for a real blind spot.

How many missed hello messages before Cisco FTD/ASA declares the peer unit failed?

Cisco documents three consecutive missed hello messages on the failover link itself as the threshold at which a unit treats its peer as failed, which is why a saturated or degraded stateful link can produce periodic, load-correlated failover events.

When should I open a Cisco TAC case for an FTD failover problem instead of continuing to troubleshoot?

Escalate when show failover, show failover state, and show failover history together don't clearly point to interface health, the stateful link, a version mismatch, or a configuration sync issue after a genuine check, or when you cannot confidently say the pair would survive an actual failure.

Sources & references

  1. Cisco, Understand Failover Status Messages for FTD
  2. Cisco, Secure Firewall FTD High Availability Sync Interface Check Failure
  3. Cisco, Troubleshoot Firepower Threat Defense High Availability Issues
  4. Cisco, Identify and Analyze FTD Failover Events on FMC

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Related Questions: Answer Hub

Giveaway: InfoSec World 2026 All Access Pass ($3,895 value)

Details →
Daily Briefing

Subscribe to enter the giveaway

Every subscriber is automatically entered. You also get daily threat intel every morning: zero-days, ransomware, and nation-state campaigns. Free. No spam.

Already subscribed? You're already entered.

Giveaway

Win a $3,895 InfoSec World 2026 pass.