For the complete documentation index, see llms.txt. This page is also available as Markdown.

Explain Endpoint Agent Health with Explainability Logging - Open Beta

Any information provided in this document regarding future functionalities is for informational purposes only and is subject to change including ceasing any further development of such functionality. Many of these future functionalities remain in varying stages of development and will be offered on a when-and-if available basis, and Cisco makes no commitment as to the final delivery of any of such future functionalities. Cisco will have no liability for Cisco's failure to deliver any or all future functionalities and any such failure would not in any way imply the right to return any previously purchased Cisco products.

Endpoint Agent Explainability Logging helps you understand whether an Endpoint Agent can collect telemetry and run tests. Instead of showing only that an agent is registered, the ThousandEyes platform reports the agent's health state, the reason for that state, the impact, and the recommended action.

Explainability information is available in Endpoint Experience > Agent Settings. You can also export the information for support and access the same fields through external APIs.

Explainability Logging is supported on Endpoint Agents running on Android, Windows, and macOS. The feature requires Endpoint Agent version 2.57.0 or later and Mobile Endpoint Agent version 1.8.2 or later.

Prerequisites

To view Endpoint Agent settings and generate support bundles, you need a ThousandEyes account with the required admin permissions.

Understanding Explainability Logging

For each agent, Explainability Logging reports the following information:

Information
Description

State

The current health state of the agent. Supported states include Active, Inactive, Degraded, and DeploymentFailed.

Reason

A human-readable explanation and, where available, a stable reason code for the blocker.

Impact

The telemetry or agent function that might be unavailable, such as test scheduling, telemetry collection, or network context.

Recommended action

The remediation that addresses the reported blocker.

Evidence

Bounded, timestamped checks and key fields that support the reported state. Explainability Logging does not expose unrestricted device logs.

Health history

A per-agent record of health-state changes that helps you identify when an issue started.

The state describes the overall condition, while the reason and impact explain what needs attention. An agent can be registered with the ThousandEyes platform and still report an issue that prevents it from running tests or collecting some telemetry.

Viewing Agent Health

  1. In the ThousandEyes platform, go to Endpoint Experience > Agent Settings.

  2. Select an agent.

    The agent details panel opens. Any current Explainability Logging findings appear at the top of the panel. Each finding includes the state, the reason, the impact, and an action.

Endpoint Agent details panel showing degraded health findings with impacts and actions
  1. Review the reported action and correct the relevant device, operating system, mobile device management (MDM), or original equipment manufacturer (OEM) configuration.

  2. Return to the agent details panel and confirm that the current findings and state reflect the change.

The information available depends on the agent platform and whether the agent can check in with the ThousandEyes platform. Some fields might be unavailable when the agent cannot report the required evidence.

Reviewing Common Health Reasons

Explainability Logging uses stable reason codes for common blockers. The following reason codes are included in the current feature definition:

Reason code
State
Reported condition

ACCESS_BACKGROUND_LOCATION_PERMISSION_MISSING

Degraded

Background location permission is missing.

ACCESS_FINE_LOCATION_PERMISSION_MISSING

Degraded

Precise location permission is missing.

APP_IN_STANDBY_BUCKET_RESTRICTED

Degraded

App activity is restricted in standby.

BACKGROUND_EXECUTION_RESTRICTED

Degraded

Background activity is restricted.

BATTERY_OPTIMIZATION_ENABLED

Degraded

Battery optimization is enabled.

CHROME_OS_FOREGROUND_SERVICE_NOT_RUNNING

Degraded

The ChromeOS foreground service is not running.

DEVICE_NOT_FULLY_MANAGED

Degraded

The device is not fully managed.

LOCATION_SERVICES_DISABLED

Degraded

Location services are turned off.

MDM_POLICY_RESTRICTING_AGENT

Degraded

An MDM policy might be restricting the agent.

MISSING_REQUIRED_PERMISSIONS

Degraded

Required permissions are missing.

OEMCONFIG_APPLY_FAILED

Degraded

OEMConfig settings could not be applied.

OEMCONFIG_INCOMPATIBLE_VERSION

Degraded

The device manufacturer's OEMConfig configuration does not support application auto-launch on Android 13 or earlier.

OEMCONFIG_INCOMPATIBLE_VERSION

Incompatible

The device manufacturer's OEMConfig version is incompatible.

OEMCONFIG_NOT_INSTALLED

Degraded

The device manufacturer's OEMConfig application is not installed.

READ_PHONE_STATE_PERMISSION_MISSING

Degraded

Phone state permission is missing.

SCHEDULE_EXACT_ALARM_NOT_ALLOWED

Degraded

Exact alarm scheduling is not granted.

SCHEDULER_NOT_RUNNING

Degraded

Agent check-in is overdue.

SERVICE_THROTTLED_OR_KILLED

Degraded

The agent service was limited or stopped.

UNKNOWN

Degraded

A diagnostic check failed unexpectedly.

The OEMCONFIG_INCOMPATIBLE_VERSION reason code currently has two definitions with different states. Confirm the final product payload before publishing this article if these definitions are consolidated or renamed.

The platform might report a different reason when evidence changes. Use the current reason, impact, and recommended action as the source of truth for the agent's current condition.

Reviewing Deployment and Enrollment Details

For Mobile Endpoint Agents on Android, the agent details panel can include deployment and enrollment information such as:

  • Install method.

  • Install source.

  • Management mode.

  • MDM vendor.

  • Whether OEMConfig is installed.

  • Whether OEMConfig is applied.

This information helps you distinguish a registration problem from a device-management or OEM configuration problem. For example, an agent might register successfully while OEMConfig is not installed or has not been applied.

Endpoint Agent details panel showing deployment and enrollment and device details

Viewing Onboarding Health History

Onboarding Health History records changes to an agent's onboarding health state.

  1. Open the agent details panel from Endpoint Experience > Agent Settings.

  2. Scroll to Device Details.

  3. Select View Onboarding Health History.

    The dialog lists health findings with their state, reason, timestamp, summary, impact, and action. Expand a finding to view its details.

Onboarding Health History dialog showing degraded findings with timestamps, impacts, and actions

Use the history to determine when a permission, scheduling, battery, OEMConfig, or other configuration issue first appeared. The history reports the agent's observed changes; it does not change the device configuration.

Using Explainability Information for Troubleshooting

Use the following workflow when an agent is registered but does not behave as expected:

  1. Confirm that the agent runs a supported version.

  2. Open the agent in Endpoint Experience > Agent Settings.

  3. Read the current state and reason before collecting raw device logs.

  4. Review the impact to determine whether the issue affects test scheduling, telemetry collection, location or Wi-Fi context, service execution, or another supported capability.

  5. Apply the recommended action on the device or in the relevant MDM, OEM, firewall, or operating system configuration.

  6. Review the agent's current state and Onboarding Health History to confirm whether the finding changes.

  7. If the issue persists, include the Explainability Report in the support bundle or provide the explainability fields through your external API workflow.

Explainability Logging reduces the need to infer the cause from an agent's registered status or from unstructured logs. It does not remove the need to check the device or its management configuration when the recommended action requires a device-side change.

Exporting Explainability Information

Explainability information is available through the following support workflows:

  • Support bundles can include an Explainability Report with the state, reason, impact, and health history.

  • External APIs expose the same explainability fields for downstream troubleshooting and automation.

The available fields depend on the agent platform and the evidence that the agent can collect. Treat unavailable fields as unavailable data, not as proof that the corresponding device condition is clear.

Understanding Platform Differences

Mobile Endpoint Agents collect a different set of telemetry from desktop Endpoint Agents. Explainability Logging identifies platform limitations and missing signals where they affect agent health or the collected data.

For example, mobile agents might report missing permissions, blocked background execution, unavailable exact alarm scheduling, OEMConfig problems, or service termination. Desktop agents provide a different set of operating-system and service signals. The platform-specific data model does not mean that every health reason is available on every platform.

Last updated