opampsupervisor

command module
v0.99.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README ΒΆ

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:

  1. 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.

  2. From the Collector contrib repository root, build the Collector:

    make otelcontribcol
    
  3. 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
    
  4. 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
OpAMP capability Status
AcceptsRemoteConfig βœ…
ReportsEffectiveConfig ⚠️
AcceptsPackages πŸ“…
ReportsPackageStatuses πŸ“…
ReportsOwnTraces πŸ“…
ReportsOwnMetrics ⚠️
ReportsOwnLogs πŸ“…
AcceptsOpAMPConnectionSettings https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21043
AcceptsOtherConnectionSettings https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21043
AcceptsRestartCommand https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21077
ReportsHealth ⚠️
ReportsRemoteConfig https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21079
Supervisor specification features
Feature Status
Offers Supervisor configuration including configuring capabilities βœ…
Starts and stops a Collector using remote configuration ⚠️
Communicates with OpAMP extension running in the Collector https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/21071
Updates the Collector binary πŸ“…
Configures the Collector to report it's own metrics over OTLP πŸ“…
Configures the Collector to report it's own logs over OTLP πŸ“…
Sanitization or restriction of Collector config https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/24310

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL