Skip to content

aateeqi/aws-otel-collector

 
 

Repository files navigation

codecov CI CD GitHub release (latest by date)

Overview

AWS Distro for OpenTelemetry Collector (AWS OTel Collector) is an AWS supported version of the upstream OpenTelemetry Collector and is distributed by Amazon. It supports the selected components from the OpenTelemetry community. It is fully compatible with AWS computing platforms including EC2, ECS, and EKS. It enables users to send telemetry data to AWS CloudWatch Metrics, Traces, and Logs backends as well as the other supported backends.

See the AWS Distro for OpenTelemetry documentation for more information.

Getting Help

Use the community resources below for getting help with AWS OTel Collector.

  • Use GitHub issues to report bugs and request features.
  • Join our GitHub Community for AWS Distro for OpenTelemetry to ask your questions, file issues, or request enhancements.
  • Open a support ticket with AWS Support.
  • If you think you may have found a bug, open a bug report.
  • For contributing guidelines, refer to CONTRIBUTING.md.

AWS OTel Collector Built-in Components

This table represents the supported components of AWS OTel Collector. The highlighted components below are developed by AWS in-house. The rest of the components in the table are the essential default components that AWS OTel Collector will support.

Receiver Processor Exporter Extensions
prometheusreceiver attributesprocessor awsxrayexporter healthcheckextension
otlpreceiver resourceprocessor awsemfexporter pprofextension
awsecscontainermetricsreceiver batchprocessor awsprometheusremotewriteexporter zpagesextension
awsxrayreceiver memorylimiterprocessor loggingexporter ecsobserver
statsdreceiver probabilisticsamplerprocessor otlpexporter awsproxy
zipkinreceiver metricstransformprocessor fileexporter ballastextention
jaegerreceiver spanprocessor otlphttpexporter
awscontainerinsightreceiver filterprocessor prometheusexporter
resourcedetectionprocessor datadogexporter
metricsgenerationprocessor dynatraceexporter
cumulativetodeltaprocessor sapmexporter
deltatorateprocessor signalfxexporter
logzioexporter

AWS OTel Collector AWS Components

Getting Started

Prerequisites

To build AWS OTel Collector locally, you will need to have Golang installed. You can download and install Golang here.

AWS OTel Collector Configuration

We built in a default configuration to our docker image and other format of release. So, you can run the AWS OTel Collector out of the box with the default settings. Also, AWS OTel Collector configuration uses the same configuration syntax/design from OpenTelemetry Collector so you can customize or port your OpenTelemetry Collector configuration files when running AWS OTel Collector. Please refer to the Try out AWS OTel Collector section on configuring AWS OTel Collector.

Try out AWS OTel Collector

AWS OTel Collector supports all AWS computing platforms and Docker/Kubernetes. Here are some examples on how to run AWS OTel Collector to send telemetry data:

Build Your Own Artifacts

Use the following instructions to build your own AWS OTel Collector artifacts:

Development

See docs/developers

Release Process

See RELEASING.md for release steps.

Benchmark

The latest performance report is here, while the trends by testcase can be found here. Both are updated on each successful CI run. The charts use the github-action-benchmark action and uses a modified layout to group the testcases. The performance test can be conducted by following the instructions here.

Support

For each merged pull request, a corresponding image with the naming convention of [ADOT_COLLECTOR_VERSION]-[GITHUB_SHA] is pushed to public.ecr.aws/aws-otel-test/adot-collector-integration-test. This image is used for the integration tests. You can pull any of the images from there, however, we will not support any issues and pull requests for these test images.

License

AWS OTel Collector is licensed under an Apache 2.0 license.

About

AWS Distro for OpenTelemetry Collector

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 49.3%
  • Shell 26.5%
  • Python 10.3%
  • PowerShell 6.2%
  • Makefile 4.9%
  • Dockerfile 2.0%
  • Smarty 0.8%