<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/integrations/cato_networks_topology.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/metadata.yaml"
sidebar_label: "Cato Networks Topology"
learn_status: "Published"
learn_rel_path: "Network Performance Monitoring/Topologies/Integrations"
keywords: ['cato', 'sase', 'sd-wan', 'topology', 'npm']
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NPM CATALOG metadata.yaml FILE"
endmeta-->

<!-- markdownlint-disable-file -->

# Cato Networks Topology


<img src="https://netdata.cloud/img/network-wired.svg" width="150"/>


Plugin: go.d.plugin
Module: cato_networks

<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />

## Overview

Map a Cato Networks SASE fabric. The Cato collector renders sites, sockets, and gateways with their tunnel and transport paths.

The Cato collector reads the Cato Management Application over its API and renders the fabric as a `netdata.topology.v1` graph.

This integration is supported on all platforms.

This integration supports multiple instances configured side-by-side.


### Default Behavior

#### Auto-Detection

Built from the configured Cato account.

#### Limits

The default configuration for this integration does not impose any limits.

#### Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

## Setup


You can configure the **cato_networks** collector in two ways:

| Method                | Best for                                                                                 | How to                                                                                                                                 |
|-----------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| [**UI**](#via-ui)     | Fast setup without editing files                                                         | Go to **Nodes → Configure this node → Collectors → Jobs**, search for **cato_networks**, then click **+** to add a job. |
| [**File**](#via-file) | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit `go.d/cato_networks.conf` and add a job.                                                                        |

:::important

UI configuration requires paid Netdata Cloud plan.

:::


### Prerequisites

#### Cato API access

A Cato Management Application API key with read access to the account you want to map.


### Configuration

#### Options

Configure the Cato Networks collector with your account ID and API key. See the [Cato Networks collector](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/cato_networks/integrations/cato_networks.md) page for all options. `update_every` must be at least 60; `url` defaults to the Cato public GraphQL endpoint and only needs setting for a different region or a proxy.


#### via UI

Configure the **cato_networks** collector from the Netdata web interface:

1. Go to **Nodes**.
2. Select the node **where you want the cato_networks data-collection job to run** and click the :gear: (**Configure this node**). That node will run the data collection.
3. The **Collectors → Jobs** view opens by default.
4. In the Search box, type _cato_networks_ (or scroll the list) to locate the **cato_networks** collector.
5. Click the **+** next to the **cato_networks** collector to add a new job.
6. Fill in the job fields, then click **Test** to verify the configuration and **Submit** to save.
    - **Test** runs the job with the provided settings and shows whether data can be collected.
    - If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest.


#### via File

The configuration file name for this integration is `go.d/cato_networks.conf`.

The file format is YAML. Generally, the structure is:

```yaml
update_every: 1
autodetection_retry: 0
jobs:
  - name: some_name1
  - name: some_name2
```
You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-configuration-files) script from the
Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#locate-your-config-directory).

```bash
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/cato_networks.conf
```

##### Examples

###### Minimal job

The two required fields. `url` defaults to the Cato public GraphQL endpoint, and `update_every` must be at least 60.

```yaml
jobs:
  - name: cato
    account_id: "12345"
    api_key: SECRET

```


## Alerts

There are no alerts configured by default for this integration.



## Metrics
