• Stars
    star
    523
  • Rank 81,768 (Top 2 %)
  • Language
    Go
  • License
    Other
  • Created over 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AWS Distro for OpenTelemetry Collector (see ADOT Roadmap at https://github.com/orgs/aws-observability/projects/4)

C/I GitHub release (latest by date)

Overview

AWS Distro for OpenTelemetry Collector (ADOT 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. Additionally, the ADOT Collector is now generally available for metrics.

Getting Help

Use the community resources below for getting help with the ADOT Collector.

  • Open a support ticket with AWS Support.
  • 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.
  • If you think you may have found a bug, open a bug report.
  • For contributing guidelines, refer to CONTRIBUTING.md.

ADOT Collector Built-in Components

This table represents the supported components of the ADOT 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 the ADOT Collector will support.

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

Besides the components that interact with telemetry signals directly from the previous table, there is also support to the following confmap providers:

  • file
  • env
  • YAML
  • s3
  • http
  • https

More documentation for confmap providers can be found here.

Getting Started

Prerequisites

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

ADOT Collector Configuration

The ADOT Collector is built with a default configuration. The ADOT Collector configuration uses the same configuration syntax/design from OpenTelemetry Collector. For more information regarding OpenTelemetry Collector configuration please refer to the upstream documentation. so you can customize or port your OpenTelemetry Collector configuration files when running ADOT Collector. Please refer to the Try out ADOT Collector section on configuring ADOT Collector.

Try out the ADOT Collector

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

Build Your Own Artifacts

Use the following instructions to build your own ADOT Collector artifacts:

Development

See docs/developers.

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

Please note that as per policy, we're providing support via GitHub on a best effort basis. However, if you have AWS Enterprise Support you can create a ticket and we will provide direct support within the respective SLAs.

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.

Supported Versions

Each ADOT Collector release is supported until there are two newer minor releases. For example, ADOT collector v0.16.1 will be supported until v0.18.0 is released.

Security issue notifications

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public github issue.

License

ADOT Collector is licensed under an Apache 2.0 license.

More Repositories

1

terraform-aws-observability-accelerator

Open source project to help accelerate and ease observability setup on AWS environments
HCL
226
star
2

observability-best-practices

Observability best practices on AWS
Go
173
star
3

cdk-aws-observability-accelerator

CDK AWS Observability Accelerator
TypeScript
120
star
4

aws-otel-lambda

AWS Distro for OpenTelemetry - AWS Lambda
HCL
119
star
5

aws-o11y-recipes

recipes for observability solutions at AWS
Go
112
star
6

aws-rum-web

Amazon CloudWatch RUM Web Client
TypeScript
103
star
7

aws-otel-community

Welcome to the AWS Distro for OpenTelemetry project. If you're using monitoring and observability tools for AWS products and services, this is a great place to ask questions, request features and network with other community members.
Java
75
star
8

aws-otel-java-instrumentation

AWS Distro for OpenTelemetry Java Instrumentation Library
Java
63
star
9

aws-otel-helm-charts

AWS Distro for OpenTelemetry (ADOT) Helm Charts
Mustache
44
star
10

aws-otel-js

AWS Distro for OpenTelemetry JavaScript SDK
JavaScript
35
star
11

aws-otel-go

AWS Distro for OpenTelemetry Go
Go
34
star
12

aws-otel-playground

Sample Application for the AWS X-Ray SDK with support for OpenTelemetry
Java
31
star
13

aws-otel-test-framework

AWS Distro for OpenTelemetry Test Framework
Java
27
star
14

aws-sigv4-proxy-admission-controller

This project creates a mutation admission controller that injects AWS SIGv4 proxy as a sidecar.
Go
26
star
15

amazon-managed-grafana-migrator

CLI migration utility to migrate Grafana content to Amazon Managed Grafana
Go
22
star
16

aws-otel-dotnet

AWS Distro for OpenTelemetry .NET
C#
21
star
17

aws-otel-python

AWS Distro for OpenTelemetry Python
Python
20
star
18

aws-otel-php

AWS Distro for OpenTelemetry PHP
PHP
15
star
19

amp-eks-iam

Tool providing easy IAM setup on EKS for Amazon Managed Service for Prometheus (AMP) users.
Go
11
star
20

aws-observability-accelerator

AWS Observability Accelerator
11
star
21

aws-otel-ruby

AWS Distro for OpenTelemetry Ruby
Ruby
8
star
22

amp-k8s-config-examples

Configurations for Prometheus including Kubernetes (k8s) Helm charts and Operators
7
star
23

application-signals-demo

Java
6
star