OpAMP Supervisor for the OpenTelemetry Collector
This is an implementation of an OpAMP Supervisor that runs a Collector instance using configuration provided from an OpAMP server. This implementation
is following a design specified here.
The design is still undergoing changes, and as such this implementation may change as well.
Experimenting with the supervisor
The supervisor is currently undergoing heavy development and is not ready for any serious use. However, if you would like to test it, you can follow the steps below:
-
Download the opamp-go repository, and run the OpAMP example server in the internal/examples/server
directory.
git clone git@github.com:open-telemetry/opamp-go.git
cd opamp-go/internal/examples/server
go run .
Visit localhost:4321 to verify that the server is running.
-
From the Collector contrib repository root, build the Collector:
make otelcontribcol
-
Run the supervisor in the cmd/opampsupervisor
directory of Collector contrib repository, substituting <OS>
for your operating system (darwin
for MacOS, linux
or windows
):
cd cmd/opampsupervisor
go run . --config examples/supervisor_<OS>.yaml
-
The supervisor should connect to the OpAMP server and start a Collector instance.
Status
The OpenTelemetry OpAMP Supervisor is intended to be the reference
implementation of an OpAMP Supervisor, and as such will support all OpAMP
capabilities. Additionally, it follows a design document for the features it
intends to support.
For a list of open issues related to the Supervisor, see these issues.
Key:
β
: Fully implemented
β οΈ: Implemented with caveats
π
: Planned, but no issue to track implementation
OpAMP capabilities
Supervisor specification features