Consumer Implementations

This page summarizes the built-in opamp-consumer implementations and the OpAMP client capabilities that each implementation can advertise.

The built-in implementation list comes from consumer/src/opamp_consumer/builtin_consumer_plugins.json. Capabilities marked Yes are supported by the concrete client class. At runtime, consumer.agent_capabilities is still merged with the mandatory capabilities and intersected with the selected client’s supported list.

OpAMP Capability Sources

The OpAMP specification defines the AgentCapabilities bitmask and states that agents may update capabilities over time. The same section defines ReportsStatus, AcceptsRemoteConfig, and ReportsEffectiveConfig; the remote-configuration section further states that a client must set AcceptsRemoteConfig before a server may offer remote configuration. Heartbeat support is described separately through ReportsHeartbeat and the heartbeat interval negotiation flow.

Source documents:

Built-In Consumer Matrix

consumer.service_type Concrete client Local implementation source Target/status source documents ReportsStatus AcceptsRestartCommand ReportsHealth AcceptsRemoteConfig ReportsEffectiveConfig ReportsHeartbeat
fluentbit Fluent Bit supervisor client opamp_consumer.fluentbit.client.OpAMPClient Fluent Bit monitoring API, Fluent Bit hot reload Yes Yes Yes Yes Yes Yes
fluentd Fluentd supervisor client opamp_consumer.fluentd.client.FluentdOpAMPClient Fluentd monitor_agent, Fluentd configuration file reload Yes Yes Yes Yes Yes Yes
elastic_agent Elastic Agent CLI/status client opamp_consumer.elastic_agent.client.ElasticAgentOpAMPClient Elastic Agent command reference Yes Yes Yes Yes Yes Yes
elastic_heartbeat Elastic Heartbeat Beat-style client opamp_consumer.elastic_heartbeat.client.ElasticHeartbeatOpAMPClient Heartbeat command reference, Heartbeat HTTP endpoint Yes Yes Yes Yes Yes Yes
simulator Scripted simulator client opamp_consumer.simulator.client.SimulatorOpAMPClient Local scripted responses only; see Simulator Consumer Configuration Yes Yes Yes Yes Yes Yes
vector Vector supervisor client opamp_consumer.vector.client.VectorOpAMPClient Vector Observability API Yes Yes Yes Yes Yes Yes

Notes

  • ReportsStatus, AcceptsRestartCommand, and ReportsHealth are mandatory consumer capabilities in this codebase.
  • AcceptsRemoteConfig, ReportsEffectiveConfig, and ReportsHeartbeat are implemented by all current built-in clients, but they can still be omitted from a specific runtime configuration if consumer.agent_capabilities does not request them.
  • ReportsEffectiveConfig means the consumer can report the effective file content it is managing. It does not mean the underlying target process exposes a native OpAMP effective-configuration API.
  • The simulator implementation is development/test focused and does not launch a real telemetry agent.