Skip to content

Update: OTel Container Insights Lab - #1901

Open
kathanjit wants to merge 27 commits into
aws-samples:mainfrom
oussama-mechlaoui:otlp
Open

Update: OTel Container Insights Lab #1901
kathanjit wants to merge 27 commits into
aws-samples:mainfrom
oussama-mechlaoui:otlp

Conversation

@kathanjit

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Adding a new module to ‘Observability’ lab that ports the CloudOps “Zeus” (GitLab MR !757) OpenTelemetry Container Insights methodology. The existing container-insights (ADOT→EMF→CloudWatch) and oss-metrics (ADOT→AMP→Grafana) No labs was modified or removed.

Which issue(s) this PR fixes:

Quality checks

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Oussama Mechlaoui and others added 25 commits July 21, 2026 13:50
…, and CW Agent CRD

- CloudWatch Observability add-on with OTel Container Insights (metrics only)
- Grafana 12.1.7 with AMP plugin v3.0.0
- CloudWatch Agent CRD for Prometheus scraping (orders + checkout)
- OTel enrichment and resource tags on telemetry
- IAM role with Pod Identity for CloudWatch agent
- Load generator and cleanup script
feat(observability): Add Query with PromQL in CloudWatch content
feat(observability): Update PromQL page with validated queries and ap…
@netlify

netlify Bot commented Aug 5, 2026

Copy link
Copy Markdown

Deploy Preview for eks-workshop ready!

Name Link
🔨 Latest commit 40a5c45
🔍 Latest deploy log https://app.netlify.com/projects/eks-workshop/deploys/6a843646167db30008fba112
😎 Deploy Preview https://deploy-preview-1901--eks-workshop.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.


module "eks_blueprints_addons" {
source = "aws-ia/eks-blueprints-addons/aws"
version = "1.23.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we be hardcoding the version ? how is this in other infra files

---

In this section we'll look at gaining insight in to metrics exposed by our workloads. Some examples of these could be:
aaaaa. In this section we'll look at gaining insight in to metrics exposed by our workloads. Some examples of these could be:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aaa?

[...]
# HELP watch_orders_total The number of orders placed
# TYPE watch_orders_total counter
watch_orders_total{productId="510a0d7e-8e83-4193-b483-e27e09ddc34d",} 2.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will the ids be the same for every run ?

---


To ingest and query OpenTelemetry metrics in Amazon CloudWatch, there are two account-level settings to enable, which can be done through the AWS console, AWS CLI, or AWS SDK. The first setting enables resource tag propagation from your AWS resources to your telemetry data, the same tags that are visible in AWS Resource Explorer. The second enables OpenTelemetry metrics ingestion for CloudWatch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extra space

:::info

The start-otel-enrichment command requires AWS CLI v2.34+. CloudShell includes the latest CLI. If running locally, update your CLI by following the [AWS CLI install guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) .
Enrichment applies only to metrics going forward and does not backfill historical telemetry data. Allow 5–10 minutes for enriched metrics to start appearing.them in CloudWatch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove them

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the file name be opentelemetry - missing l

Next, deploy a load generator to produce application traffic and generate order metrics:

```bash test=false
$ cat <<EOF | kubectl apply -f -

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the same loag genrator is in opentelemetry-proml.md - can we extract it and reference from a single place , without having to udpate in 2 places


set -e

logmessage "Cleaning up OTLP metrics resources..."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i dindt see in any module where the cleanup is referenced. I see that in the Readme. Usually at the end of each lap we explicity ask them to run cleanup.


**Architecture**

Amazon CloudWatch exposes a regional OTLP endpoint that OpenTelemetry-compatible collectors and SDKs can send metrics to directly. Metrics are stored in a high-cardinality metrics store that retains OpenTelemetry metric types including counters, histograms, gauges, and up-down counters without conversion. When enrichment is enabled, CloudWatch automatically tags vended metrics with AWS resource context such as account ID, region, cluster ARN, and resource tags from AWS Resource Explorer. This enrichment requires no manual instrumentation, enabling you to query and filter across AWS accounts, regions, and resource tags using PromQL in Amazon CloudWatch Query Studio or Amazon Managed Grafana.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldnt we inlcude otel-architecture.webp here?


**Option A: AWS Console**

1. Open the Amazon CloudWatch console <ConsoleButton url="https://console.aws.amazon.com/eks/home#/clusters/eks-workshop?selectedTab=cluster-logging-tab" service="eks" label="Open EKS console"/>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the instruction says open cloudwatch console, but the lable is open EKS console

@kathanjit

Copy link
Copy Markdown
Contributor Author

@Mergifyio

@kathanjit kathanjit changed the title OTel Container Insights Lab Update: OTel Container Insights Lab Aug 12, 2026
Kathanjit Sengupta and others added 2 commits August 18, 2026 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants