Ciscoos Receiver
contrib
Maintainers: @dmitryax
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Configuration
The following settings are available:| Setting | Type | Required | Description |
|---|---|---|---|
devices | list | Yes | List of Cisco devices to monitor |
collection_interval | duration | No | How often to collect metrics (default: 60s) |
timeout | duration | No | SSH connection and command timeout (default: 30s) |
scrapers | map | Yes | Scrapers to enable |
Device Configuration
Each entry in thedevices list contains device information and authentication settings:
| Setting | Type | Required | Description |
|---|---|---|---|
name | string | No | Human-readable device name |
host | string | Yes | Device IP address or hostname |
port | int | Yes | SSH port (typically 22) |
auth.username | string | Yes | SSH username for authentication |
auth.password | string | No* | Password for authentication |
auth.key_file | string | No* | Path to SSH private key file (supports RSA, ECDSA, Ed25519 in PEM or OpenSSH format) |
auth.password or auth.key_file is required. Both can be provided for fallback authentication (key file is tried first).
Authentication Methods:
- Password authentication: Provide
auth.password - SSH key file authentication: Provide
auth.key_file(path to private key)- Supports unencrypted keys in RSA, ECDSA, Ed25519 formats
- Supports both PEM and OpenSSH formats
- Encrypted keys are not supported
- Fallback authentication: Provide both
auth.passwordandauth.key_file- Key file is tried first, password is used as fallback if key authentication fails
Scrapers Configuration
The scrapers are configured as modular components. Each scraper type can be configured individually:| Setting | Type | Description |
|---|---|---|
system | map | System metrics (device availability, CPU, memory) |
interfaces | map | Interface metrics (traffic, errors, status) |
Metrics Collected
System Metrics
cisco.device.up- Device availability (1=up, 0=down)system.cpu.utilization- CPU utilization as a percentage (0-1)- NX-OS: Calculated from
show system resources(user + kernel) - IOS/IOS XE: Calculated from
show process cpu(5-second average)
- NX-OS: Calculated from
system.memory.utilization- Memory utilization as a percentage (0-1)- NX-OS: Calculated from
show system resources(used / total) - IOS/IOS XE: Calculated from
show process memory(Processor Pool used / total)
- NX-OS: Calculated from
Interface Metrics
system.network.io- Number of bytes transmitted and received (withnetwork.io.directionattribute:receiveortransmit)system.network.errors- Number of errors encountered (withnetwork.io.directionattribute:receiveortransmit)system.network.packet.dropped- Number of packets dropped (withnetwork.io.directionattribute:receiveortransmit)system.network.packet.count- Number of packets transmitted or received, categorized by type (withnetwork.packet.typeattribute:multicastorbroadcast)system.network.interface.status- Interface operational status (1 = up, 0 = down)
network.interface.name, network.interface.mac, network.interface.description, network.interface.speed
Metrics with direction attribute also include: network.io.direction (enum: receive, transmit)
Metrics with packet type attribute also include: network.packet.type (enum: multicast, broadcast)
Resource Attributes
All metrics include the following resource attributes following OpenTelemetry semantic conventions:host.ip- Device IP address for correlation with Kubernetes nodes and other resourceshw.type- Hardware type, set to “network” per OpenTelemetry hardware.network conventionsos.name- Operating system name (e.g., “NX-OS”, “IOS XE”, “IOS”)
Example Configuration
Configuration
Example Configuration
Last generated: 2026-04-13