Skip to content

Commit 944944d

Browse files
committed
Merge branch 'main' into inferentia-inf1-observability
# Conflicts: # lib/single-new-eks-fargate-opensource-observability-pattern/index.ts # package.json
2 parents 934563c + 7a3a8e8 commit 944944d

File tree

12 files changed

+60
-84
lines changed

12 files changed

+60
-84
lines changed

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,38 @@
11
# AWS Observability Accelerator for CDK
22

3-
Welcome to the AWS Observability Accelerator for CDK!
3+
Welcome to the `AWS Observability Accelerator for CDK`!
4+
5+
![GitHub](https://img.shields.io/github/license/aws-quickstart/cdk-eks-blueprints)
6+
![Build](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiTWxBQzVUcTBvdSsvbE9mR0ZWeTJjbi96OUpBREorSG51UjMzQ1UyNXdmUzZ2dUJoTkhIODFJWjN2QjRGcnhWS0pYLzFQRU5uOThiUEp1WjEzS0htbUpVPSIsIml2UGFyYW1ldGVyU3BlYyI6IlRkUFRoTWtjdElBMkR5NEMiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=main)
47

58
The AWS Observability Accelerator for CDK is a set of opinionated modules
69
to help you set up observability for your AWS environments with AWS Native services and AWS-managed observability services such as Amazon Managed Service for Prometheus,Amazon Managed Grafana, AWS Distro for OpenTelemetry (ADOT) and Amazon CloudWatch.
710

8-
We provide curated metrics, logs, traces collection, cloudwatch dashboard, alerting rules and Grafana dashboards for your EKS infrastructure, Java/JMX, NGINX based workloads and your custom applications.
11+
AWS Observability Accelerator for CDK provides patterns with:
12+
13+
- [x] Curated metrics with CloudWatch Container Insights
14+
- [x] Curated metrics with ADOT and Amazon Service for Prometheus Exporter
15+
- [x] Logs using FluentBit and ADOT Exporter
16+
- [x] Traces collection with XRAY Daemon
17+
- [x] Traces collection with ADOT XRAY Exporter
18+
- [x] Amazon Cloudwatch dashboards
19+
- [x] Amazon Managed Grafana Dashboards
20+
- [x] Amazon Managed Service for Prometheus - Alerting rules
21+
- [x] Amazon Managed Service for Prometheus - Recording rules
22+
- [x] GPU Infrastructure and Workload monitoring
23+
- [x] Java/JMX Workload monitoring
24+
- [x] NGINX monitoring
25+
- [x] Istio Service Mesh monitoring
26+
- [x] ADOT Collector monitoring
27+
- [x] Cost monitoring (Coming Soon!)
928

1029
## Single EKS Cluster AWS Native Observability Accelerator
1130

12-
![AWSNative-Architecture](https://github.com/aws-observability/cdk-aws-observability-accelerator/blob/main/docs/images/cloud-native-arch.png?raw=true)
31+
![AWSNative-Architecture](./docs/images/cloud-native-architecture.png)
1332

1433
## Single EKS Cluster Open Source Observability Accelerator
1534

16-
![OpenSource-Architecture](https://raw.githubusercontent.com/aws-observability/cdk-aws-observability-accelerator/811ec42307d41f35f2fec95f2f2b8a20bddc7646/docs/images/CDK_Architecture_diagram.png)
35+
![OpenSource-Architecture](./docs/images/oss-architecture.png)
1736

1837
## Patterns
1938

94.4 KB
Loading

docs/images/oss-architecture.png

96.1 KB
Loading

lib/common/resources/otel-collector-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ spec:
4444
external_labels:
4545
cluster: "{{clusterName}}"
4646
scrape_configs:
47-
{{ start enableAdotMetricsCollectionJob}}
47+
{{ start enableAdotMetricsCollectionJob }}
4848
- job_name: otel-collector-metrics
4949
scrape_interval: 10s
5050
static_configs:

lib/existing-eks-opensource-observability-pattern/index.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
77
import * as cdk from "aws-cdk-lib";
88
import * as eks from 'aws-cdk-lib/aws-eks';
99
import * as fs from 'fs';
10-
import { IstioIngressGatewayHelmAddon } from '../single-new-eks-opensource-observability-pattern/istio/istioIngressGatewayAddon';
11-
import { IstioCniHelmAddon } from '../single-new-eks-opensource-observability-pattern/istio/istiocniAddon';
1210

1311
export default class ExistingEksOpenSourceobservabilityPattern {
1412
async buildAsync(scope: cdk.App, id: string) {
@@ -88,7 +86,7 @@ export default class ExistingEksOpenSourceobservabilityPattern {
8886
);
8987
doc = utils.changeTextBetweenTokens(
9088
doc,
91-
"{{ start enableAdotMetricsCollectionJob}}",
89+
"{{ start enableAdotMetricsCollectionJob }}",
9290
"{{ stop enableAdotMetricsCollectionJob }}",
9391
jsonStringnew.context["adotcollectormetrics.pattern.enabled"]
9492
);
@@ -169,8 +167,13 @@ export default class ExistingEksOpenSourceobservabilityPattern {
169167
addOns.push(new blueprints.addons.IstioControlPlaneAddOn({
170168
version: "1.18.2"
171169
}));
172-
addOns.push(new IstioIngressGatewayHelmAddon);
173-
addOns.push(new IstioCniHelmAddon);
170+
addOns.push(new blueprints.addons.IstioIngressGatewayAddon({
171+
version: "1.18.2"
172+
}));
173+
174+
addOns.push(new blueprints.addons.IstioCniAddon({
175+
version: "1.18.2"
176+
}));
174177
}
175178

176179
ObservabilityBuilder.builder()

lib/single-new-eks-awsnative-fargate-observability-construct/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default class SingleNewEksAWSNativeFargateobservabilityConstruct {
3939
// Define fargate cluster provider and pass the profile options
4040
const fargateClusterProvider : blueprints.FargateClusterProvider = new blueprints.FargateClusterProvider({
4141
fargateProfiles,
42-
version: eks.KubernetesVersion.of("1.28")
42+
version: eks.KubernetesVersion.V1_29
4343
});
4444

4545
const certManagerAddOnProps : blueprints.CertManagerAddOnProps = {

lib/single-new-eks-fargate-opensource-observability-pattern/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export default class SingleNewEksFargateOpenSourceObservabilityConstruct {
6060
);
6161
doc = utils.changeTextBetweenTokens(
6262
doc,
63-
"{{ start enableAdotMetricsCollectionJob}}",
63+
"{{ start enableAdotMetricsCollectionJob }}",
6464
"{{ stop enableAdotMetricsCollectionJob }}",
6565
jsonStringnew.context["adotcollectormetrics.pattern.enabled"]
6666
);
@@ -122,7 +122,7 @@ export default class SingleNewEksFargateOpenSourceObservabilityConstruct {
122122
Reflect.defineMetadata("ordered", true, blueprints.addons.GrafanaOperatorAddon);
123123
const addOns: Array<blueprints.ClusterAddOn> = [
124124
new blueprints.addons.VpcCniAddOn(),
125-
new blueprints.addons.CoreDnsAddOn("auto", {
125+
new blueprints.addons.CoreDnsAddOn("auto",{
126126
configurationValues: { computeType: "Fargate" }
127127
}),
128128
new blueprints.addons.KubeProxyAddOn(),
@@ -171,7 +171,7 @@ export default class SingleNewEksFargateOpenSourceObservabilityConstruct {
171171
// Define fargate cluster provider and pass the profile options
172172
const fargateClusterProvider: blueprints.FargateClusterProvider = new blueprints.FargateClusterProvider({
173173
fargateProfiles,
174-
version: eks.KubernetesVersion.of("1.28"),
174+
version: eks.KubernetesVersion.V1_29
175175
});
176176

177177

lib/single-new-eks-opensource-observability-pattern/graviton-index.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import * as eks from 'aws-cdk-lib/aws-eks';
77
import * as ec2 from 'aws-cdk-lib/aws-ec2';
88
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
99
import * as fs from 'fs';
10-
import { IstioIngressGatewayHelmAddon } from './istio/istioIngressGatewayAddon';
11-
import { IstioCniHelmAddon } from './istio/istiocniAddon';
1210

1311
export default class SingleNewEksGravitonOpenSourceObservabilityPattern {
1412
constructor(scope: Construct, id: string) {
@@ -69,7 +67,7 @@ export default class SingleNewEksGravitonOpenSourceObservabilityPattern {
6967
);
7068
doc = utils.changeTextBetweenTokens(
7169
doc,
72-
"{{ start enableAdotMetricsCollectionJob}}",
70+
"{{ start enableAdotMetricsCollectionJob }}",
7371
"{{ stop enableAdotMetricsCollectionJob }}",
7472
jsonStringnew.context["adotcollectormetrics.pattern.enabled"]
7573
);
@@ -170,12 +168,17 @@ export default class SingleNewEksGravitonOpenSourceObservabilityPattern {
170168
addOns.push(new blueprints.addons.IstioControlPlaneAddOn({
171169
version: "1.18.2"
172170
}));
173-
addOns.push(new IstioIngressGatewayHelmAddon);
174-
addOns.push(new IstioCniHelmAddon);
171+
addOns.push(new blueprints.addons.IstioIngressGatewayAddon({
172+
version: "1.18.2"
173+
}));
174+
175+
addOns.push(new blueprints.addons.IstioCniAddon({
176+
version: "1.18.2"
177+
}));
175178
}
176179

177180
const mngProps: blueprints.MngClusterProviderProps = {
178-
version: eks.KubernetesVersion.of("1.27"),
181+
version: eks.KubernetesVersion.V1_29,
179182
instanceTypes: [new ec2.InstanceType("m7g.large")],
180183
amiType: eks.NodegroupAmiType.AL2_ARM_64,
181184
desiredSize: 2,

lib/single-new-eks-opensource-observability-pattern/index.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import * as ec2 from 'aws-cdk-lib/aws-ec2';
77
import * as amp from 'aws-cdk-lib/aws-aps';
88
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
99
import * as fs from 'fs';
10-
import { IstioIngressGatewayHelmAddon } from './istio/istioIngressGatewayAddon';
11-
import { IstioCniHelmAddon } from './istio/istiocniAddon';
1210

1311
export default class SingleNewEksOpenSourceobservabilityPattern {
1412
constructor(scope: Construct, id: string) {
@@ -72,7 +70,7 @@ export default class SingleNewEksOpenSourceobservabilityPattern {
7270
);
7371
doc = utils.changeTextBetweenTokens(
7472
doc,
75-
"{{ start enableAdotMetricsCollectionJob}}",
73+
"{{ start enableAdotMetricsCollectionJob }}",
7674
"{{ stop enableAdotMetricsCollectionJob }}",
7775
jsonStringnew.context["adotcollectormetrics.pattern.enabled"]
7876
);
@@ -173,12 +171,17 @@ export default class SingleNewEksOpenSourceobservabilityPattern {
173171
addOns.push(new blueprints.addons.IstioControlPlaneAddOn({
174172
version: "1.18.2"
175173
}));
176-
addOns.push(new IstioIngressGatewayHelmAddon);
177-
addOns.push(new IstioCniHelmAddon);
174+
addOns.push(new blueprints.addons.IstioIngressGatewayAddon({
175+
version: "1.18.2"
176+
}));
177+
178+
addOns.push(new blueprints.addons.IstioCniAddon({
179+
version: "1.18.2"
180+
}));
178181
}
179182

180183
const mngProps: blueprints.MngClusterProviderProps = {
181-
version: eks.KubernetesVersion.of("1.28"),
184+
version: eks.KubernetesVersion.V1_29,
182185
instanceTypes: [new ec2.InstanceType("m5.2xlarge")],
183186
amiType: eks.NodegroupAmiType.AL2_X86_64,
184187
desiredSize: 2,

lib/single-new-eks-opensource-observability-pattern/istio/istioIngressGatewayAddon.ts

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

0 commit comments

Comments
 (0)