awsappsignals

package
v1.300032.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: MIT Imports: 13 Imported by: 0

README

AWS AppSignals Processor for Amazon Cloudwatch Agent

The AWS AppSignals processor is used to reduce the cardinality of telemetry metrics and traces before exporting them to CloudWatch Logs via EMF and X-Ray respectively. It reduces the cardinality of metrics/traces via 3 types of actions, keep, drop and replace, which are configured by users. CloudWatch Agent(CWA) customers will configure these rules with their CWA configurations.

Note: Traces support only replace actions and are implicitly pulled from the logs section of the CWA configuration

Status
Stability [beta]
Supported pipeline types metrics, traces
Distributions [amazon-cloudwatch-agent]

Exporter Configuration

The following exporter configuration parameters are supported.

Name Description Default
resolvers Platform processor is being configured for. Currently supports EKS. EC2 platform will be supported in the future. [eks]
rules Custom configuration rules used for filtering metrics/traces. Can be of type drop, keep, replace. []
rules

The rules section defines the rules (filters) to be applied

Name Description Default
selectors List of metrics/traces dimension matchers. []
action Action being applied for the specified selector. keep, drop, replace ""
rule_name (Optional) Name of rule. []
replacements (Optional) List of metrics/traces replacements to be executed. Based on specified selectors. requires action = replace []
selectors

A selectors section defines a matching against the dimensions of incoming metrics/traces.

Name Description Default
dimension Dimension of metrics/traces ""
match glob used for matching values of dimensions ""
replacements

A replacements section defines a matching against the dimensions of incoming metrics/traces for which value replacements will be done. action must be replace

Name Description Default
target_dimension Dimension to replace ""
value Value to replace current dimension value with ""

AWS AppSignals Processor Configuration Example

awsappsignals:
    resolvers: ["eks"]
    rules:
      - selectors:
          - dimension: Operation
             match: "POST *"
          - dimension: RemoteService
             match: "*"
         action: keep
         rule_name: "keep01"
      - selectors:
           - dimension: Operation
              match: "GET *"
           - dimension: RemoteService
              match: "*"
         action: keep
         rule_name: "keep02"
      - selectors:
           - dimension: Operation
              match: "POST *"
         action: drop
         rule_name: "drop01"
      - selectors:
           - dimension: Operation
              match: "*"
         replacements:
           - target_dimension: RemoteOperation
              value: "This is a test string"
         action: replace
         rule_name: "replace01"

Amazon CloudWatch Agent Configuration Example

{
          "agent": {
            "region": "us-west-2",
            "debug": true
          },
          "traces": {
            "traces_collected": {
              "app_signals": {}
            }
          },
          "logs": {
            "metrics_collected": {
              "app_signals": {
                "rules": [
                  {
                    "selectors": [
                      {
                        "dimension": "Service",
                        "match": "pet-clinic-frontend"
                      },
                      {
                        "dimension": "RemoteService",
                        "match": "customers-service"
                      }
                  ],
                    "action": "keep",
                    "rule_name": "keep01"
                },
                {
                  "selectors": [
                    {
                      "dimension": "Operation",
                      "match": "GET *"
                    }
                ],
                  "action": "drop",
                  "rule_name": "drop01"
                }
              }
            }
          }
        }

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() processor.Factory

NewFactory returns a new factory for the aws attributes processor.

Types

type Config

type Config struct {
	Resolvers []string     `mapstructure:"resolvers"`
	Rules     []rules.Rule `mapstructure:"rules"`
}

func (*Config) Validate

func (cfg *Config) Validate() error

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL