Experimental
@aws-cdk/aws-applicationsignals-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
CloudWatchAgentOptions Struct
Configuration options for the CloudWatch Agent container.
Example
ts
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();
const vpc = new ec2.Vpc(this, 'TestVpc', {});
const cluster = new ecs.Cluster(this, 'TestCluster', { vpc });
const fargateTaskDefinition = new ecs.FargateTaskDefinition(this, 'SampleAppTaskDefinition', {
cpu: 2048,
memoryLimitMiB: 4096,
});
fargateTaskDefinition.addContainer('app', {
image: ecs.ContainerImage.fromRegistry('test/sample-app'),
});
new appsignals.ApplicationSignalsIntegration(this, 'ApplicationSignalsIntegration', {
taskDefinition: fargateTaskDefinition,
instrumentation: {
sdkVersion: appsignals.JavaInstrumentationVersion.V2_10_0,
},
serviceName: 'sample-app',
cloudWatchAgentSidecar: {
containerName: 'cloudwatch-agent',
enableLogging: true,
cpu: 256,
memoryLimitMiB: 512,
}
});
new ecs.FargateService(this, 'MySampleApp', {
cluster: cluster,
taskDefinition: fargateTaskDefinition,
desiredCount: 1,
});
}
}
Properties
agentConfigoptionalstringagent_configoptionalstragentConfigoptionalStringAgentConfigoptionalstringAgentConfigoptional*string#Custom agent configuration in JSON format.
Default: Uses default configuration for Application Signals
containerNamestringcontainer_namestrcontainerNameStringContainerNamestringContainerName*stringrequired#Name of the CloudWatch Agent container.
The minimum number of CPU units to reserve for the container.
Default: No minimum CPU units reserved.
enableLoggingoptionalbooleanenable_loggingoptionalboolenableLoggingoptionalBooleanEnableLoggingoptionalboolEnableLoggingoptional*bool= false#Whether to enable logging for the CloudWatch Agent.
essentialoptionalbooleanessentialoptionalboolessentialoptionalBooleanEssentialoptionalboolEssentialoptional*bool= true#Start as an essential container.
memoryLimitMiBoptionalnumbermemory_limit_mi_boptionalint | floatmemoryLimitMiBoptionalNumberMemoryLimitMiBoptionaldoubleMemoryLimitMiBoptional*float64#The amount (in MiB) of memory to present to the container.
Default: No memory limit.
memoryReservationMiBoptionalnumbermemory_reservation_mi_boptionalint | floatmemoryReservationMiBoptionalNumberMemoryReservationMiBoptionaldoubleMemoryReservationMiBoptional*float64#The soft limit (in MiB) of memory to reserve for the container.
Default: No memory reserved.
operatingSystemFamilyoptionalOperatingSystemFamilyoperating_system_familyoptionalOperatingSystemFamilyoperatingSystemFamilyoptionalOperatingSystemFamilyOperatingSystemFamilyoptionalOperatingSystemFamilyOperatingSystemFamilyoptionalOperatingSystemFamily= Linux#Operating system family for the CloudWatch Agent.
portMappingsoptionalPortMapping[]port_mappingsoptionaltyping.List[PortMapping]portMappingsoptionalList<PortMapping>PortMappingsoptionalPortMapping[]PortMappingsoptional*[]PortMapping#The port mappings to add to the container definition.
Default: No ports are mapped.