MetricStream
The MetricStream resource lets you create and manage AWS CloudWatch MetricStreams for streaming CloudWatch metrics to Amazon Kinesis Data Firehose.
Minimal Example
Section titled “Minimal Example”Create a basic MetricStream with required properties and one optional property.
import AWS from "alchemy/aws/control";
const basicMetricStream = await AWS.CloudWatch.MetricStream("basicMetricStream", { FirehoseArn: "arn:aws:firehose:us-east-1:123456789012:deliverystream/myFirehose", RoleArn: "arn:aws:iam::123456789012:role/myMetricStreamRole", OutputFormat: "json", IncludeLinkedAccountsMetrics: true});
Advanced Configuration
Section titled “Advanced Configuration”Configure a MetricStream with detailed statistics configurations and filters to control the metrics being streamed.
const advancedMetricStream = await AWS.CloudWatch.MetricStream("advancedMetricStream", { FirehoseArn: "arn:aws:firehose:us-east-1:123456789012:deliverystream/myAdvancedFirehose", RoleArn: "arn:aws:iam::123456789012:role/myAdvancedMetricStreamRole", OutputFormat: "json", StatisticsConfigurations: [ { Statistics: ["Average", "Sum"], Dimensions: ["InstanceId"], MetricStat: { MetricName: "CPUUtilization", Namespace: "AWS/EC2", Period: 300, Unit: "Percent" } } ], IncludeFilters: [ { Namespace: "AWS/EC2", MetricName: "CPUUtilization" } ], ExcludeFilters: [ { Namespace: "AWS/S3", MetricName: "BucketSizeBytes" } ]});
Using Tags
Section titled “Using Tags”Create a MetricStream and apply tags for better resource management.
const taggedMetricStream = await AWS.CloudWatch.MetricStream("taggedMetricStream", { FirehoseArn: "arn:aws:firehose:us-east-1:123456789012:deliverystream/myTaggedFirehose", RoleArn: "arn:aws:iam::123456789012:role/myTaggedMetricStreamRole", OutputFormat: "json", Tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "MetricStreamProject" } ]});
Adopting Existing Resources
Section titled “Adopting Existing Resources”Set the adopt
property to true to adopt an existing MetricStream.
const adoptExistingMetricStream = await AWS.CloudWatch.MetricStream("adoptExistingMetricStream", { FirehoseArn: "arn:aws:firehose:us-east-1:123456789012:deliverystream/myExistingFirehose", RoleArn: "arn:aws:iam::123456789012:role/myAdoptExistingMetricStreamRole", OutputFormat: "json", adopt: true});