class Amazonite::CloudWatchLogs::MetricTransformation

Overview

Indicates how to transform ingested log events to metric data in a CloudWatch metric.

Included Modules

Defined in:

cloudwatch_logs/metric_transformation.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(metric_name : String, metric_namespace : String, metric_value : String, default_value : Float64 | Nil = nil, dimensions : Hash(String, String) | Nil = nil, unit : StandardUnit | Nil = nil) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]
def self.new(*, __pull_for_json_serializable pull : JSON::PullParser) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def default_value : Float64 | Nil #

(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.


[View source]
def default_value=(default_value : Float64 | Nil) #

(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.


[View source]
def dimensions : Hash(String, String) | Nil #

The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions.

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 disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

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.


[View source]
def dimensions=(dimensions : Hash(String, String) | Nil) #

The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions.

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 disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

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.


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def metric_name : String #

The name of the CloudWatch metric.


[View source]
def metric_name=(metric_name : String) #

The name of the CloudWatch metric.


[View source]
def metric_namespace : String #

A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see Namespaces.


[View source]
def metric_namespace=(metric_namespace : String) #

A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see Namespaces.


[View source]
def metric_value : String #

The value to publish to the CloudWatch metric when a filter pattern matches a log event.


[View source]
def metric_value=(metric_value : String) #

The value to publish to the CloudWatch metric when a filter pattern matches a log event.


[View source]
def unit : StandardUnit | Nil #

The unit to assign to the metric. If you omit this, the unit is set as None.


[View source]
def unit=(unit : StandardUnit | Nil) #

The unit to assign to the metric. If you omit this, the unit is set as None.


[View source]
def validate! : Nil #

[View source]