Class: AWSCDK::Logs::CfnMetricFilter::DimensionProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Logs::CfnMetricFilter::DimensionProperty
- Defined in:
- logs/cfn_metric_filter.rb
Overview
Specifies the CloudWatch metric dimensions to publish with this metric.
Because dimensions are part of the unique identifier for a metric, whenever a unique dimension name/value pair is extracted from your logs, you are creating a new variation of that metric.
For more information about publishing dimensions with metrics created by metric filters, see Publishing dimensions with metrics from values in JSON or space-delimited log events .
Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as
IPAddressorrequest_idas dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.To help prevent accidental high charges, Amazon disables a metric filter if it generates 1000 different name/value pairs for the dimensions that you have specified within a certain amount of time.
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 AWS Charges .
Instance Attribute Summary collapse
-
#key ⇒ String
readonly
The name for the CloudWatch metric dimension that the metric filter creates.
-
#value ⇒ String
readonly
The log event field that will contain the value for this dimension.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(key:, value:) ⇒ DimensionProperty
constructor
A new instance of DimensionProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(key:, value:) ⇒ DimensionProperty
Returns a new instance of DimensionProperty.
585 586 587 588 589 590 |
# File 'logs/cfn_metric_filter.rb', line 585 def initialize(key:, value:) @key = key Jsii::Type.check_type(@key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") @value = value Jsii::Type.check_type(@value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "value") end |
Instance Attribute Details
#key ⇒ String (readonly)
The name for the CloudWatch metric dimension that the metric filter creates.
Dimension names must contain only ASCII characters, must include at least one non-whitespace character, and cannot start with a colon (:).
598 599 600 |
# File 'logs/cfn_metric_filter.rb', line 598 def key @key end |
#value ⇒ String (readonly)
The log event field that will contain the value for this dimension.
This dimension will only be published for a metric if the value is found in the log event. For example, $.eventType for JSON log events, or $server for space-delimited log events.
605 606 607 |
# File 'logs/cfn_metric_filter.rb', line 605 def value @value end |
Class Method Details
.jsii_properties ⇒ Object
607 608 609 610 611 612 |
# File 'logs/cfn_metric_filter.rb', line 607 def self.jsii_properties { :key => "key", :value => "value", } end |
Instance Method Details
#to_jsii ⇒ Object
614 615 616 617 618 619 620 621 |
# File 'logs/cfn_metric_filter.rb', line 614 def to_jsii result = {} result.merge!({ "key" => @key, "value" => @value, }) result.compact end |