Skip to content

Commit b9c8bd9

Browse files
authored
Merge pull request #669 from humivo/eksao/v0.88.0-blog
Add the release blog for v0.88.0 and the Container Logs pages
2 parents e92e85a + 1d66ef8 commit b9c8bd9

File tree

7 files changed

+202
-5
lines changed

7 files changed

+202
-5
lines changed

src/content/BlogPosts/blogPosts.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ description:
66
path: /blog
77

88
blogs:
9+
- title: "AWS Distro for OpenTelemetry EKS Add-on v0.88.0-eksbuild.1 is now available"
10+
author: "Huy Vo"
11+
date: "20-November-2023"
12+
body:
13+
"AWS Distro for OpenTelemetry EKS Add-on v0.88.0-eksbuild.1 is now available."
14+
link: "/docs/ReleaseBlogs/aws-distro-for-opentelemetry-eks-add-on-v0.88.0"
15+
916
- title: "AWS Distro for OpenTelemetry Lambda Layers are now available with ADOT Collector v0.35.0"
1017
author: "Pavan Sai Vasireddy"
1118
date: "03-November-2023"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
title: 'AWS Distro for OpenTelemetry EKS add-on v0.88.0'
3+
description:
4+
This blog post is the release announcement for ADOT EKS Add-on v0.88.0
5+
---
6+
7+
import SectionSeparator from "components/MdxSectionSeparator/sectionSeparator.jsx"
8+
9+
<SectionSeparator />
10+
11+
[AWS Distro for OpenTelemetry (ADOT)](https://aws-otel.github.io/) EKS Add-on v0.88.0 is now available.
12+
13+
<SectionSeparator />
14+
15+
**Breaking Change**
16+
17+
This `v0.88.0` of the ADOT EKS Add-on contains a breaking change to the advanced configuration. Please
18+
read the [EKS Add-on advanced configuration (>=v0.88.0)](/docs/getting-started/adot-eks-add-on/add-on-configuration)
19+
to learn about the new configurable values and the [migration guide](/docs/getting-started/adot-eks-add-on/add-on-v88-migration)
20+
to figure out how to migrate from a pre `v0.88.0-eksbuild.1` advanced configuration to the new schema.
21+
22+
**Release Highlights**
23+
24+
* ADOT Collector [v0.35.0](https://github.com/aws-observability/aws-otel-collector/releases/tag/v0.35.0)
25+
* ADOT autoinstrumentation java [v1.31.0](https://github.com/aws-observability/aws-otel-java-instrumentation/releases/tag/v1.31.0)
26+
* Addition of the [Container Logs](/docs/getting-started/adot-eks-add-on/config-container-logs) preconfigured custom resource that uses the `filelog` receiver to collect Kubernetes pod logs and exports them to Amazon CloudWatch using the `awscloudwatchlogs` exporter.
27+
28+
Detailed release notes are on [GitHub](https://github.com/aws-observability/aws-otel-collector/releases).
29+
All code changes are upstream in the respective OpenTelemetry project components.
30+
31+
**Getting Started**
32+
33+
To learn more about the EKS Add-on please visit the docs on the [ADOT Developer Site](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on) or
34+
the [official AWS Docs](https://docs.aws.amazon.com/eks/latest/userguide/opentelemetry.html)
35+
36+
To learn more about how to use AWS Distro for OpenTelemetry (ADOT) to collect data for your observability solution,
37+
check out the hands-on [AWS Observability workshop](https://observability.workshop.aws/en/adot.html).
38+
Please file an [issue](https://github.com/aws-observability/aws-otel-community/issues) if you have any
39+
questions about the distribution, features, or its components.
40+
41+
We also welcome you to participate in the [OpenTelemetry project](https://github.com/open-telemetry).
42+
The project was [approved for incubation](https://www.cncf.io/blog/2021/08/26/opentelemetry-becomes-a-cncf-incubating-project/) status
43+
in August 2021 by the Cloud Native Computing Foundation Technical Oversight Committee (CNCF TOC). Learn more about
44+
[AWS Distro for OpenTelemetry](https://aws.amazon.com/blogs/opensource/category/management-tools/aws-distro-for-opentelemetry/) on the
45+
[AWS Open Source Blog](https://aws.amazon.com/blogs/opensource/category/management-tools/aws-distro-for-opentelemetry/), where we announced
46+
the distribution’s [general availability for tracing](https://aws.amazon.com/blogs/opensource/aws-distro-for-opentelemetry-is-now-ga-for-tracing/) in September 2021
47+
and the distribution's [general availability for metrics](https://aws.amazon.com/blogs/opensource/aws-distro-for-opentelemetry-is-now-generally-available-for-metrics/) in May 2022.

src/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ custom resources together in one advanced configuration using the EKS add-on.
1515
The supported preconfigured custom resources are listed below:
1616
## [Prometheus Metrics](/docs/getting-started/adot-eks-add-on/config-prometheus-metrics)
1717
## [OTLP Ingest](/docs/getting-started/adot-eks-add-on/config-otlp-ingest)
18+
## [Container Logs](/docs/getting-started/adot-eks-add-on/config-container-logs)
1819

1920
Use the links above to learn about the available configuration options.
2021

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: 'ADOT EKS Add-on v0.88.0 Advanced Configuration Migration Guide'
33
description:
44
This presents a migrationg guide for breaking changes introduced in v0.88.0
5-
path: '/docs/getting-started/adot-eks-add-on/add-on-migration-guide'
5+
path: '/docs/getting-started/adot-eks-add-on/add-on-v88-migration'
66
---
77

88
ADOT EKS Add-on v0.88.0 will be introducing a set of breaking changes to the add-on advanced configuration.
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
title: 'Container Logs Collector Configuration'
3+
description:
4+
This page introduces Collector configuration for Container Logs for the ADOT Collector.
5+
path: '/docs/getting-started/adot-eks-add-on/config-container-logs'
6+
---
7+
The Container Logs collector configuration launches a preconfigured OpenTelemetry Collector custom resource
8+
to tail all Kubernetes pod logs with the [filelog](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver) receiver. By opting into the
9+
[available pipeline](/docs/getting-started/adot-eks-add-on/config-container-logs/#container-logs-pipelines)
10+
you can control where the collected logs are sent. In this preconfigured custom resource,
11+
the collector will run as a [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) in order to capture all logs on each node.
12+
13+
## Prerequisites
14+
15+
### Setup an IAM role to associate with the service account
16+
17+
An IAM Role with the following policies must be created for the following Kubernetes
18+
service account and namespace.
19+
20+
| Service Account Name | Namespace | IAM Policies |
21+
| -------------------------- | --------- | ------------ |
22+
| <nobr>adot-col-container-logs</nobr> | <nobr>opentelemetry-operator-system</nobr> | CloudWatchAgentServerPolicy |
23+
**Note:** Only attach the minimum set of policies necessary for your advanced configuration.
24+
25+
The [IAM Roles for Service Accounts documentation (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.htmlhttps://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) contains instructions for creating the IAM
26+
role. The following examples will use [eksctl](https://eksctl.io/usage/iamserviceaccounts/https://eksctl.io/usage/iamserviceaccounts/) to achieve this.
27+
28+
To create this IAM role, run the following command:
29+
30+
```console
31+
eksctl create iamserviceaccount \
32+
--name adot-col-container-logs \
33+
--namespace opentelemetry-operator-system \
34+
--cluster <your_cluster_name> \
35+
--attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
36+
--approve \
37+
--role-only
38+
```
39+
40+
This IAM role generated by the above command needs to be inserted into the annotations
41+
field of the advanced configuration as seen below:
42+
```yaml
43+
collector:
44+
containerLogs:
45+
serviceAccount:
46+
annotations:
47+
eks.amazonaws.com/role-arn: <iam_role_arn>
48+
```
49+
50+
## Container Logs pipelines
51+
The following pipelines are available for the Container Logs preconfigured custom resource.
52+
Pipelines can be enabled by setting their `enabled` field to `true`.
53+
54+
### Logs
55+
56+
- #### cloudwatchLogs
57+
Logs collected by a filelog receiver are sent to Amazon CloudWatch Logs.
58+
59+
### Container Logs Advanced Configuration pipeline
60+
```yaml
61+
collector:
62+
containerLogs:
63+
serviceAccount:
64+
annotations:
65+
eks.amazonaws.com/role-arn: <iam_role_arn>
66+
pipelines:
67+
logs:
68+
cloudwatchLogs:
69+
enabled: true
70+
```
71+
72+
## Container Logs exporters
73+
The following exporters can be configured for the Container Logs preconfigured custom resource.
74+
75+
### awscloudwatchlogs
76+
77+
- #### log_group_name
78+
The name for the Amazon CloudWatch log group. Must follow pattern: `[\\.\\-_/#A-Za-z0-9]+`
79+
80+
- #### log_stream_name
81+
The name for the Amazon CloudWatch log stream. Must follow pattern: `[^:*]*`
82+
83+
### Container Logs Advanced Configuration exporters
84+
```yaml
85+
collector:
86+
containerLogs:
87+
serviceAccount:
88+
annotations:
89+
eks.amazonaws.com/role-arn: <iam_role_arn>
90+
pipelines:
91+
logs:
92+
cloudwatchLogs:
93+
enabled: true
94+
exporters:
95+
awscloudwatchlogs:
96+
log_group_name: <log_group_name>
97+
log_stream_name: <log_stream_name>
98+
```
99+
100+
## Container Logs configurable values
101+
102+
Shown below is the complete list of configurable fields, along with their default values, for the containerLogs resource.
103+
`$CLUSTER_NAME` refers to the name of the EKS cluster and `$NODE_NAME` refers to the name of the Kubernetes node in the daemonset.
104+
105+
```yaml
106+
collector:
107+
containerLogs:
108+
resources:
109+
limits:
110+
cpu: 1000m
111+
memory: 750Mi
112+
requests:
113+
cpu: 300m
114+
memory: 512Mi
115+
serviceAccount:
116+
annotations:
117+
pipelines:
118+
logs:
119+
cloudwatchLogs:
120+
enabled: false
121+
exporters:
122+
awscloudwatchlogs:
123+
log_group_name: $CLUSTER_NAME/container/logs
124+
log_stream_name: $NODE_NAME
125+
126+
```
127+
*Note that in Fargate, resource requests and limits must be equal, see
128+
this [troubleshooting guide](https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting-adot.html) for more information.
129+
130+
## [Previous Topic: Add-on Advanced Configuration: Collector Deployment](/docs/getting-started/adot-eks-add-on/add-on-configuration-collector-deployment)
131+
132+
## Related Topics:
133+
134+
### [Collector Configuration for Prometheus Metrics](/docs/getting-started/adot-eks-add-on/config-prometheus-metrics)
135+
136+
### [Collector Configuration for OTLP Ingest](/docs/getting-started/adot-eks-add-on/config-otlp-ingest)
137+
138+
## [Next Topic: Updating and Cleanup](/docs/getting-started/adot-eks-add-on/update-and-cleanup)

src/docs/getting-started/adot-eks-add-on/config-otlp-ingest.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ description:
44
This page introduces Collector configuration for OTLP Ingest for the ADOT Collector.
55
path: '/docs/getting-started/adot-eks-add-on/config-otlp-ingest'
66
---
7-
The [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/) Ingest collector configuration launches a preconfigured OpenTelemetryCollector custom resource
8-
to ingest trace export calls with the `otlp` receiver. By opting into the
9-
[available pipeline](/docs/getting-started/adot-eks-add-on/config-otlp-ingest/#otlp-ingest-pipeline)
7+
The [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/) Ingest collector configuration launches a preconfigured OpenTelemetry Collector custom resource
8+
to ingest trace export calls with the [otlp](https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver/otlpreceiver) receiver. By opting into the
9+
[available pipeline](/docs/getting-started/adot-eks-add-on/config-otlp-ingest/#otlp-ingest-pipelines)
1010
you can control where the collected traces are sent.
1111

1212
## Prerequisites
@@ -100,4 +100,6 @@ this [troubleshooting guide](https://docs.aws.amazon.com/eks/latest/userguide/tr
100100

101101
### [Collector Configuration for Prometheus Metrics](/docs/getting-started/adot-eks-add-on/config-prometheus-metrics)
102102

103+
### [Collector Configuration for Container Logs](/docs/getting-started/adot-eks-add-on/config-container-logs)
104+
103105
## [Next Topic: Updating and Cleanup](/docs/getting-started/adot-eks-add-on/update-and-cleanup)

src/docs/getting-started/adot-eks-add-on/config-prometheus-metrics.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description:
44
This page introduces Collector configuration for Prometheus Metrics for the ADOT Collector.
55
path: '/docs/getting-started/adot-eks-add-on/config-prometheus-metrics'
66
---
7-
The Promethes Metrics collector configuration launches a preconfigured OpenTelemetryCollector custom resource
7+
The Promethes Metrics collector configuration launches a preconfigured OpenTelemetry Collector custom resource
88
to scrape prometheus metrics endpoints. By opting into the
99
[available pipelines](/docs/getting-started/adot-eks-add-on/config-prometheus-metrics/#prometheus-metrics-pipelines)
1010
you can control where the collected metrics are sent.
@@ -141,4 +141,6 @@ this [troubleshooting guide](https://docs.aws.amazon.com/eks/latest/userguide/tr
141141

142142
### [Collector Configuration for OTLP Ingest](/docs/getting-started/adot-eks-add-on/config-otlp-ingest)
143143

144+
### [Collector Configuration for Container Logs](/docs/getting-started/adot-eks-add-on/config-container-logs)
145+
144146
## [Next Topic: Updating and Cleanup](/docs/getting-started/adot-eks-add-on/update-and-cleanup)

0 commit comments

Comments
 (0)