Skip to main content

Ciscoos Receiver

Status Available in: contrib Maintainers: @dmitryax Source: opentelemetry-collector-contrib

Supported Telemetry

Metrics

Overview

Configuration

The following settings are available:
SettingTypeRequiredDescription
deviceslistYesList of Cisco devices to monitor
collection_intervaldurationNoHow often to collect metrics (default: 60s)
timeoutdurationNoSSH connection and command timeout (default: 30s)
scrapersmapYesScrapers to enable

Device Configuration

Each entry in the devices list contains device information and authentication settings:
SettingTypeRequiredDescription
namestringNoHuman-readable device name
hoststringYesDevice IP address or hostname
portintYesSSH port (typically 22)
auth.usernamestringYesSSH username for authentication
auth.passwordstringNo*Password for authentication
auth.key_filestringNo*Path to SSH private key file (supports RSA, ECDSA, Ed25519 in PEM or OpenSSH format)
*At least one of 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.password and auth.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:
SettingTypeDescription
systemmapSystem metrics (device availability, CPU, memory)
interfacesmapInterface 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)
  • 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)

Interface Metrics

  • system.network.io - Number of bytes transmitted and received (with network.io.direction attribute: receive or transmit)
  • system.network.errors - Number of errors encountered (with network.io.direction attribute: receive or transmit)
  • system.network.packet.dropped - Number of packets dropped (with network.io.direction attribute: receive or transmit)
  • system.network.packet.count - Number of packets transmitted or received, categorized by type (with network.packet.type attribute: multicast or broadcast)
  • system.network.interface.status - Interface operational status (1 = up, 0 = down)
Interface metrics include attributes: 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 resources
  • hw.type - Hardware type, set to “network” per OpenTelemetry hardware.network conventions
  • os.name - Operating system name (e.g., “NX-OS”, “IOS XE”, “IOS”)

Example Configuration

receivers:
  ciscoos:
    collection_interval: 60s
    timeout: 30s
    scrapers:
      system:
      interfaces:
    devices:
      - name: "core-switch-01"
        host: "192.168.1.10"
        port: 22
        auth:
          username: "admin"
          password: "secure-password"
      - name: "edge-router-01"
        host: "192.168.1.20"
        port: 22
        auth:
          username: "admin"
          key_file: "/home/user/.ssh/id_rsa"

exporters:
  debug:

service:
  pipelines:
    metrics:
      receivers: [ciscoos]
      exporters: [debug]

Configuration

Example Configuration

ciscoos:
  collection_interval: 60s
  timeout: 30s
  scrapers:
    system:
    interfaces:
  devices:
    - name: "device-1"
      host: "192.168.1.1"
      port: 22
      auth:
        username: "admin"
        password: "password"
    - name: "device-2"
      host: "192.168.1.2"
      port: 22
      auth:
        username: "admin"
        password: "password"

Last generated: 2026-04-13