class ApplicationSignalsIntegration (construct)
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.ApplicationSignals.Alpha.ApplicationSignalsIntegration |
Go | github.com/aws/aws-cdk-go/awscdkapplicationsignalsalpha/v2#ApplicationSignalsIntegration |
Java | software.amazon.awscdk.services.applicationsignals.alpha.ApplicationSignalsIntegration |
Python | aws_cdk.aws_applicationsignals_alpha.ApplicationSignalsIntegration |
TypeScript (source) | @aws-cdk/aws-applicationsignals-alpha ยป ApplicationSignalsIntegration |
Implements
IConstruct, IDependable
Class for integrating Application Signals into an ECS task definition.
Example
import { Construct } from 'constructs';
import * as appsignals from '@aws-cdk/aws-applicationsignals-alpha';
import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as ecs from 'aws-cdk-lib/aws-ecs';
class MyStack extends cdk.Stack {
public constructor(scope?: Construct, id?: string, props: cdk.StackProps = {}) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, 'TestVpc', {});
const cluster = new ecs.Cluster(this, 'TestCluster', { vpc });
// Define Task Definition for CloudWatch agent (Daemon)
const cwAgentTaskDefinition = new ecs.Ec2TaskDefinition(this, 'CloudWatchAgentTaskDefinition', {
networkMode: ecs.NetworkMode.HOST,
});
new appsignals.CloudWatchAgentIntegration(this, 'CloudWatchAgentIntegration', {
taskDefinition: cwAgentTaskDefinition,
containerName: 'ecs-cwagent',
enableLogging: false,
cpu: 128,
memoryLimitMiB: 64,
portMappings: [
{
containerPort: 4316,
hostPort: 4316,
},
{
containerPort: 2000,
hostPort: 2000,
},
],
});
// Create the CloudWatch Agent daemon service
new ecs.Ec2Service(this, 'CloudWatchAgentDaemon', {
cluster,
taskDefinition: cwAgentTaskDefinition,
daemon: true, // Runs one container per EC2 instance
});
// Define Task Definition for user application
const sampleAppTaskDefinition = new ecs.Ec2TaskDefinition(this, 'SampleAppTaskDefinition', {
networkMode: ecs.NetworkMode.HOST,
});
sampleAppTaskDefinition.addContainer('app', {
image: ecs.ContainerImage.fromRegistry('test/sample-app'),
cpu: 0,
memoryLimitMiB: 512,
});
// No CloudWatch Agent side car is needed as application container communicates to CloudWatch Agent daemon through host network
new appsignals.ApplicationSignalsIntegration(this, 'ApplicationSignalsIntegration', {
taskDefinition: sampleAppTaskDefinition,
instrumentation: {
sdkVersion: appsignals.PythonInstrumentationVersion.V0_8_0
},
serviceName: 'sample-app'
});
new ecs.Ec2Service(this, 'MySampleApp', {
cluster,
taskDefinition: sampleAppTaskDefinition,
desiredCount: 1,
});
}
}
Initializer
new ApplicationSignalsIntegration(scope: Construct, id: string, props: ApplicationSignalsIntegrationProps)
Parameters
- scope
Construct - id
string - props
ApplicationSignals Integration Props
Construct Props
| Name | Type | Description |
|---|---|---|
| instrumentation | Instrumentation | The instrumentation properties. |
| task | Task | The task definition to integrate Application Signals into. |
| cloud | Cloud | The CloudWatch Agent properties. |
| override | Environment[] | The environment variables to override. |
| service | string | The name of the service. |
instrumentation
Type:
Instrumentation
The instrumentation properties.
taskDefinition
Type:
Task
The task definition to integrate Application Signals into.
[disable-awslint:ref-via-interface]
cloudWatchAgentSidecar?
Type:
Cloud
(optional, default: a basic agent sidecar container with latest public image)
The CloudWatch Agent properties.
overrideEnvironments?
Type:
Environment[]
(optional, default: no environment variables to override.)
The environment variables to override.
serviceName?
Type:
string
(optional, default: task definition family name)
The name of the service.
Properties
| Name | Type | Description |
|---|---|---|
| node | Node | The tree node. |
node
Type:
Node
The tree node.
Methods
| Name | Description |
|---|---|
| to | Returns a string representation of this construct. |
| with(...mixins) | Applies one or more mixins to this construct. |
toString()
public toString(): string
Returns
string
Returns a string representation of this construct.
with(...mixins)
public with(...mixins: IMixin[]): IConstruct
Parameters
- mixins
IMixinโ The mixins to apply.
Returns
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.

.NET
Go
Java
Python
TypeScript (