Skip to content

Commit 9b04ff9

Browse files
committed
addressed feedback from elamaran11
1 parent 0f6b425 commit 9b04ff9

File tree

2 files changed

+78
-39
lines changed

2 files changed

+78
-39
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Existing EKS Cluster AWS Mixed Observability Accelerator
2+
3+
## Architecture
4+
5+
The following figure illustrates the architecture of the pattern we will be deploying for Existing EKS Cluster AWS Mixed Observability pattern, using AWS native tools such as CloudWatch and X-Ray and Open Source tools such as Amazon Distro for OpenTelmetry (ADOT) and Prometheus Node Exporter.
6+
7+
![Architecture](../images/mixed-diagram.png)
8+
9+
This example makes use of CloudWatch, as a metric and log aggregation layer, while X-Ray is used as a trace-aggregation layer. In order to collect the metrics and traces, we use the Open Source ADOT collector. Fluent Bit is used to export the logs to CloudWatch Logs.
10+
11+
In this architecture, AWS X-Ray provides a complete view of requests as they travel through your application and filters visual data across payloads, functions, traces, services, and APIs. X-Ray also allows you to perform analytics, to gain powerful insights about your distributed trace data.
12+
13+
Utilizing CloudWatch and X-Ray as an aggregation layer allows for a fully-managed scalable telemetry backend. In this example we get those benefits while still having the flexibility and rapid development of the Open Source collection tools.
14+
15+
## Objective
16+
17+
This pattern aims to add Observability on top of an existing EKS cluster, with a mixture of AWS native and open source managed AWS services.
18+
19+
## Prerequisites:
20+
21+
Ensure that you have installed the following tools on your machine:
22+
23+
1. [aws cli](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
24+
2. [kubectl](https://Kubernetes.io/docs/tasks/tools/)
25+
3. [cdk](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)
26+
4. [npm](https://docs.npmjs.com/cli/v8/commands/npm-install)
27+
28+
You will also need:
29+
30+
1. either an existing EKS cluster, or you can setup a new one with [Single New EKS Cluster Observability Accelerator](./single-new-eks-cluster.md)
31+
2. an OpenID Connect (OIDC) provider, associated to the above EKS cluster (note: Single EKS Cluster Pattern takes care of that for you)
32+
33+
## Deploying
34+
35+
1. Edit `~/.cdk.json` by setting the name of your existing cluster:
36+
37+
```json
38+
"context": {
39+
...
40+
"existing.cluster.name": "...",
41+
...
42+
}
43+
```
44+
45+
2. Edit `~/.cdk.json` by setting the kubectl role name; if you used Single New EKS Cluster Observability Accelerator to setup your cluster, the kubectl role name would be provided by the output of the deployment, on your command-line interface (CLI):
46+
47+
```json
48+
"context": {
49+
...
50+
"existing.kubectl.rolename":"...",
51+
...
52+
}
53+
```
54+
55+
3. Run the following command from the root of this repository to deploy the pipeline stack:
56+
57+
```bash
58+
make build
59+
make pattern existing-eks-mixed-observability deploy
60+
```
61+
62+
## Verify the resources
63+
64+
Please see [Single New EKS Cluster AWS Mixed Observability Accelerator](./single-new-eks-mixed-observability.md).
65+
66+
## Teardown
67+
68+
You can teardown the whole CDK stack with the following command:
69+
70+
```bash
71+
make pattern existing-eks-mixed-observability destroy
72+
```
73+
74+
If you setup your cluster with Single New EKS Cluster Observability Accelerator, you also need to run:
75+
76+
```bash
77+
make pattern single-new-eks-cluster destroy
78+
```

docs/patterns/single-new-eks-observability-accelerators/existing-eks-mixed-observability.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)