Jump to Content

This API Documentation is now deprecated

We are excited to announce our new API Documentation.

Class PutMetricFilterCommandProtected

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

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

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

Example

Use a bare-bones client and the command you need to make an API call.

import { CloudWatchLogsClient, PutMetricFilterCommand } from "@aws-sdk/client-cloudwatch-logs"; // ES Modules import
// const { CloudWatchLogsClient, PutMetricFilterCommand } = require("@aws-sdk/client-cloudwatch-logs"); // CommonJS import
const client = new CloudWatchLogsClient(config);
const input = { // PutMetricFilterRequest
logGroupName: "STRING_VALUE", // required
filterName: "STRING_VALUE", // required
filterPattern: "STRING_VALUE", // required
metricTransformations: [ // MetricTransformations // required
{ // MetricTransformation
metricName: "STRING_VALUE", // required
metricNamespace: "STRING_VALUE", // required
metricValue: "STRING_VALUE", // required
defaultValue: Number("double"),
dimensions: { // Dimensions
"<keys>": "STRING_VALUE",
},
unit: "Seconds" || "Microseconds" || "Milliseconds" || "Bytes" || "Kilobytes" || "Megabytes" || "Gigabytes" || "Terabytes" || "Bits" || "Kilobits" || "Megabits" || "Gigabits" || "Terabits" || "Percent" || "Count" || "Bytes/Second" || "Kilobytes/Second" || "Megabytes/Second" || "Gigabytes/Second" || "Terabytes/Second" || "Bits/Second" || "Kilobits/Second" || "Megabits/Second" || "Gigabits/Second" || "Terabits/Second" || "Count/Second" || "None",
},
],
};
const command = new PutMetricFilterCommand(input);
const response = await client.send(command);
// {};

Param

PutMetricFilterCommandInput

Returns

PutMetricFilterCommandOutput

See

Throws

InvalidParameterException (client fault)

A parameter is specified incorrectly.

Throws

LimitExceededException (client fault)

You have reached the maximum number of resources that can be created.

Throws

OperationAbortedException (client fault)

Multiple concurrent requests to update the same resource were in conflict.

Throws

ResourceNotFoundException (client fault)

The specified resource does not exist.

Throws

ServiceUnavailableException (server fault)

The service cannot complete the request.

Throws

CloudWatchLogsServiceException

Base exception class for all service exceptions from CloudWatchLogs service.

Hierarchy

Constructors

Properties

Methods

Constructors

Properties

Methods