# Tools

The **Tools** view offers individual utilities that you can use to run specific tasks on your deployment, such as running compliance reports, etc.

<figure><img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-bffe3c117dc591fc5611bde7a30e259a807f6c66%2Ftools-view.png?alt=media" alt=""><figcaption><p>Tools View</p></figcaption></figure>

The following tools are available:

* [**Insights**](#d5e6470): Gathers and displays useful statistics of your deployment.
* [**Package upgrade**](#d5e6487): Used to perform upgrades to the packages running in NSO.
* [**High availability**](#d5e6538): Used to manage a High Availability (HA) setup in your deployment.
* [**Alarms**](#d5e6565): Shows current alarms/events in your deployment and provides options to manage them.
* [**Commit manager**](#d5e6582): Shortcut to the Commit Manager.
* [**Compliance reports**](#sec.webui_compliance): Used to run compliance checks on your NSO network.

## Insights <a href="#d5e6470" id="d5e6470"></a>

The **Insights** view collects and displays the following types of operational information using the `/ncs:metrics` data model to present useful statistics:

* Real-time data about transactions, commit queues, and northbound sessions.
* Sessions created and closed towards northbound interfaces since the last restart (CLI, JSON-RPC, NETCONF, RESTCONF, SNMP).
* Transactions since last restart (committed, aborted, and conflicting). You can select between the running and operational data stores.
* Devices and their sync statuses.
* CDB info about its size, compaction, etc.

## Package Upgrade <a href="#d5e6487" id="d5e6487"></a>

In the **Package upgrade** view, you can load custom packages in NSO.

The **Reload** button on the **Packages** pane is the equivalent of the **packages reload** command in CLI. Read more about the **reload** action in [NSO Packages](https://nso-docs.cisco.com/guides/nso-6.3/operation-and-usage/operations/listing-packages).

### **Install a Package**

1. In the **Package upgrade** view, click **Browse files** to select a new package (`.tar` or `.tar.gz`) from your local disk.
2. Click **Upload**. The package becomes visible under the **Available** pane.\
   (The **Progress Trace** shows the real-time progress of the upload).
3. Click **Install**.
4. On the **Loaded** pane, click **Reload** and confirm the intent.

### **Uninstall a Package**

* To uninstall a package, simply click **Deinstall** next to the package in the **Loaded packages** list.

## High Availability <a href="#d5e6538" id="d5e6538"></a>

The **High Availability** view is used to visualize your HA setup (rule-based or Raft).

Actions can be performed on the cluster using the **Configuration editor** -> **Actions** tab. Possible actions are further described in the High Availability documentation under [Actions](https://nso-docs.cisco.com/guides/nso-6.3/administration/management/high-availability#d5e5031).

## Alarms <a href="#d5e6565" id="d5e6565"></a>

The **Alarm manager** view displays current alarms in the system. The alarms are categorized as **criticals**, **majors**, and **minors** and can be filtered by device.

You can run actions on an alarm by selecting it and using the **run action** <img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-6ea3e8a0f9562f6854786e4d7d7498b44f9c9a89%2Frun-action.png?alt=media" alt="" data-size="line"> button.

## Commit Manager <a href="#d5e6582" id="d5e6582"></a>

The **Commit manager** displays notifications about commits pending to be approved. Any time a change (a transaction) is made in NSO, the Commit Manager displays a notification to review the change. You can then choose to confirm or revert the commit.

{% hint style="warning" %}
**Transactions and Commits**

Take special note of the Commit Manager. Whenever a transaction has started, the active configuration data changes can be inspected and evaluated before they are committed and pushed to the network. The data is saved to the NSO datastore and pushed to the network when a user presses **Commit**.

Any network-wide configuration change can be picked up as a rollback file. The rollback can then be applied to undo whatever happened to the network.
{% endhint %}

### **Review a Configuration Change**

1. Access the Commit Manager by clicking its icon <img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-b14808924d74a27bc18d3d25ea61deadda2ad813%2Fcommit-manager.png?alt=media" alt="" data-size="line"> in the banner.
2. Review the available changes appearing as **Current transaction**. If there are errors in the change, the Commit Manager alerts you and suggests possible corrections. You can then fix them and press **Re-validate** to clear the errors.
3. Click **Revert** to undo or **Commit** to confirm the changes in the transaction.
   * **Commit Options**: When committing a transaction, you have the possibility to choose **Commit options** and perform a commit with the specified commit option(s). Examples of commit options are: **No revision drop**, **No deploy**, **No networking**, etc. Commit options are described in detail in the JSON-RPC API documentation under [Methods - transaction - commit changes](https://developer.cisco.com/docs/nso-guides-6.3/the-json-rpc-api/#methods-transaction-commit-changes).

{% hint style="info" %}
In the **Commit manager** view, you can fetch additional information about the leaf by enabling **more node options** <img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-a4d2705993cf48c5d3365ea414ce9372b09cbb80%2Fmore-node-options.png?alt=media" alt="" data-size="line"> and clicking the info <img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-2a95b87f665c34134a0372442b7b07774a409753%2Finfo-button.png?alt=media" alt="" data-size="line"> button.
{% endhint %}

#### **Load/Save Configuration Data**

Start a transaction to load or save configuration data using the **Load/Save** option which you can then review for commit. The following tabs are available:

* **Rollback**, to load data that reverts an earlier change.
* **Files**, to load data from a local file on your disk.
* **Paste**, to load data by pasting it in.
* **Save**, to save loaded data to a file on your local disk.

#### **Commit Manager Tabs**

In the **Commit manager** view, the following tabs are shown.

* **changes** tab, to list the changes and actions done in the system, e.g., deleting a device or changing its properties.
* **errors** tab, to list the errors encountered while doing changes. You can review the errors, make changes, and revalidate the error using the **Re-validate** option.
* **warnings** tab, to list the warnings encountered while doing changes.
* **config** tab, to list the configuration changes associated with the change.
* **native config** tab, to list the device configuration data in the native config.
* **commit queue** tab, to manage commit queues. See [Commit Queue](https://nso-docs.cisco.com/guides/nso-6.3/operations/nso-device-manager#user_guide.devicemanager.commit-queue) for more information.

## Compliance Reporting <a href="#sec.webui_compliance" id="sec.webui_compliance"></a>

The **Compliance reporting** view is used to create and run compliance reports to check the current situation, check historical events, or both.

{% hint style="success" %}
The recommended and preferred way of running the compliance reports is through the Web UI.
{% endhint %}

The following main tabs are available in this view:

* **Compliance reports**, to create, run, manage, and view existing compliance reports.
* **Report results**, to view report results and compliance report status.

### **Create a Compliance Report**

1. In the **Compliance reporting** view, click **Add list item** <img src="https://1876216345-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwbLDUJab3XTjcyLTPcUK%2Fuploads%2Fgit-blob-2fec8ff88d2d64656cc48dd8a7477275470d9de6%2Fadd-action.png?alt=media" alt="" data-size="line">.
2. In the **New report** pop-up, enter the report name and confirm.
3. Next, set up the compliance report using the following tabs. For a more detailed description of Compliance Reporting concepts and related configuration options, see [Lifecycle Operations](https://nso-docs.cisco.com/guides/nso-6.3/operation-and-usage/operations/lifecycle-operations) documentation.
   * **General** tab: to configure the report name. Configuration options include:
     * **Report name**: Displays the report name and allows editing of the report name.
   * **Devices** tab: to configure device compliance checks. Configuration options include:
     * **Current out of sync**: Check the device's current status and report if the device is in sync or out of sync. Possible values are **true** (yes, request a check-sync) and **false** (no, do not request a check-sync).
     * **Historic changes**: Include or exclude previous changes to devices using the commit log. Possible values are **true** (yes, include), and **false** (no, exclude).
     * **Device choice**: Include **All devices** or only **Some devices**. If **Some devices** is selected, specify the devices using an XPath expression, device groups, or devices.
     * **Compliance templates**: If a compliance template should be used to check for compliance. See the section called [Device Configuration Checks](https://nso-docs.cisco.com/guides/nso-6.3/operations/compliance-reporting#device-configuration-checks).
   * **Services** tab: to configure service compliance checks. Configuration options include:
     * **Current out of sync**: Check the service's current status and report if the service is in sync or out of sync. Possible values are **true** (yes, request a check-sync) and **false** (no, do not request a check-sync).
     * **Historic changes**: Include or exclude previous changes to services using the commit log. Possible values are **true** (yes, include), and **false** (no, exclude).
     * **Service choice**: Include **All services** or only **Some services**. If **Some services** is selected, specify the services using an XPath expression or service instances.
4. Click **Save** when the report setup is complete.

### **Run a Compliance Report**

1. In the **Compliance reports** tab, click the **Run** button on the desired report.
2. Specify the following:
   * **Report title**
   * **Historical time interval**. The report runs with the maximum possible interval if you do not specify an interval.
3. Click **Run report**.

The report's results, available from the **Report results** tab, show if the report was compliant or has violations. Click **Show details** to fetch additional details.


---

# 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://nso-docs.cisco.com/guides/nso-6.3/operation-and-usage/webui/tools.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.
