Skip to content

Conversation

@etserend
Copy link
Contributor

@etserend etserend commented Oct 9, 2025

Description

Add SSH connection implementation for the Cisco OS receiver to collect metrics from Cisco devices via SSH.

This PR enhances the receiver with:

  • SSH client infrastructure with password/key authentication
  • Semantic configuration using device.host.* and auth.* conventions
  • Modular scrapers for system and interface metrics
  • Complete metadata definitions with generated code
  • Proper validation and error handling

Link to tracking issue

#42647

Testing

  • Unit tests for config validation, factory, and SSH connections
  • All repository checks passing: make generate, make checkdoc, make checkmetadata
  • Generated lifecycle tests via mdatagen

Documentation

  • Complete README with configuration examples and metrics documentation
  • metadata.yaml
  • with interface and system metric definitions
  • Changelog entry added

value_type: int
enabled: true
attributes: [interface.name, interface.state]
cisco.system.cpu.utilization:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the utilization value returned as a pre-aggregated value from the device or we will be doing the temporal aggregation in the receiver keeping the state between the scrapes?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The device gives current values at each scrape — not a pre-aggregated value. The receiver doesn’t track past data.

Copy link
Member

@dmitryax dmitryax Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean the utilization typically is a temporally pre-aggregated value over raw CPU time counter. If that's what is returned, we're good. We can reconsider in the implementation if needed

@etserend etserend force-pushed the 42647-add-ssh-connection branch 2 times, most recently from 26bafaa to d4a84de Compare October 14, 2025 23:15
@etserend etserend force-pushed the 42647-add-ssh-connection branch from d4a84de to f8f1a67 Compare October 14, 2025 23:21
@dmitryax dmitryax merged commit 8804a03 into open-telemetry:main Oct 15, 2025
187 checks passed
@github-actions github-actions bot added this to the next release milestone Oct 15, 2025
@otelbot
Copy link
Contributor

otelbot bot commented Oct 15, 2025

Thank you for your contribution @etserend! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey. If you are getting started contributing, you can also join the CNCF Slack channel #opentelemetry-new-contributors to ask for guidance and get help.

ChrsMark pushed a commit to ChrsMark/opentelemetry-collector-contrib that referenced this pull request Oct 20, 2025
…lemetry#43384)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Add SSH connection implementation for the Cisco OS receiver to collect
metrics from Cisco devices via SSH.

This PR enhances the receiver with:
- **SSH client infrastructure** with password/key authentication
- **Semantic configuration** using `device.host.*` and `auth.*`
conventions
- **Modular scrapers** for system and interface metrics
- **Complete metadata definitions** with generated code
- **Proper validation** and error handling

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue

open-telemetry#42647

<!--Describe what testing was performed and which tests were added.-->
#### Testing

- Unit tests for config validation, factory, and SSH connections
- All repository checks passing: make generate, make checkdoc, make
checkmetadata
- Generated lifecycle tests via mdatagen

<!--Describe the documentation added.-->
#### Documentation

- Complete README with configuration examples and metrics documentation
- metadata.yaml
-  with interface and system metric definitions
- Changelog entry added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants