AWS::Logs::MetricFilter - AWS CloudFormation

AWS::Logs::MetricFilter

The AWS::Logs::MetricFilter resource specifies a metric filter that describes how CloudWatch Logs extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.

The maximum number of metric filters that can be associated with a log group is 100.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Logs::MetricFilter", "Properties" : { "ApplyOnTransformedLogs" : Boolean, "FilterName" : String, "FilterPattern" : String, "LogGroupName" : String, "MetricTransformations" : [ MetricTransformation, ... ] } }

YAML

Type: AWS::Logs::MetricFilter Properties: ApplyOnTransformedLogs: Boolean FilterName: String FilterPattern: String LogGroupName: String MetricTransformations: - MetricTransformation

Properties

ApplyOnTransformedLogs

This parameter is valid only for log groups that have an active log transformer. For more information about log transformers, see PutTransformer.

If this value is true, the metric filter is applied on the transformed version of the log events instead of the original ingested log events.

Required: No

Type: Boolean

Update requires: No interruption

FilterName

The name of the metric filter.

Required: No

Type: String

Pattern: ^[^:*]{1,512}

Minimum: 1

Maximum: 512

Update requires: Replacement

FilterPattern

A filter pattern for extracting metric data out of ingested log events. For more information, see Filter and Pattern Syntax.

Required: Yes

Type: String

Maximum: 1024

Update requires: No interruption

LogGroupName

The name of an existing log group that you want to associate with this metric filter.

Required: Yes

Type: String

Pattern: ^[.\-_/#A-Za-z0-9]{1,512}

Minimum: 1

Maximum: 512

Update requires: Replacement

MetricTransformations

The metric transformations.

Required: Yes

Type: Array of MetricTransformation

Minimum: 1

Maximum: 1

Update requires: No interruption

Examples

Create a Metric Filter

The following example sends a value of 1 to the 404Count metric whenever the status code field includes a 404 value.

JSON

"404MetricFilter": { "Type": "AWS::Logs::MetricFilter", "Properties": { "LogGroupName": { "Ref": "myLogGroup" }, "FilterPattern": "[ip, identity, user_id, timestamp, request, status_code = 404, size]", "MetricTransformations": [ { "MetricValue": "1", "MetricNamespace": "WebServer/404s", "MetricName": "404Count" } ] } }

YAML

404MetricFilter: Type: AWS::Logs::MetricFilter Properties: LogGroupName: Ref: "myLogGroup" FilterPattern: "[ip, identity, user_id, timestamp, request, status_code = 404, size]" MetricTransformations: - MetricValue: "1" MetricNamespace: "WebServer/404s" MetricName: "404Count"