<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/integrations/coriolis_networks_snmp_traps.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/metadata.yaml"
sidebar_label: "Coriolis Networks SNMP Traps"
learn_status: "Published"
learn_rel_path: "Network Performance Monitoring/SNMP Traps/Integrations"
keywords: ['coriolis-networks', 'snmp', 'trap', 'traps', 'inform', 'notification', 'npm']
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NPM CATALOG metadata.yaml FILE"
endmeta-->

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

# Coriolis Networks SNMP Traps


<img src="https://netdata.cloud/img/SNMP.png" width="150"/>


Plugin: go.d.plugin
Module: snmp_traps

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

## Overview

Receive, decode, and store SNMP traps and INFORMs from Coriolis Networks devices with Netdata. The bundled Coriolis Networks trap profile decodes 57 trap definitions across 5 MIBs into structured journal events with named, typed varbinds — searchable and filterable in the Logs tab.

Netdata's SNMP trap listener receives traps on UDP/162, matches them to the Coriolis Networks enterprise OID space, and decodes the varbinds using the bundled Coriolis Networks trap profile. No per-trap configuration.

This integration is supported on all platforms.

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


### Default Behavior

#### Auto-Detection

Traps from Coriolis Networks devices are decoded automatically once the device is pointed at the Agent's trap listener.

#### 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 **snmp_traps** 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 **snmp_traps**, 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/snmp_traps.conf` and add a job.                                                                        |

:::important

UI configuration requires paid Netdata Cloud plan.

:::


### Prerequisites

#### Devices configured to send traps

The devices must be configured to send SNMP traps or INFORMs to the Netdata Agent acting as the site's trap receiver, and the trap port must be reachable from them.

#### A usable Netdata log directory

Jobs that write direct journals store them under `${NETDATA_LOG_DIR}/traps/` — `/var/log/netdata` on package installs, `/opt/netdata/var/log/netdata` on static ones. Job creation fails if that directory is missing or unwritable. A job that only exports over OTLP can set `journal.enabled: false` instead.

#### Permission to bind the trap port

The default listener is UDP/162, a privileged port: binding it needs `CAP_NET_BIND_SERVICE` or root on Linux. Netdata packages grant this capability, so standard installations just work; hardened or custom deployments must grant it, or move the listener to an unprivileged port.


### Configuration

#### Options

Configure the trap listener: the address and port it binds, the SNMP versions and credentials it accepts, and the enrichment options — see the [SNMP Trap Listener](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/snmp_traps/integrations/snmp_trap_listener.md) page for the full option reference. Trap decoding itself needs no configuration: the stock trap profiles ship with Netdata.


#### via UI

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

1. Go to **Nodes**.
2. Select the node **where you want the snmp_traps 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 _snmp_traps_ (or scroll the list) to locate the **snmp_traps** collector.
5. Click the **+** next to the **snmp_traps** 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/snmp_traps.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/snmp_traps.conf
```

##### Examples

###### Basic (SNMPv1/v2c)

A single listener on the standard trap port, accepting any SNMPv1/v2c community. `listen` is required: without an endpoint the job binds nothing. Restrict the allowlist for production.

```yaml
jobs:
  - name: local
    listen:
      endpoints:
        - protocol: udp
          address: 0.0.0.0
          port: 162
    versions:
      - v1
      - v2c

```


## Alerts

There are no alerts configured by default for this integration.



## Metrics

Netdata decodes **57 trap definitions** from Coriolis Networks across **5 MIBs** into structured journal events. A trap is decoded **only if the device actually sends it**; inclusion here means the profile can decode it.

**By severity:** `alert` 2 · `crit` 2 · `warning` 36 · `notice` 16 · `info` 1

**By category:** `state_change` 31 · `config_change` 3 · `diagnostic` 23

### Coverage by MIB

| MIB | Trap definitions |
|:----|----:|
| `PORT-MIB` | 25 |
| `DEVICE-MIB` | 19 |
| `RING-MIB` | 6 |
| `CARD-MIB` | 4 |
| `CIRCUIT-MIB` | 3 |

### Sample decoded traps

- `PORT-MIB::portPhyStatusChange`
- `PORT-MIB::portAdminStatusChange`
- `CARD-MIB::moduleStatusChange`
- `RING-MIB::ringOperStatusChange`
- `RING-MIB::neReachabilityChange`
