{"id":23157943,"url":"https://github.com/observiq/bindplane-otel-collector","last_synced_at":"2026-04-06T16:04:14.957Z","repository":{"id":37085811,"uuid":"384195667","full_name":"observIQ/bindplane-otel-collector","owner":"observIQ","description":"Bindplane’s distribution of the OpenTelemetry collector providing a simple and unified solution to collect, refine, and ship telemetry data anywhere","archived":false,"fork":false,"pushed_at":"2026-03-30T22:59:12.000Z","size":57475,"stargazers_count":172,"open_issues_count":21,"forks_count":45,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-03-31T00:33:35.780Z","etag":null,"topics":["logging","metrics","observability","opentelemetry"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/observIQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-08T17:06:19.000Z","updated_at":"2026-03-30T13:39:35.000Z","dependencies_parsed_at":"2025-11-28T07:04:15.595Z","dependency_job_id":null,"html_url":"https://github.com/observIQ/bindplane-otel-collector","commit_stats":{"total_commits":915,"total_committers":32,"mean_commits":28.59375,"dds":0.6896174863387978,"last_synced_commit":"479e56c2bf08d1bb172e638b46bbfe0e38a1519d"},"previous_names":["observiq/observiq-collector","observiq/bindplane-agent","observiq/observiq-otel-collector","observiq/bindplane-otel-collector","bindplane/bindplane-otel-collector"],"tags_count":6765,"template":false,"template_full_name":null,"purl":"pkg:github/observIQ/bindplane-otel-collector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/observIQ%2Fbindplane-otel-collector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/observIQ%2Fbindplane-otel-collector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/observIQ%2Fbindplane-otel-collector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/observIQ%2Fbindplane-otel-collector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/observIQ","download_url":"https://codeload.github.com/observIQ/bindplane-otel-collector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/observIQ%2Fbindplane-otel-collector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31479007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logging","metrics","observability","opentelemetry"],"created_at":"2024-12-17T22:16:28.861Z","updated_at":"2026-04-06T16:04:14.951Z","avatar_url":"https://github.com/observIQ.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://bindplane.com\"\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734001913/bindplane-logo_czndai.svg\" width=\"auto\" height=\"50\"\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734001913/bindplane-logo-dark_lkmoxd.svg\" width=\"auto\" height=\"50\"\u003e\n      \u003cimg alt=\"Bindplane Logo\" src=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734001913/bindplane-logo_czndai.svg\" width=\"auto\" height=\"50\"\u003e\n    \u003c/picture\u003e\n  \u003c/p\u003e\n\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  The Bindplane Distro for OpenTelemetry Collector (BDOT Collector) is Bindplane’s distribution of the upstream \u003ca href=\"https://github.com/open-telemetry/opentelemetry-collector\"\u003eOpenTelemetry Collector\u003c/a\u003e. It’s the first distribution to implement the \u003ca href=\"https://opentelemetry.io/docs/specs/opamp/\"\u003eOpen Agent Management Protocol\u003c/a\u003e (OpAMP) and is designed to be fully managed with \u003ca href=\"https://bindplane.com/\"\u003eBindplane Telemetry Pipeline\u003c/a\u003e. The BDOT Collector is built using the \u003ca href=\"https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder\"\u003eOpenTelemetry Collector Builder\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cb\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://bindplane.com/docs/getting-started/quickstart-guide\"\u003e\n      Get Started! \u0026nbsp;👉\u0026nbsp;\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/b\u003e\n\n\u003cb\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://bindplane.com\"\u003eWebsite\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://bindplane.com/docs/advanced-setup/installation\"\u003eDocs\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://bindplane.com/docs/how-to-guides/routing-telemetry\"\u003eHow-to Guides\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://bindplane.com/docs/feature-guides/processors\"\u003eFeature Guides\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://bindplane.com/blog\"\u003eBlog\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://bindplane.com/mastering-opentelemetry\"\u003eOTel Hub\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n    \u003ca href=\"https://www.launchpass.com/bindplane\"\u003eSlack\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/b\u003e\n\n\u003c!-- badges --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/observIQ/bindplane-otel-collector/actions\"\u003e\n    \u003cimg src=\"https://github.com/observIQ/bindplane-otel-collector/workflows/Build/badge.svg\" alt=\"Action Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/observIQ/bindplane-otel-collector/actions\"\u003e\n    \u003cimg src=\"https://github.com/observIQ/bindplane-otel-collector/workflows/Tests/badge.svg\" alt=\"Action Test Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/observIQ/bindplane-otel-collector\"\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/github.com/observIQ/bindplane-otel-collector\" alt=\"Go Report Card\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" alt=\"License\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734000985/bindplane-overview_ke8xmq.webp\" style=\"width:66%;height:auto\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ci\u003e\n    Learn how to connect Bindplane Distro for OpenTelemetry Collector to telemetry \u003ca href=\"https://bindplane.com/docs/resources/sources\"\u003esources\u003c/a\u003e and \u003ca href=\"https://bindplane.com/docs/resources/destinations\"\u003edestinations\u003c/a\u003e, and use \u003ca href=\"https://bindplane.com/docs/resources/processors\"\u003eprocessors\u003c/a\u003e to transform data.\n  \u003c/i\u003e\n\u003c/p\u003e\n\n## Why Bindplane Distro for OpenTelemetry Collector?\n\nIf you're managing telemetry at scale you'll run in to these problems sooner or later:\n\n1. **Agent fatigue.** You'll manage endless proprietary agents and OpenTelemetry Collectors that collect and forward telemetry to different observability backends, leading to performance issues.\n2. **Endless configuration files.** Even with GitOps practices you'll have to manage hundreds of configuration files for different sources, destinations, and processors written in either proprietary languages or YAML.\n3. **High complexity.** OpenTelemetry's complexity and learning curve make it difficult to implement, manage, and re-point telemetry without a centralized management plane like Bindplane Telemetry Pipeline to standardize telemetry ingestion, processing, and shipping, with a unified, OpenTelemetry-native pipeline.\n\n### An OpenTelemetry Collector you're used to\n\nThe BDOT Collector is Bindplane’s distribution of the upstream [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector). It’s the first distribution to implement the [Open Agent Management Protocol](https://opentelemetry.io/docs/specs/opamp/) (OpAMP) and is designed to be fully managed with [Bindplane Telemetry Pipeline](https://bindplane.com/solutions).\n\n### Focused on usability\n\nIncreases the accessibility of OpenTelemetry by providing simplified installation scripts, tested example configurations, and end-to-end documentation making it easy to get started.\n\n### All the best parts of OpenTelemetry and more\n\nBundled with all core OpenTelemetry receivers, processors, and exporters as well as additional capabilities for monitoring complex or enterprise technologies not yet available in upstream releases\n\n### Always production-ready and fully-supported\n\nTested, verified, and supported by Bindplane.\n\n## Getting Started\n\nFollow the [Getting Started](/docs/getting-started.md) guide for more detailed installation instructions, or view the list of [Supported Operating System Versions](https://bindplane.com/docs/advanced-setup/installation/install-agent).\n\nTo continue with the quick start, follow along below.\n\n### Linux\n\nInstall BDOT Collector using the installation script below.\n\n```sh\nsudo sh -c \"$(curl -fsSlL https://bdot.bindplane.com/\u003cversion\u003e/install_unix.sh)\" install_unix.sh\n```\n\nTo install directly with the appropriate package manager, and how to configure OpAMP, see [installing on Linux](/docs/installation-linux.md).\n\n### Windows\n\nInstall the BDOT Collector using the PowerShell command below. The script automatically selects the correct MSI for the system architecture (amd64 or arm64).\n\n```pwsh\n\u0026 ([scriptblock]::Create((New-Object System.Net.WebClient).DownloadString(\"https://bdot.bindplane.com/\u003cversion\u003e/install_windows.ps1\")))\n```\n\nFor more installation information, and how to configure OpAMP, see [installing on Windows](/docs/installation-windows.md).\n\n### macOS\n\nInstall BDOT Collector using the installation script below.\n\n```sh\nsudo sh -c \"$(curl -fsSlL https://bdot.bindplane.com/\u003cversion\u003e/install_macos.sh)\" install_macos.sh\n```\n\nFor more installation information, and how to configure OpAMP, see [installing on macOS](/docs/installation-mac.md).\n\n## Next Steps\n\n### BDOT Collector default `config.yaml`\n\nWith the BDOT Collector installed, it will start collecting basic metrics about the host machine printing them to the log. To further configure your collector edit the `config.yaml` file just like you would an OpenTelemetry Collector. To find your `config.yaml` file based on your operating system, reference the table below:\n\n| OS      | Default Location                                                |\n| :------ | :-------------------------------------------------------------- |\n| Linux   | `/opt/observiq-otel-collector/config.yaml`                      |\n| Windows | `C:\\Program Files\\observIQ OpenTelemetry Collector\\config.yaml` |\n| macOS   | `/opt/observiq-otel-collector/config.yaml`                      |\n\nFor more information on configuration see the [Configuration section](#configuration).\n\n### Manage BDOT Collector with Bindplane Telemetry Pipeline via OpAMP\n\nImproving developer experience with OpenTelemetry is Bindplane's primary focus. We're building Bindplane Telemetry Pipeline to help deploy and manage OpenTelemetry Collectors at scale, but retain core OpenTelemetry Standards for terminology and configuration, with the added benefit of enabling remote management with OpAMP.\n\nThe BDOT Collector can be configured as an OpenTelemetry Collector that is managed by the Bindplane Telemetry Pipeline via OpAMP. Bindplane is designed to be OpenTelemetry-first, with OpenTelemetry as its core framework. By providing a centralized management plane, it simplifies the development, implementation, management, and configuration of OpenTelemetry.\n\nFor more information on managing collectors via OpAMP see the [Connecting to Bindplane Telemetry Pipeline with OpAMP section](#connecting-to-bindplane-telemetry-pipeline-with-opamp).\n\n## Configuration\n\nThe BDOT Collector uses OpenTelemetry Collector configuration.\n\nFor sample configs, see the [config](/config/) directory.\nFor general configuration help, see the [OpenTelemetry docs](https://opentelemetry.io/docs/collector/configuration/).\n\nFor configuration options of a specific component, take a look at the README found in their respective module roots. For a list of currently supported components see [Included Components](#included-components).\n\nFor a list of possible command line arguments to use with the BDOT Collector, run the collector with the `--help` argument.\n\n### Included Components\n\n\u003e [!NOTE]\n\u003e Custom Bindplane components (receivers, processors, exporters, and extensions) have been migrated to [observiq/bindplane-otel-contrib](https://github.com/observiq/bindplane-otel-contrib). These modules are retained for reference and will be removed after September 2026.\n\n#### Receivers\n\nFor supported receivers and their documentation see [receivers](/docs/receivers.md).\n\n#### Processors\n\nFor supported processors and their documentation see [processors](/docs/processors.md).\n\n#### Exporters\n\nFor supported exporters and their documentation see [exporters](/docs/exporters.md).\n\n#### Extensions\n\nFor supported extensions and their documentation see [extensions](/docs/extensions.md).\n\n#### Connectors\n\nFor supported connectors and their documentation see [connectors](/docs/connectors.md).\n\n### Example `config.yaml`\n\nHere's a sample setup for `hostmetrics` on Google Cloud. To make sure your environment is set up with required prerequisites, see the [Google Cloud Exporter Prerequisites](/config/google_cloud_exporter/README.md) page. Further details for this GCP example can be found [here](/config/google_cloud_exporter/hostmetrics).\n\n```yaml\n# Receivers collect metrics from a source. The hostmetrics receiver will get\n# CPU load metrics about the machine the collector is running on every minute.\nreceivers:\n  hostmetrics:\n    collection_interval: 60s\n    scrapers:\n      cpu:\n      disk:\n      load:\n      filesystem:\n      memory:\n      network:\n      paging:\n      processes:\n\n# Exporters send the data to a destination, in this case GCP.\nexporters:\n  googlecloud:\n\n# Service specifies how to construct the data pipelines using the configurations above.\nservice:\n  pipelines:\n    metrics:\n      receivers: [hostmetrics]\n      exporters: [googlecloud]\n```\n\n### Feature Gates\n\nStarting in v1.80.2 of the BDOT collector, OpenTelemetry feature gates can be configured at run time using a program argument or environment variable. To configure via a run time argument, you can do the following:\n\n```sh\n./observiq-otel-collector --config ./path/to/config.yaml --feature-gates otel.SomeFeature,-otel.OtherFeature\n```\n\nThis would enable the `otel.SomeFeature` feature gate and disable the `otel.OtherFeature` feature gate.\n\nUse the environment variable `COLLECTOR_FEATURE_GATES` to achieve the same result. The following is an example:\n\n```env\nCOLLECTOR_FEATURE_GATES=otel.SomeFeature,-otel.OtherFeature\n```\n\nBy default the following feature gates are enabled in BDOT:\n\n- filelog.allowFileDeletion\n- filelog.allowHeaderMetadataParsing\n- filelog.mtimeSortType\n- exporter.prometheusremotewritexporter.enableSendingRW2\n- connector.spanmetrics.includeCollectorInstanceID\n\n## Connecting to Bindplane Telemetry Pipeline with OpAMP\n\nBindplane is designed to be OpenTelemetry-first, with OpenTelemetry as its core framework, to create a unified toolset with data ownership. By providing a centralized management plane, it simplifies the development, implementation, management, and configuration of OpenTelemetry.\n\nTo learn more about configuring OpAMP, see [OpAMP Configuration](/docs/opamp.md), or get started with Bindplane Telemetry Pipeline below.\n\n### Bindplane Cloud\n\nBindplane Cloud is the quickest way to get started with OpenTelemetry-native telemetry pipelines. It offers managed infrastructure along with instant, free access for development projects and proofs of concept.\n\n\u003ca href=\"https://app.bindplane.com/signup\"\u003e\u003cimg src=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734001746/sign-up-bindplane-cloud_tzhj8r.png\" alt=\"Sign-up\" width=\"200px\"\u003e\u003c/a\u003e\n\n### Bindplane On Prem\n\nYou can also get started with Bindplane On Prem for free by hosting it yourself.\n\n\u003ca href=\"https://bindplane.com/download\"\u003e\u003cimg src=\"https://res.cloudinary.com/du4nxa27k/image/upload/v1734000970/download-bindplane-on-prem_rhdrme.png\" alt=\"Download\" width=\"200px\"\u003e\u003c/a\u003e\n\n## Major Versions\n\n### V1\n\nV1 distributions of the BDOT Collector use a custom OpAMP manager built into the BDOT Collector to interface between the OpenTelemetry collector and the OpAMP server run by Bindplane.\n\n### V2\n\nV2 is the latest major release of the BDOT Collector. This version is currently in [Beta](https://github.com/observIQ/bindplane-otel-collector/releases/tag/v2.0.0-beta.12). V2 distributions of the BDOT Collector use the [OpenTelemetry OpAMP supervisor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor) to interface between the OpenTelemetry Collector and the OpAMP server run by Bindplane. For more information, [see this documentation](https://github.com/observIQ/bindplane-otel-collector/blob/release/v2.0.0/docs/supervisor.md).\n\n## Community\n\nHave an idea to improve the Bindplane Distro for OpenTelemetry Collector? Here's how you can help:\n\n- Star this repo ⭐️ and follow us on [Twitter](https://x.com/bindplane).\n- Upvote issues with 👍 so we know what to prioritize in the road map.\n- [Create issues](https://github.com/observIQ/bindplane-otel-collector/issues) when you feel something is missing or wrong.\n- Join our [Slack Community](https://www.launchpass.com/bindplane), and ask us any questions there.\n\n## Contributing\n\nThe Bindplane Distro for OpenTelemetry Collector is an open source project. If you'd like to contribute, take a look at our [contribution guidelines](/CONTRIBUTING.md) and [developer guide](/docs/development.md).\n\nAll sorts of contributions are **welcome and extremely helpful**. 🙌\n\n## How can we help?\n\nIf you need any additional help feel free to reach out to us at support@observiq.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobserviq%2Fbindplane-otel-collector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobserviq%2Fbindplane-otel-collector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobserviq%2Fbindplane-otel-collector/lists"}