# Installing Enterprise Agents on Cisco Routers using SD-WAN Manager Feature Templates

This article covers the steps to install a ThousandEyes Enterprise Agent on Cisco routers running in SD-WAN mode that are managed by Cisco SD-WAN Manager (formerly Cisco vManage). For more information about SD-WAN Manager, see the [SD-WAN Manager Documentation](https://www.cisco.com/site/us/en/products/networking/wan/vmanage/index.html).

{% hint style="info" %}
vEdge routers must be added to the SD-WAN Manager inventory list before continuing. For more information, see the [SD-WAN Manager Documentation](https://sdwan-docs.cisco.com/Product_Documentation/vManage_Help/Release_18.3/Configuration/Devices).
{% endhint %}

{% hint style="info" %}
As a part of container package best practices, we recommend updating your container regularly.
{% endhint %}

## Prerequisites

To review the supported Cisco routers and hardware requirements, see the [Support Matrix](https://docs.thousandeyes.com/product-documentation/integration-guides/thousandeyes-cisco-integration#support-matrix).

## Installation Steps

### Log into the Portal

1. Log into the SD-WAN Manager portal.
2. Navigate to **Maintenance > Software Repository**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-20e1caa2f22fa54568f04168ada7be4fb500a621%2Finstalling-enterprise-agents-on-cisco-routers_1.png?alt=media\&token=18381b6e-600a-4c15-b60a-edc4c62d3ba7)

### Optional: Add the Virtual Image

If this is a first time installation, add the virtual image first. Otherwise, move on to the next section:

1. Navigate to **Virtual Images**.
2. Select **Upload Virtual Image > SD-WAN Manager**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-744c8c403a01d17f76cdddd864ae345d235c64d3%2Finstalling-enterprise-agents-on-cisco-routers_2.png?alt=media\&token=27946616-c236-4012-aaaf-b38bc8332328)
3. Upload the ThousandEyes installation image .tar file as an Image Package:

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-85f177fc940dba9c1216348f0f8cf5d89048f7a4%2Finstalling-enterprise-agents-on-cisco-routers_3.png?alt=media\&token=7bf6f099-5a00-4f64-a0eb-5c64a81bebd0)

**Note:** Once the image is uploaded, the filename should be present in the **Virtual Image** list.

### Verify the Virtual Image

To confirm the virtual image is ready, click **Show Info** to review and verify the virtual image's vnfProperties:

![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-045bac4e48f8f744b278235982c52c12b9d28521%2Finstalling-enterprise-agents-on-cisco-routers_4.png?alt=media\&token=10f71782-b542-423b-b19e-b7b06683795c)

![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-09f50463ffeb487df3d5283b32ac2f1a28eacd09%2Finstalling-enterprise-agents-on-cisco-routers_5.png?alt=media\&token=2d38c63a-64ef-4962-845d-08e4bc5783df)

### Create the Feature Template

To create a template for a specific device type:

1. Navigate to **Configuration > Templates**.
2. Select **Feature > Create Template > Add Template**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-9622be58eb23bdecccc1915b10a1e3c0ae24fa9f%2Finstalling-enterprise-agents-on-cisco-routers_6.png?alt=media\&token=cda2d814-477b-49ef-a383-2e02eaa636ac)
3. Under **Select Device**, search for the device model (for example, ISR4431) that you wish to deploy an agent to. See the [Support Matrix](https://docs.thousandeyes.com/product-documentation/integration-guides/thousandeyes-cisco-integration#support-matrix) for compatible routers.
4. Select **ThousandEyes Agent** template from under **Other Templates**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-5e339d678806e0885d5d5b685a1a63ffeb6c7609%2Finstalling-enterprise-agents-on-cisco-routers_7.png?alt=media\&token=49b53d75-8e32-4c53-816f-39f31714afb3)
5. Specify the template name and description.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-0c77143412cde68224095f4069cb5624def4a46f%2Finstalling-enterprise-agents-on-cisco-routers_8.png?alt=media\&token=45060132-e134-4f28-a3f7-c9e44c2388ef)
6. Under **Basic Configuration**, enter the relevant **Account Group Token**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-4166813f92dbe3b0902985d3e2c6c123dab73d90%2Finstalling-enterprise-agents-on-cisco-routers_9.png?alt=media\&token=6a73bb4a-d7c7-4e0d-9362-28116160d3f2)
7. **Optional:** SD-WAN mode allows you to send agent traffic to pre-configured VPN tunnels instead of following the default management route. ThousandEyes supports using the service VPN configuration. Specify the template (either Default, Global, or Device Specific) to deploy the ThousandEyes agent within.

   This will allow you to configure tests that measure end-to-end application experience through both the SD-WAN fabric and direct Internet access. This will also allow you to test the SD-WAN underlay paths through multiple transport networks by configuring additional traffic rules.

   **Note:** Ensure that the agent has network reachability from within the service VPN to the ThousandEyes cloud dashboard over the Internet.

   **Note:** Avoid placing the ThousandEyes agent within VPN 0 as it will limit your ability to test desired networks and services.
8. Under **Advanced**, configure the **Name Server**, **Hostname**, and **Web Proxy**.

![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-e829bdb35f4b3279c6688d8c89a848beef6850cc%2Finstalling-enterprise-agents-on-cisco-routers_10.png?alt=media\&token=a7ab755c-59c6-43ba-acf8-1cf364e2c931)

**Note:** This proxy configuration doesn't support any authentication methods. If you need to configure a proxy that requires basic or PAC authentication, you will need to use the CLI deployment option.

9. Click **Save** to save the template.

### Attach the Feature Template to the Device Template.

1. Navigate to **Configuration > Template > Device**, then search for the device type (i.e. ISR4221x).
2. Click the three dots icon and select **Edit**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-496ac1270b4ba04dcdc9625135267063c2f34560%2Finstalling-enterprise-agents-on-cisco-routers_12.png?alt=media\&token=9d11c045-74c0-48f0-817f-cad7f7555455)
3. Navigate to the **Additional Template**.
4. Open the **ThousandEyes Agent** drop-down menu, and select the template created in steps 2-9.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-f689a2aea26af402bfa0f54c16554041a682da81%2Finstalling-enterprise-agents-on-cisco-routers_13.png?alt=media\&token=0d530fd9-ab7c-4db6-9f6d-66621db1c735)
5. Click **Update** to save the changes.

### Attach the Device Template to a Device

To attach the template:

1. Click the three dots icon and select **Attach Devices**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-7f7dc5a0c6e98934edc6b6bf8a66fa41de91eef6%2Finstalling-enterprise-agents-on-cisco-routers_14.png?alt=media\&token=f3cefaaa-fbca-408b-ad16-740db98b97e2)
2. Select the desired device/s from the **Available Devices** list, then click **Attach**.

   **Note:** The list will only contain vEdge devices that are the same model as the template.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-0b64049e2647649b63c2556c83070534735c8252%2Finstalling-enterprise-agents-on-cisco-routers_15.png?alt=media\&token=30cf6385-1014-4838-84e2-e24150a34386)

### Verify Configuration

Once the template is attached to the desired devices, you can verify it from the **Running Configuration** view:

1. Navigate to **Configuration > Devices**.
2. Click the three dots icon beside the desired device, and select **Running Configuration**.

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-9103fc3f33230c4f7ce90e9404252a3ccf8c3d27%2Finstalling-enterprise-agents-on-cisco-routers_16.png?alt=media\&token=33280fdf-7946-4108-ad5c-4e6ea04eccfc)

   ![](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-f7b1a86f24f734571c6bb0fd682b020210937cf9%2Finstalling-enterprise-agents-on-cisco-routers_17.png?alt=media\&token=260e5e41-bb0f-46db-9ea5-9aabcf55c429)

### Agent Management

Agents can be un-deployed by removing the ThousandEyes Agent feature template from the device template. However, SD-WAN Manager cannot disable the running Agents once they are deployed. You will need to use either the web app or the CLI for agent management. See [Reconfiguring the Docker Container](https://docs.thousandeyes.com/product-documentation/global-vantage-points/enterprise-agents/installing/cisco-devices/installing-enterprise-agents-on-cisco-routers#reconfigure-the-docker-container) for CLI instructions.

## Frequently Asked Questions

**What is the expected NTP behavior for a Catalyst 8000 series deployed Enterprise agent?**

The enterprise agent on a Catalyst 8000 series switch uses the host system kernel clock. It also sends packets to **pool.ntp.org** to determine any clock offset. It does not try to adjust the host or container clock but will adjust measurement timestamps based on the clock offset.

**Can the default external NTP source (pool.ntp.org) be changed to a customer's internal NTP source?**

No. The agent uses **pool.ntp.org** to determine clock offset by default; this is currently not configurable.

**How do I connect to the agent shell for Cisco agents?**

To access the agent shell of a Cisco Enterprise Agent that is actively running, use the following command:

```
catalyst#app-hosting connect appid {application name} session
#
```

Once inside the agent shell, you can refer to the agent log for any further troubleshooting:

```
# tail /var/log/agent/te-agent.log
```

{% hint style="info" %}
If connection or DNS resolution errors are found in the log file, your agent cannot connect to the ThousandEyes platform. Check your app-vnic configuration and make sure the agent IP can reach the internet.
{% endhint %}

For more information on configuration options, see [Docker Agent Config Options](https://docs.thousandeyes.com/product-documentation/global-vantage-points/enterprise-agents/installing/docker-agent-config-options).

**Can I use ThousandEyes troubleshooting utilities?**

From Agent 4.0.2 onwards, `te-agent-utils` are pre-installed on Cisco Enterprise Agents. For more information on the available utilities, see [CLI Network Troubleshooting Utilities](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/troubleshooting/cli-network-troubleshooting-utilities).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thousandeyes.com/product-documentation/global-vantage-points/enterprise-agents/installing/cisco-devices/installation-methods/installing-enterprise-agents-on-cisco-routers-using-sd-wan-manager-feature-templates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
