Skip to content

[OpAMP] Support offering own-telemetry destinations (ReportsOwnMetrics / ReportsOwnTraces / ReportsOwnLogs) #6817

@ycombinator

Description

@ycombinator

Describe the enhancement:

Add support to Fleet Server for offering destinations where an OpAMP client should send telemetry about itself (the agent's own traces, metrics, and logs for self-observability). This corresponds to the own_metrics, own_traces, and own_logs fields of ConnectionSettingsOffers in ServerToAgent, each carrying a TelemetryConnectionSettings message with endpoint, headers, and TLS material.

Capability advertisement vs. offering:

Per the OpAMP spec, Fleet Server MUST advertise OffersConnectionSettings in the capabilities field of the first ServerToAgent message unconditionally. However, Fleet Server may only actually populate:

  • own_metrics for clients that advertise ReportsOwnMetrics
  • own_traces for clients that advertise ReportsOwnTraces
  • own_logs for clients that advertise ReportsOwnLogs

…in their most recent AgentToServer message. Advertisement is unconditional; offering is gated on the relevant client capability per signal. See the Connection Settings Management section of the spec.

Testing:

This feature should be tested against an upstream OTel Collector (contrib distribution) managed by the OpAMP Supervisor. Supervisor defaults: capabilities.reports_own_metrics is true, but capabilities.reports_own_logs and capabilities.reports_own_traces are false — enable them in the supervisor config to test the full trio. See the OpAMP Supervisor README for instructions on running the supervisor, and the OTel Collector contrib releases page for the collector binary.

Describe a specific use case for the enhancement or feature:

Fleet centrally directs managed agents to report their own health and performance telemetry to a designated OTLP backend, enabling centralized observability of the managed agent fleet without per-agent configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions