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, andReportsHealthare mandatory consumer capabilities in this codebase.AcceptsRemoteConfig,ReportsEffectiveConfig, andReportsHeartbeatare implemented by all current built-in clients, but they can still be omitted from a specific runtime configuration ifconsumer.agent_capabilitiesdoes not request them.ReportsEffectiveConfigmeans 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
simulatorimplementation is development/test focused and does not launch a real telemetry agent.
OpAMP