bindplane-op

module
v1.12.1 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 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 /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 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 entry point for the bindplanectl command line tool.
Package main is the entry point for the bindplanectl command line tool.
Package common contains common types and functions used by the BindPlane CLI and Server
Package common contains common types and functions used by the BindPlane CLI and Server
docs
swagger
Package swagger GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package swagger GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
internal
agent
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.
cli
Package cli provides the BindPlane command line client.
Package cli provides the BindPlane command line client.
cli/commands
Package commands provides the root command and all subcommands for the bindplane-op cli
Package commands provides the root command and all subcommands for the bindplane-op cli
cli/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.
cli/commands/copy
Package copy provides the copy command.
Package copy provides the copy command.
cli/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.
cli/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.
cli/commands/initialize
Package initialize provides the initialize command, which initializes an installation.
Package initialize provides the initialize command, which initializes an installation.
cli/commands/install
Package install provides the install command, which installs a new agent.
Package install provides the install command, which installs a new agent.
cli/commands/label
Package label contains the label command.
Package label contains the label command.
cli/commands/profile
Package profile provides commands for managing BindPlane profile configurations.
Package profile provides commands for managing BindPlane profile configurations.
cli/commands/serve
Package serve provides the `serve` command for the CLI.
Package serve provides the `serve` command for the CLI.
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.
cli/commands/update
Package update contains the update command, which upgrades a specific agent
Package update contains the update command, which upgrades a specific agent
cli/commands/validate
Package validate provides the validate command
Package validate provides the validate command
cli/commands/version
Package version provides the version command, which prints the BindPlane version.
Package version provides the version command, which prints the BindPlane version.
cli/flags
Package flags provides functions for adding flags to CLI commands
Package flags provides functions for adding flags to CLI commands
cli/printer
Package printer provides an interface for printing resources, and several implementations.
Package printer provides an interface for printing resources, and several implementations.
eventbus
Package eventbus provides interfaces and implementations for a simple event bus.
Package eventbus provides interfaces and implementations for a simple event bus.
graphql
Package graphql provides HTTP handlers for the GraphQL API
Package graphql provides HTTP handlers for the GraphQL API
graphql/model
Package model provides functions to convert models to GraphQL models
Package model provides functions to convert models to GraphQL models
opamp
Package opamp provides an implementation of the OpenTelemetry OpAMP protocol.
Package opamp provides an implementation of the OpenTelemetry OpAMP protocol.
otlp
Package otlp provides the HTTP handlers for receiving OTLP telemetry signals.
Package otlp provides the HTTP handlers for receiving OTLP telemetry signals.
otlp/record
Package record provides functions for converting pdata to BindPlane records
Package record provides functions for converting pdata to BindPlane records
rest
Package rest provides a HTTP API for interacting with BindPlane
Package rest provides a HTTP API for interacting with BindPlane
server
Package server contains the interface and implementation of the BindPlane Server
Package server contains the interface and implementation of the BindPlane Server
server/auth
Package auth provides authentication middleware for the BindPlane server
Package auth provides authentication middleware for the BindPlane server
server/protocol
Package protocol defines communication to agents
Package protocol defines communication to agents
server/sessions
Package sessions provides session management for the UI
Package sessions provides session management for the UI
store
Package store contains the Store interface and implementations
Package store contains the Store interface and implementations
store/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
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.
trace
Package trace provides trace providers for various backends
Package trace provides trace providers for various backends
util
Package util provides various utility functions
Package util provides various utility functions
util/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.
version
Package version provides information about the current version of BindPlane
Package version provides information about the current version of BindPlane
tools Module
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
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
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.
Package ui provides the `globals` object for the UI.
Package ui provides the `globals` object for the UI.

Jump to

Keyboard shortcuts

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