bindplane-op

module
v1.19.3 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2023 License: Apache-2.0

README

Continuous Integration License Go Reference Go Report Card

BindPlane OP

BindPlane OP is an open source observability pipeline that gives you the ability to collect, refine, and ship metrics, logs, and traces to any destination. BindPlane OP provides the controls you need to reduce observability costs and simplify the deployment and management of telemetry agents at scale.

Features

  • Manage the lifecycle of telemetry agents, starting with the observIQ Collector
  • Build, deploy, and manage telemetry configurations for different Sources and deploy them to your agents
  • Ship metric, log, and trace data to one or many Destinations
  • Utilize flow controls to adjust the flow of your data in realtime

Architecture

BindPlane OP is a lightweight web server (no dependencies) that you can deploy anywhere in your environment. It's composed of the following components:

  • GraphQL Server: provides configuration and agent details via GraphQL
  • REST Server: BindPlane CLI and UI make requests to the server via REST
  • WebSocket Server: Agents connect to receive configuration updates via OpAMP
  • Store: pluggable storage manages configuration and Agent state
  • Manager: dispatches configuration changes to Agents

Support

BindPlane OP does not have any dependencies and can run on Windows, Linux, or macOS although we recommend installing BindPlane OP server one of the following supported Linux distributions:

  • Red Hat, Centos, Oracle Linux 7 and 8
  • Debian 10 and 11
  • Ubuntu LTS 18.04, 20.04
  • Suse Linux 12 and 15
  • Alma and Rocky Linux

The BindPlane CLI (included in the BindPlane OP binary) will run on Linux, Windows, and macOS. For a detailed list of commands and installation instructions for remote clients, see our CLI documentation page.

Quick Start

The following are our recommended installation options. For more details on installation, please visit our Getting Started page or Installation page.

Server

To install BindPlane Server, we recommend using our single-line installer. Alternatively, packages are available for download on our releases page.

Linux

BindPlane OP Open Source

curl -fsSlL https://github.com/observiq/bindplane-op/releases/latest/download/install-linux.sh | bash -s --

BindPlane OP Enterprise

If you have an enterprise license, install with the --enterprise flag.

curl -fsSlL https://github.com/observiq/bindplane-op/releases/latest/download/install-linux.sh | bash -s -- --enterprise

Initialization

After the installer finishes, initialize the server using the init command. The specific command for your system is found in the installer output under the Server Initialization section. By default it is the following command for Linux:

sudo BINDPLANE_CONFIG_HOME=/var/lib/bindplane /usr/local/bin/bindplane init server --config /etc/bindplane/config.yaml

Client

See the installation documentation for client install instructions.

Agent

BindPlane OP utilizes the observIQ Distro for OpenTelemetry Collector. To install using BindPlane CLI, run the following command on a server or client system to generate the agent install command.

bindplanectl install agent

The generated command can then be copied and run on the agent host. To tailor the install command for a specific operating system, use the --platform flag. Valid values include:

  • linux
  • linux-arm64
  • windows
  • macos
  • macos-amd64

To see additional flags and options for the agent install, use the --help flag.

bindplanectl install agent --help

Configuration

The configuration of BindPlane OP is best done through the UI which can be accessed via a web browser on port 3001. The URL will be http://<IP Address>:3001 with IP Address being the IP of the BindPlane server. To log in, use the credentials you specified when running the init command.

For more information on configuration, view our Configuration documentation page.

Other questions?

Join the conversation at the BindPlane Slack!

You can also check out our documentation, send us an email, or open an issue with your question. We'd love to hear from you!

Community

Code of Conduct

BindPlane OP follows the CNCF Code of Conduct. Please report violations of the Code of Conduct to any or all maintainers.

Development

See development.md

Contributing

See CONTRIBUTING.md.

Directories

Path Synopsis
Package agent provides a client for fetching information about agent versions from Github.
Package agent provides a client for fetching information about agent versions from Github.
Package authenticator provides a way to authenticate users using different methods.
Package authenticator provides a way to authenticate users using different methods.
cli
Package cli provides the BindPlane command line client.
Package cli provides the BindPlane command line client.
commands/apply
Package apply provides the apply command, which upserts resources from a file to the store.
Package apply provides the apply command, which upserts resources from a file to the store.
commands/copy
Package copy provides the copy command.
Package copy provides the copy command.
commands/delete
Package delete provides the delete command, as well as subcommands for deleting specific resources and resource types.
Package delete provides the delete command, as well as subcommands for deleting specific resources and resource types.
commands/get
Package get provides the get command, which displays one or more resources, as well as subcommands for each resource type.
Package get provides the get command, which displays one or more resources, as well as subcommands for each resource type.
commands/initialize
Package initialize provides the initialize command, which initializes an installation.
Package initialize provides the initialize command, which initializes an installation.
commands/initialize/question
Package question is used to create questions for the initialize command.
Package question is used to create questions for the initialize command.
commands/install
Package install provides the install command, which installs a new agent.
Package install provides the install command, which installs a new agent.
commands/label
Package label contains the label command.
Package label contains the label command.
commands/profile
Package profile provides commands for managing BindPlane profile configurations.
Package profile provides commands for managing BindPlane profile configurations.
commands/rollout
Package rollout contains the rollout commands for the BindPlane CLI.
Package rollout contains the rollout commands for the BindPlane CLI.
commands/root
Package root provides the root command
Package root provides the root command
commands/serve
Package serve provides the `serve` command for the CLI.
Package serve provides the `serve` command for the CLI.
commands/sync
Package sync provides the sync command, which synchronizes an agent-version from github with the store.
Package sync provides the sync command, which synchronizes an agent-version from github with the store.
commands/update
Package update contains the update command, which upgrades a specific agent
Package update contains the update command, which upgrades a specific agent
commands/version
Package version provides the version command, which prints the BindPlane version.
Package version provides the version command, which prints the BindPlane version.
helpers
Package helpers contains helper functions for the CLI
Package helpers contains helper functions for the CLI
printer
Package printer provides an interface for printing resources, and several implementations.
Package printer provides an interface for printing resources, and several implementations.
Package client provides a go client for interacting with the BindPlane OP server.
Package client provides a go client for interacting with the BindPlane OP server.
cmd
bindplane
Package main is the entrypoint for the bindplane command line interface.
Package main is the entrypoint for the bindplane command line interface.
bindplanectl
Package main is the entrypoint for the bindplane command line interface.
Package main is the entrypoint for the bindplane command line interface.
Package common contains common functions and types used by BindPlane.
Package common contains common functions and types used by BindPlane.
Package config contains the top level configuration structures and logic
Package config contains the top level configuration structures and logic
legacy
Package legacy is used to convert legacy configs to new configs
Package legacy is used to convert legacy configs to new configs
docs
swagger
Package swagger is generated by swag tool
Package swagger is generated by swag tool
Package eventbus provides a simple event bus implementation.
Package eventbus provides a simple event bus implementation.
broadcast
Package broadcast contains the Broadcast interface and a simple local implementation.
Package broadcast contains the Broadcast interface and a simple local implementation.
Package graphql provides HTTP handlers for the GraphQL API
Package graphql provides HTTP handlers for the GraphQL API
model
Package model provides functions to convert models to GraphQL models
Package model provides functions to convert models to GraphQL models
internal
opamp
Package opamp implements the OpenTelemetry OpAMP protocol.
Package opamp implements the OpenTelemetry OpAMP protocol.
opamp/connections
Package connections provides an interface to manage agent connections and manage per-connection state
Package connections provides an interface to manage agent connections and manage per-connection state
server
Package server contains the interface and implementation of the BindPlane Server
Package server contains the interface and implementation of the BindPlane Server
tools Module
Package logging contains the logging logic for BindPlane
Package logging contains the logging logic for BindPlane
Package middleware provides authentication middleware for the APIs.
Package middleware provides authentication middleware for the APIs.
Package model contains the data model for resources used in BindPlane
Package model contains the data model for resources used in BindPlane
graph
Package graph provides the Graph type, which is used to display topology in the UI
Package graph provides the Graph type, which is used to display topology in the UI
observiq
Package observiq provides models and functions for interacting with managed observIQ OTel agents.
Package observiq provides models and functions for interacting with managed observIQ OTel agents.
otel
Package otel provides functions for working with OTel pipelines
Package otel provides functions for working with OTel pipelines
search
Package search provides a search interface
Package search provides a search interface
validation
Package validation contains functions for validating constraints are met for given strings
Package validation contains functions for validating constraints are met for given strings
version
Package version contains the version logic for models in BindPlane
Package version contains the version logic for models in BindPlane
Package opamp provides interfaces for managing agents' OpAMP connections
Package opamp provides interfaces for managing agents' OpAMP connections
Package otlp provides the HTTP handlers for receiving OTLP telemetry signals.
Package otlp provides the HTTP handlers for receiving OTLP telemetry signals.
record
Package record provides functions for converting pdata to BindPlane records
Package record provides functions for converting pdata to BindPlane records
Package resources embeds the files in `resources` for seeding on startup
Package resources embeds the files in `resources` for seeding on startup
helpers
Package helpers provides helper functions for use in templates.
Package helpers provides helper functions for use in templates.
helpers/masksensitivedatahelper
Package masksensitivedatahelper contains the helper functions for the mask_sensitive_data processor.
Package masksensitivedatahelper contains the helper functions for the mask_sensitive_data processor.
Package rest provides a HTTP API for interacting with BindPlane
Package rest provides a HTTP API for interacting with BindPlane
Package routes contains route builders
Package routes contains route builders
Package server contains the [Manager] interface
Package server contains the [Manager] interface
protocol
Package protocol defines communication to agents
Package protocol defines communication to agents
Package sessions provides session management for the UI
Package sessions provides session management for the UI
Package stopqueue contains a structure for running stop functions in a specific order
Package stopqueue contains a structure for running stop functions in a specific order
Package store contains the Store interface and implementations
Package store contains the Store interface and implementations
search
Package search provides a search engine with indexing and suggestions for the store
Package search provides a search engine with indexing and suggestions for the store
stats
Package stats provides the store for measurements associated with agents and configurations.
Package stats provides the store for measurements associated with agents and configurations.
storetest
Package storetest has helper functions for setting up storage for tests
Package storetest has helper functions for setting up storage for tests
Package tracer provides tracers for BindPlane
Package tracer provides tracers for BindPlane
Package ui provides the `globals` object for the UI.
Package ui provides the `globals` object for the UI.
Package util provides various utility functions
Package util provides various utility functions
semver
Package semver provides a model and functions for working with semantic versions.
Package semver provides a model and functions for working with semantic versions.
Package version provides information about the current version of BindPlane
Package version provides information about the current version of BindPlane

Jump to

Keyboard shortcuts

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