<!--startmeta
custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/integrations/chatsworth_pdu.md"
meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/snmp/npm-catalog/metadata.yaml"
sidebar_label: "Chatsworth PDU"
learn_status: "Published"
learn_rel_path: "Network Performance Monitoring/Device Metrics/Integrations"
keywords: ['chatsworth', 'pdu', 'snmp', 'pdu', 'npm']
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE NPM CATALOG metadata.yaml FILE"
endmeta-->

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

# Chatsworth PDU


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


Plugin: go.d.plugin
Module: snmp

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

## Overview

Monitor Chatsworth PDU (pdu) with Netdata over SNMP. Netdata recognizes the device automatically by its `sysObjectID` (recognized across 1 device identifiers) and collects the metrics this profile declares — on top of the generic SNMP baseline — with no manual OID configuration.

Netdata's SNMP collector matches the device to the **chatsworth-pdu.yaml** profile via `sysObjectID`/`sysDescr`, then polls the OIDs it declares.

This integration is supported on all platforms.

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


### Default Behavior

#### Auto-Detection

Auto-detected as Chatsworth PDU via sysObjectID/sysDescr.

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

:::important

UI configuration requires paid Netdata Cloud plan.

:::


### Prerequisites

#### SNMP access

SNMP must be enabled on the device and reachable from the Netdata Agent acting as the site's SNMP hub.


### Configuration

#### Options

Configure the SNMP collector with the device hostname and SNMP credentials. See the SNMP collector reference for all options.


#### via UI

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

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

##### Examples
There are no configuration examples.



## Alerts

There are no alerts configured by default for this integration.



## Metrics

On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration — interfaces, system, IP/TCP/UDP, host resources), this Chatsworth PDU profile adds the metrics below. Each is collected **only where the device exposes the matching OID** — inclusion means the profile requests it; availability depends on the device model and software.

**104 metrics** in 12 groups; each row is a chart context usable in alerts.

| Group | Metrics |
|---|---|
| Hardware / Branch | 1 |
| Hardware / Lock | 3 |
| Hardware / Outlet | 1 |
| Hardware / PDU | 6 |
| Hardware / Sensor | 4 |
| PowerFlow / Branch | 29 |
| PowerFlow / Line | 4 |
| PowerFlow / Outlet | 52 |
| PowerFlow / PDU | 1 |
| System / Firmware | 1 |
| System / Uptime | 1 |
| Uncategorized | 1 |

### Hardware / Branch

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduBranchStatus` | `{status}` | per branch_id, pdu_name, pdu_name | Alarm status of the branch |

### Hardware / Lock

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduDoorStatus` | `{status}` | per lock_id | Door sensor status, closed or open |
| `snmp.device_prof_cpiPduEasStatus` | `{status}` | per lock_id | Status of the Electronic Access Control system |
| `snmp.device_prof_cpiPduLockStatus` | `{status}` | per lock_id | Lock status, closed or open |

### Hardware / Outlet

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduOutletStatus` | `{status}` | per outlet_id, outlet_name, outlet_branchid | Alarm status of the outlet |

### Hardware / PDU

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduChainRole` | `{status}` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Role of the PDU in a daisy chain |
| `snmp.device_prof_cpiPduNumberBranches` | `{branch}` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Number of branches in the PDU |
| `snmp.device_prof_cpiPduNumberOutlets` | `{outlet}` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Number of outlets in the PDU |
| `snmp.device_prof_cpiPduOutOfService` | `{status}` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Whether the PDU is in service |
| `snmp.device_prof_outOfService` | `{status}` | device | PDU operation status |
| `snmp.device_prof_pduRole` | `{status}` | device | PDU role |

### Hardware / Sensor

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_humidityProbe1` | `%` | device | Probe 1 humidity |
| `snmp.device_prof_humidityProbe2` | `%` | device | Probe 1 humidity |
| `snmp.device_prof_temperatureProbe1` | `degF` | device | Probe 1 temperature |
| `snmp.device_prof_temperatureProbe2` | `degF` | device | Probe 2 temperature |

### PowerFlow / Branch

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduBranchCurrent` | `A` | per branch_id, pdu_name, pdu_name | Current draw of the branch on the PDU |
| `snmp.device_prof_cpiPduBranchEnergy` | `V` | per branch_id, pdu_name, pdu_name | Branch energy accumulated in decaVA-secs, divide by 360 to obtain VA-hr |
| `snmp.device_prof_cpiPduBranchMaxCurrent` | `A` | per branch_id, pdu_name, pdu_name | Maximum current draw of the branch on the PDU |
| `snmp.device_prof_cpiPduBranchPower` | `VA` | per branch_id, pdu_name, pdu_name | Power in volt-amps for the branch |
| `snmp.device_prof_cpiPduBranchVoltage` | `V` | per branch_id, pdu_name, pdu_name | Voltage in volts of the branch on the PDU |
| `snmp.device_prof_currentxy1` | `A` | device | XY1 current draw |
| `snmp.device_prof_currentxy2` | `A` | device | XY2 current draw |
| `snmp.device_prof_currentyz1` | `A` | device | YZ1 current draw |
| `snmp.device_prof_currentyz2` | `A` | device | YZ2 current draw |
| `snmp.device_prof_currentzx1` | `A` | device | ZX1 current draw |
| `snmp.device_prof_currentzx2` | `A` | device | ZX2 current draw |
| `snmp.device_prof_energyxy1s` | `daW` | device | XY1 branch energy accumulated |
| `snmp.device_prof_energyxy2s` | `daW` | device | XY2 branch energy accumulated |
| `snmp.device_prof_energyyz1s` | `daW` | device | YZ1 branch energy accumulated |
| `snmp.device_prof_energyyz2s` | `daW` | device | YZ2 branch energy accumulated |
| `snmp.device_prof_energyzx1s` | `daW` | device | ZX1 branch energy accumulated |
| `snmp.device_prof_energyzx2s` | `daW` | device | ZX2 branch energy accumulated |
| `snmp.device_prof_powerxy1` | `W` | device | XY1 power consumption in Watts |
| `snmp.device_prof_powerxy2` | `W` | device | XY2 power consumption in Watts |
| `snmp.device_prof_poweryz1` | `W` | device | YZ1 power consumption in Watts |
| `snmp.device_prof_poweryz2` | `W` | device | YZ2 power consumption in Watts |
| `snmp.device_prof_powerzx1` | `W` | device | ZX1 power consumption in Watts |
| `snmp.device_prof_powerzx2` | `W` | device | ZX2 power consumption in Watts |
| `snmp.device_prof_voltagexy1` | `V` | device | XY1 voltage in volts |
| `snmp.device_prof_voltagexy2` | `V` | device | XY2 voltage in volts |
| `snmp.device_prof_voltageyz1` | `V` | device | YZ1 voltage in volts |
| `snmp.device_prof_voltageyz2` | `V` | device | YZ2 voltage in volts |
| `snmp.device_prof_voltagezx1` | `V` | device | ZX1 voltage in volts |
| `snmp.device_prof_voltagezx2` | `V` | device | ZX2 voltage in volts |

### PowerFlow / Line

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduLineCurrent` | `A` | per line_id | Current draw of the line on the PDU |
| `snmp.device_prof_line1curr` | `A` | device | Line 1 current draw |
| `snmp.device_prof_line2curr` | `A` | device | Line 2 current draw |
| `snmp.device_prof_line3curr` | `A` | device | Line 3 current draw |

### PowerFlow / Outlet

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduOutletCurrent` | `A` | per outlet_id, outlet_name, outlet_branchid | Current draw in amp of the outlet on the PDU |
| `snmp.device_prof_cpiPduOutletEnergy` | `W` | per outlet_id, outlet_name, outlet_branchid | Outlet energy accumulated in decaWatt-secs, divide by 360 to obtain Watt-hr |
| `snmp.device_prof_cpiPduOutletPower` | `VA` | per outlet_id, outlet_name, outlet_branchid | Power in Volt-Amps of the outlet on the PDU |
| `snmp.device_prof_cpiPduOutletVoltage` | `V` | per outlet_id, outlet_name, outlet_branchid | Voltage in volts of the outlet on the PDU |
| `snmp.device_prof_outlet10Current` | `A` | device | Outlet10 current draw |
| `snmp.device_prof_outlet11Current` | `A` | device | Outlet11 current draw |
| `snmp.device_prof_outlet12Current` | `A` | device | Outlet12 current draw |
| `snmp.device_prof_outlet13Current` | `A` | device | Outlet13 current draw |
| `snmp.device_prof_outlet14Current` | `A` | device | Outlet14 current draw |
| `snmp.device_prof_outlet15Current` | `A` | device | Outlet15 current draw |
| `snmp.device_prof_outlet16Current` | `A` | device | Outlet16 current draw |
| `snmp.device_prof_outlet17Current` | `A` | device | Outlet17 current draw |
| `snmp.device_prof_outlet18Current` | `A` | device | Outlet18 current draw |
| `snmp.device_prof_outlet19Current` | `A` | device | Outlet19 current draw |
| `snmp.device_prof_outlet1Current` | `A` | device | Outlet1 current draw |
| `snmp.device_prof_outlet20Current` | `A` | device | Outlet20 current draw |
| `snmp.device_prof_outlet21Current` | `A` | device | Outlet21 current draw |
| `snmp.device_prof_outlet22Current` | `A` | device | Outlet22 current draw |
| `snmp.device_prof_outlet23Current` | `A` | device | Outlet23 current draw |
| `snmp.device_prof_outlet24Current` | `A` | device | Outlet24 current draw |
| `snmp.device_prof_outlet2Current` | `A` | device | Outlet2 current draw |
| `snmp.device_prof_outlet3Current` | `A` | device | Outlet3 current draw |
| `snmp.device_prof_outlet4Current` | `A` | device | Outlet4 current draw |
| `snmp.device_prof_outlet5Current` | `A` | device | Outlet5 current draw |
| `snmp.device_prof_outlet6Current` | `A` | device | Outlet6 current draw |
| `snmp.device_prof_outlet7Current` | `A` | device | Outlet7 current draw |
| `snmp.device_prof_outlet8Current` | `A` | device | Outlet8 current draw |
| `snmp.device_prof_outlet9Current` | `A` | device | Outlet9 current draw |
| `snmp.device_prof_receptacleEnergyoutlet10s` | `daW` | device | Outlet10 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet11s` | `daW` | device | Outlet11 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet12s` | `daW` | device | Outlet12 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet13s` | `daW` | device | Outlet13 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet14s` | `daW` | device | Outlet14 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet15s` | `daW` | device | Outlet15 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet16s` | `daW` | device | Outlet16 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet17s` | `daW` | device | Outlet17 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet18s` | `daW` | device | Outlet18 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet19s` | `daW` | device | Outlet19 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet1s` | `daW` | device | Outlet1 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet20s` | `daW` | device | Outlet20 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet21s` | `daW` | device | Outlet21 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet22s` | `daW` | device | Outlet22 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet23s` | `daW` | device | Outlet23 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet24s` | `daW` | device | Outlet24 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet2s` | `daW` | device | Outlet2 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet3s` | `daW` | device | Outlet3 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet4s` | `daW` | device | Outlet4 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet5s` | `daW` | device | Outlet5 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet6s` | `daW` | device | Outlet6 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet7s` | `daW` | device | Outlet7 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet8s` | `daW` | device | Outlet8 receptacle energy accumulated |
| `snmp.device_prof_receptacleEnergyoutlet9s` | `daW` | device | Outlet9 receptacle energy accumulated |

### PowerFlow / PDU

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduTotalPower` | `VA` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Power for the entire PDU |

### System / Firmware

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduUpgrade` | `{status}` | per pdu_macaddress, pdu_model, pdu_name, pdu_version, pdu_ipaddress, pdu_cabinetid | Indicator if the PDU firmware is being upgraded |

### System / Uptime

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_systemUptime` | `s` | device | Time since the system was last rebooted or powered on. |

### Uncategorized

| Metric (chart context) | Unit | Scope | Description |
|---|---|---|---|
| `snmp.device_prof_cpiPduSensorValue` | — | per sensor_index, sensor_name, rm:sensor_type |  |
