Skip to content

Commit d05ad02

Browse files
authored
Merge pull request #171 from aws-observability/doc/readmeUpdates
Instructions Update for CW Insights for App Signals GA and ReadMe Updates
2 parents 9cc0308 + e1d1b48 commit d05ad02

File tree

4 files changed

+68
-9
lines changed

4 files changed

+68
-9
lines changed

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,22 @@ One of the fallacies of distributed computing is that observability is optional.
1313

1414
AWS Observability Accelerator for CDK provides patterns with:
1515

16-
- [x] Curated metrics with CloudWatch Container Insights
17-
- [x] Curated metrics with ADOT and Amazon Service for Prometheus Exporter
18-
- [x] Logs using FluentBit and ADOT Exporter
19-
- [x] Traces collection with XRAY Daemon
20-
- [x] Traces collection with ADOT XRAY Exporter
16+
- [x] ADOT Collector monitoring
2117
- [x] Amazon Cloudwatch dashboards
2218
- [x] Amazon Managed Grafana Dashboards
2319
- [x] Amazon Managed Service for Prometheus - Alerting rules
2420
- [x] Amazon Managed Service for Prometheus - Recording rules
21+
- [x] Cost monitoring
22+
- [x] Curated metrics with CloudWatch Container Insights
23+
- [x] Curated metrics with ADOT and Amazon Service for Prometheus Exporter
2524
- [x] GPU Infrastructure and Workload monitoring
26-
- [x] Java/JMX Workload monitoring
27-
- [x] NGINX monitoring
25+
- [x] Inferentia Infrastructure and Workload monitoring
2826
- [x] Istio Service Mesh monitoring
29-
- [x] ADOT Collector monitoring
30-
- [x] Cost monitoring (Coming Soon!)
27+
- [x] NGINX monitoring
28+
- [x] Java/JMX Workload monitoring
29+
- [x] Logs using FluentBit and ADOT Exporter
30+
- [x] Traces collection with ADOT XRAY Exporter
31+
- [x] Traces collection with XRAY Daemon
3132

3233
## Single EKS Cluster AWS Native Observability Accelerator
3334

Loading
Loading

docs/patterns/single-new-eks-observability-accelerators/single-new-eks-awsnative-observability.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,64 @@ View the Performance Monitoring Dashboard:
115115

116116
Refer to "Using CloudWatch Logs Insights to Query Logs in [Logging](../../logs.md).
117117

118+
## Enabling Application Signals for your services
119+
120+
Amazon CloudWatch Application Signals is a new integrated native APM experience
121+
in AWS. CloudWatch Application Signals supports **Java** and **Python** applications
122+
running on your Amazon EKS cluster.
123+
124+
If you haven't enabled Application Signals in this account yet, follow steps 1 - 4 in our [AWS documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals-Enable-EKS-Console.html).
125+
126+
Next, you have to update your Application to
127+
`Configure application metrics and trace sampling`. For this, you must add an
128+
annotation to a manifest YAML in your cluster. Adding this annotation
129+
auto-instruments the application to send metrics, traces, and logs to
130+
Application Signals. You have two options for the annotation:
131+
132+
1. **Annotate Workload** auto-instruments a single workload in the cluster.
133+
- Paste the below line into the PodTemplate section of the workload manifest.
134+
```
135+
apiVersion: apps/v1
136+
kind: Deployment
137+
spec:
138+
template:
139+
metadata:
140+
# add this annotation under the pod template metadata of the services deployment YAML you want to monitor
141+
annotations:
142+
instrumentation.opentelemetry.io/inject-java: "true"
143+
instrumentation.opentelemetry.io/inject-python: "true"
144+
...
145+
```
146+
- In your terminal, enter `kubectl apply -f your_deployment_yaml` to apply the change.
147+
148+
2. **Annotate Namespace** auto-instruments all workloads deployed in the selected namespace.
149+
- Paste the below line into the metadata section of the namespace manifest.
150+
```
151+
annotations: instrumentation.opentelemetry.io/inject-java: "true"
152+
apiVersion: apps/v1
153+
kind: Namespace
154+
metadata:
155+
name: <your_namespace>
156+
# add this annotation under metadata of the namespace manifest you want to monitor
157+
annotations:
158+
instrumentation.opentelemetry.io/inject-java: "true"
159+
instrumentation.opentelemetry.io/inject-python: "true"
160+
...
161+
```
162+
- In your terminal, enter `kubectl apply -f your_namespace_yaml` to apply the change.
163+
- In your terminal, enter a command to restart all pods in the namespace. An example command to restart deployment workloads is `kubectl rollout restart deployment -n namespace_name`
164+
165+
## Visualization of CloudWatch Application Signals data
166+
167+
After enabling your Application to pass metrics and traces by following
168+
[the steps provided above](#enabling-application-signals-for-your-services),
169+
open your Amazon CloudWatch console in the same region as your EKS cluster,
170+
then from the left hand side choose `Application Signals -> Services` and you
171+
will see the metrics shown on the sample dashboard below:
172+
173+
![APP_Signals_Services](../images/App-signals/app-signal-services.png)
174+
175+
![APP_Signals_Dependencies](../images/App-signals/app-signal-ops-deps.png)
118176
119177
## Teardown
120178

0 commit comments

Comments
 (0)