MetricFilterProps

class aws_cdk.aws_logs.MetricFilterProps(*, filter_pattern, metric_name, metric_namespace, default_value=None, dimensions=None, filter_name=None, metric_value=None, unit=None, log_group)

Bases: MetricFilterOptions

Properties for a MetricFilter.

Parameters:
  • filter_pattern (IFilterPattern) – Pattern to search for log events.

  • metric_name (str) – The name of the metric to emit.

  • metric_namespace (str) – The namespace of the metric to emit.

  • default_value (Union[int, float, None]) – The value to emit if the pattern does not match a particular event. Default: No metric emitted.

  • dimensions (Optional[Mapping[str, str]]) – The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions. Default: - No dimensions attached to metrics.

  • filter_name (Optional[str]) – The name of the metric filter. Default: - Cloudformation generated name.

  • metric_value (Optional[str]) – The value to emit for the metric. Can either be a literal number (typically “1”), or the name of a field in the structure to take the value from the matched event. If you are using a field value, the field value must have been matched using the pattern. If you want to specify a field from a matched JSON structure, use ‘$.fieldName’, and make sure the field is in the pattern (if only as ‘$.fieldName = *’). If you want to specify a field from a matched space-delimited structure, use ‘$fieldName’. Default: “1”

  • unit (Optional[Unit]) – The unit to assign to the metric. Default: - No unit attached to metrics.

  • log_group (ILogGroup) – The log group to create the filter on.

ExampleMetadata:

lit=aws-logs/test/integ.metricfilter.lit.ts infused

Example:

MetricFilter(self, "MetricFilter",
    log_group=log_group,
    metric_namespace="MyApp",
    metric_name="Latency",
    filter_pattern=FilterPattern.exists("$.latency"),
    metric_value="$.latency"
)

Attributes

default_value

The value to emit if the pattern does not match a particular event.

Default:

No metric emitted.

dimensions

The fields to use as dimensions for the metric.

One metric filter can include as many as three dimensions.

Default:
  • No dimensions attached to metrics.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-logs-metricfilter-metrictransformation-dimensions

filter_name

The name of the metric filter.

Default:
  • Cloudformation generated name.

filter_pattern

Pattern to search for log events.

log_group

The log group to create the filter on.

metric_name

The name of the metric to emit.

metric_namespace

The namespace of the metric to emit.

metric_value

The value to emit for the metric.

Can either be a literal number (typically “1”), or the name of a field in the structure to take the value from the matched event. If you are using a field value, the field value must have been matched using the pattern.

If you want to specify a field from a matched JSON structure, use ‘$.fieldName’, and make sure the field is in the pattern (if only as ‘$.fieldName = *’).

If you want to specify a field from a matched space-delimited structure, use ‘$fieldName’.

Default:

“1”

unit

The unit to assign to the metric.

Default:
  • No unit attached to metrics.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-logs-metricfilter-metrictransformation-unit