Skip to content

Commit 6bf4b95

Browse files
authored
Merge branch 'main' into dotnet-6
2 parents 2b8b95b + 1d5df81 commit 6bf4b95

File tree

6 files changed

+59
-386
lines changed

6 files changed

+59
-386
lines changed

src/config/sideBarData.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ export const sideBarData = [
6262
{label: "Ruby", link: "/docs/getting-started/ruby-sdk"},
6363
{label: ".NET", link: "/docs/getting-started/dotnet-sdk"},
6464
{label: "PHP", link: "/docs/getting-started/php-sdk"},
65-
{label: "k8s Operator", link: "/docs/getting-started/operator"},
66-
{label: "ADOT with EKS add-ons", link: "/docs/getting-started/adot-eks-add-on"},
65+
{label: "EKS add-on", link: "/docs/getting-started/adot-eks-add-on"},
6766
{label: "Lambda", link: "/docs/getting-started/lambda"},
6867
{label: "Amazon Managed Service for Prometheus (AMP)", link: "/docs/getting-started/prometheus-remote-write-exporter"},
6968
{label: "Prometheus Configurations", link: "/docs/getting-started/advanced-prometheus-remote-write-configurations"},

src/content/Downloads/downloads.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
releaseDate: 'Mar-04-2022'
9494
license: 'Apache-2.0'
9595
releaseNotesLink: 'https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.45.0'
96-
documentationLink: 'https://aws-otel.github.io/docs/getting-started/operator'
96+
documentationLink: 'https://aws-otel.github.io/docs/getting-started/adot-eks-add-on'
9797
downloadLink: 'https://gallery.ecr.aws/aws-observability/adot-operator'
9898

9999
- version: 'AWS Distro for OpenTelemetry Collector Version 0.17.1'
@@ -149,7 +149,7 @@
149149
releaseDate: 'Nov-23-2021'
150150
license: 'Apache-2.0'
151151
releaseNotesLink: 'https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.38.0'
152-
documentationLink: 'https://aws-otel.github.io/docs/getting-started/operator'
152+
documentationLink: 'https://aws-otel.github.io/docs/getting-started/adot-eks-add-on'
153153
downloadLink: 'https://gallery.ecr.aws/aws-observability/adot-operator'
154154

155155
- version: 'AWS Distro for OpenTelemetry Collector Version 0.14.1'
@@ -170,7 +170,7 @@
170170
releaseDate: 'Oct-29-2021'
171171
license: 'Apache-2.0'
172172
releaseNotesLink: 'https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.37.1'
173-
documentationLink: 'https://aws-otel.github.io/docs/getting-started/operator'
173+
documentationLink: 'https://aws-otel.github.io/docs/getting-started/adot-eks-add-on'
174174
downloadLink: 'https://gallery.ecr.aws/aws-observability/adot-operator'
175175

176176
- version: 'AWS Distro for OpenTelemetry Collector Version 0.13.0'
@@ -191,7 +191,7 @@
191191
releaseDate: 'Sep-22-2021'
192192
license: 'Apache-2.0'
193193
releaseNotesLink: 'https://github.com/open-telemetry/opentelemetry-operator/releases/tag/v0.34.0'
194-
documentationLink: 'https://aws-otel.github.io/docs/getting-started/operator'
194+
documentationLink: 'https://aws-otel.github.io/docs/getting-started/adot-eks-add-on'
195195
downloadLink: 'https://gallery.ecr.aws/aws-observability/adot-operator'
196196

197197
- version: 'Nuget:OpenTelemetry.Contrib.Extensions.AWSXRay v1.1.0'

src/docs/getting-started/adot-eks-add-on/installation.mdx

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,42 @@ Follow these steps to use the EKS console to leverage EKS add-ons for deploying
4747

4848
## Deploy the ADOT Collector
4949

50-
Once the ADOT EKS Add-On is running, you can deploy the ADOT Collector into your EKS cluster. The ADOT Collector can be deployed in one of four modes: Deployment, Daemonset, StatefulSet, and Sidecar. See [this page](https://aws-otel.github.io/docs/getting-started/operator#step-2-install-adot-collector-as-kubernetes-custom-resource-to-your-eks-cluster) for more information on these deployment modes.
50+
Once the ADOT EKS Add-On is running, you can deploy the ADOT Collector into your EKS cluster. The ADOT Collector can be deployed in one of four modes: Deployment, Daemonset, StatefulSet, and Sidecar. Each mode is briefly described below.
51+
52+
### Deployment Mode
53+
54+
If you want to get more control of the Collector and create a standalone application, Deployment would be your choice. With Deployment,
55+
you can relatively easily scale up the Collector to monitor more targets, roll back to an early version if anything unexpected happens,
56+
pause the Collector, etc. In general, you can manage your Collector instance just as an application.
57+
58+
### DaemonSet Mode
59+
60+
DaemonSet should satisfy your needs if you want the Collector run as an agent in your Kubernetes nodes. In this case, every Kubernetes
61+
node will have its own Collector copy which would monitor the pods in it.
62+
63+
### StatefulSet Mode
64+
65+
There are three main advantages to deploying the Collector as a StatefulSet:
66+
67+
- Predictable names of the Collector instance will be expected
68+
If you use above two approaches to deploy the Collector, the pod name of your Collector instance will be unique (its name plus random sequence).
69+
However, each Pod in a StatefulSet derives its hostname from the name of the StatefulSet and the ordinal of the Pod (my-col-0, my-col-1, my-col-2, etc.).
70+
- Rescheduling will be arranged when a Collector replica fails
71+
If a Collector pod fails in the StatefulSet, Kubernetes will attempt to reschedule a new pod with the same name to the same node.
72+
Kubernetes will also attempt to attach the same sticky identity (e.g., volumes) to the new pod.
73+
- The target allocator could be configured
74+
The target allocator will use a HTTP server to expose the scrape targets to a specific endpoint URL, which will be used by the
75+
Prometheus receiver to scrape metrics data. Additionally, the target allocator will use that discovery information to evenly delegate scraping
76+
jobs to the collector instances inside a StatefulSet based on a replica's current workload.
77+
78+
### Sidecar Mode
79+
80+
The biggest advantage of the sidecar mode is that it allows people to offload their telemetry data as fast and reliable as possible
81+
from their applications. This Collector instance will work on the container level and no new pod will be created, which is perfect to
82+
keep your EKS cluster clean and easily to be managed. Moreover, you can also use the sidecar mode when you want to use a different collect/export
83+
strategy, which just suits this application.
84+
85+
Once a Sidecar instance exists in a given namespace, make sure that your deployment is in that same namespace as well. That deployment can get a sidecar by either adding the annotation `sidecar.opentelemetry.io/inject: "true"` to the pod spec of your application, or to the namespace.
5186

5287
### Use your IAM role to launch the ADOT Collector
5388
You can associate your IAM role to your EKS service account using [IRSA](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/setting-up-enable-IAM.html). Your service account can then provide AWS permissions to the containers you run in any pod that use that service account. You must use this command for each cluster where you're installing ADOT to grant your AWS service account permissions.

src/docs/getting-started/lambda/lambda-java-auto-instr.mdx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,21 @@ Tips:
4747
* By default, the layer is configured to export traces to AWS X-Ray. Make sure your Lambda role has the required AWS X-Ray permissions.
4848
For more on AWS X-Ray permissions for AWS Lambda, see the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html#services-xray-permissions).
4949

50+
* By default, the ADOT Java Agent in the Layer will try to auto-instrument all the code in your application. This can have a negative impact on the Lambda cold startup time.
51+
52+
We recommend that you only enable auto-instrumentation for the libraries/frameworks that are used by your application.
53+
54+
To enable only specific instrumentations you can use the following environment variables:
55+
* `OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED` - When set to `false`, disables auto-instrumentation in the Layer, requiring each instrumentation to be enabled individually.
56+
* `OTEL_INSTRUMENTATION_[NAME]_ENABLED` - Set to `true` to enable auto-instrumentation for a specific library or framework. `[NAME]` should be replaced by the instrumentation that you want to enable. The full list of available instrumentations can be found in [this link](https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/#suppressing-specific-agent-instrumentation).
57+
58+
For example, to only enable auto-instrumentation for Lambda and the AWS SDK, you would have to set the following environment variables:
59+
```bash
60+
OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED=false
61+
OTEL_INSTRUMENTATION_AWS_LAMBDA_ENABLED=true
62+
OTEL_INSTRUMENTATION_AWS_SDK_ENABLED=true
63+
```
64+
5065
### Metric Instrumentation in your Lambda Function
5166

5267
Metric auto instrumentation is supported in OpenTelemetry. You would have to instrument your code in your Lambda application in order to generate application metrics. We will be using the [OpenTelemetry Java Metrics API](https://github.com/open-telemetry/opentelemetry-java/tree/main/api/metrics/src/main/java/io/opentelemetry/api/metrics) to define our metrics. You can define your metric types in a MetricGenerator.java file. To enable exporting metrics for use with backends like Amazon Managed Prometheus, set the environment variable `OTEL_METRICS_EXPORTER=otlp`.

src/docs/getting-started/lambda/lambda-python.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ By default, the ADOT Lambda layer uses the [config.yaml](https://github.com/aws-
6565
which exports telemetry data to AWS X-Ray. To customize the Collector config,
6666
see the [main Lambda section for custom configuration instructions](/docs/getting-started/lambda#custom-configuration-for-the-adot-collector-on-lambda)
6767

68+
The ADOT Python Lambda Layer can also be configured to set a Meter Provider with an appropriate reader and exporter if the `OTEL_METRICS_EXPORTER` environment variable is set to the values noted [here](https://opentelemetry.io/docs/reference/specification/sdk-environment-variables/#exporter-selection).
69+
The `OTEL_EXPORTER_OTLP_PROTOCOL` environment variable should also be set in correlation to the metrics exporter with [these supported values](https://opentelemetry.io/docs/reference/specification/protocol/exporter/#specify-protocol).
70+
If these environment variables are not set, then a default Meter Provider with no readers will be set and cannot be overriden.
6871

6972
<SectionSeparator />
7073

0 commit comments

Comments
 (0)