From e37caa94d05fc030a9c0b67ab1f15f2de7f877fb Mon Sep 17 00:00:00 2001 From: Paramadon Date: Mon, 16 Dec 2024 15:08:04 +0100 Subject: [PATCH] Adding agent health extensions to translators --- .../ecsservicediscovery/servicediscovery.go | 17 +- .../servicediscovery_test.go | 42 + plugins/inputs/prometheus/prometheus.go | 35 +- .../outputs/cloudwatchlogs/cloudwatchlogs.go | 5 +- plugins/processors/ec2tagger/config.go | 2 + plugins/processors/ec2tagger/ec2tagger.go | 22 +- .../sampleConfig/advanced_config_darwin.yaml | 12 +- .../sampleConfig/advanced_config_linux.yaml | 18 +- .../sampleConfig/advanced_config_windows.yaml | 14 +- .../sampleConfig/amp_config_linux.yaml | 334 +-- .../appsignals_and_ecs_config.yaml | 1460 ++++----- .../appsignals_and_eks_config.yaml | 1173 ++++---- .../appsignals_and_k8s_config.yaml | 1177 ++++---- .../appsignals_fallback_and_eks_config.yaml | 2597 +++++++++-------- .../appsignals_over_fallback_config.yaml | 2597 +++++++++-------- .../sampleConfig/base_appsignals_config.yaml | 1161 ++++---- .../base_appsignals_fallback_config.yaml | 2243 +++++++------- .../base_container_insights_config.yaml | 12 +- .../sampleConfig/basic_config_linux.yaml | 10 +- .../sampleConfig/basic_config_windows.yaml | 10 +- .../sampleConfig/collectd_config_linux.yaml | 10 +- .../sampleConfig/compass_linux_config.yaml | 12 +- .../sampleConfig/complete_darwin_config.yaml | 30 +- .../sampleConfig/complete_linux_config.yaml | 41 +- .../sampleConfig/complete_windows_config.yaml | 28 +- .../sampleConfig/config_with_env.yaml | 8 + .../sampleConfig/container_insights_jmx.yaml | 12 +- .../sampleConfig/delta_config_linux.yaml | 24 +- .../sampleConfig/delta_net_config_linux.yaml | 12 +- .../sampleConfig/drop_origin_linux.yaml | 20 +- .../emf_and_kubernetes_config.yaml | 10 +- .../emf_and_kubernetes_with_gpu_config.yaml | 80 +- .../emf_and_kubernetes_with_kueue_config.yaml | 8 + .../ignore_append_dimensions.yaml | 12 +- .../sampleConfig/invalid_input_linux.yaml | 10 +- .../sampleConfig/jmx_config_linux.yaml | 23 +- .../sampleConfig/jmx_eks_config_linux.yaml | 7 +- .../kubernetes_on_prem_config.yaml | 14 +- .../kueue_container_insights_config.yaml | 8 + .../sampleConfig/log_ecs_metric_only.yaml | 8 + .../tocwconfig/sampleConfig/log_filter.yaml | 64 +- .../sampleConfig/log_only_config_windows.yaml | 64 +- .../logs_and_kubernetes_config.yaml | 15 +- .../sampleConfig/no_skip_log_timestamp.yaml | 64 +- .../no_skip_log_timestamp_windows.yaml | 64 +- .../otlp_metrics_cloudwatchlogs_config.yaml | 250 +- .../sampleConfig/otlp_metrics_config.yaml | 218 +- .../procstat_memory_swap_config.yaml | 122 +- .../prometheus_combined_config_linux.yaml | 14 +- .../sampleConfig/prometheus_config_linux.yaml | 8 + .../prometheus_config_windows.yaml | 8 + .../prometheus_otel_config_linux.yaml | 6 +- .../sampleConfig/skip_log_timestamp.yaml | 64 +- .../skip_log_timestamp_default.yaml | 64 +- .../skip_log_timestamp_default_windows.yaml | 64 +- .../skip_log_timestamp_windows.yaml | 64 +- .../sampleConfig/standard_config_linux.yaml | 12 +- ...ndard_config_linux_with_common_config.yaml | 8 + .../sampleConfig/standard_config_windows.yaml | 8 + ...ard_config_windows_with_common_config.yaml | 14 +- .../sampleConfig/statsd_config_linux.yaml | 10 +- .../sampleConfig/statsd_config_windows.yaml | 10 +- .../sampleConfig/statsd_ecs_config.yaml | 100 +- .../sampleConfig/statsd_eks_config.yaml | 122 +- .../sampleConfig/trace_config_linux.yaml | 8 + .../sampleConfig/trace_config_windows.yaml | 8 + .../windows_eventlog_only_config.yaml | 18 +- translator/tocwconfig/tocwconfig_test.go | 4 +- .../pipeline/applicationsignals/translator.go | 3 + .../applicationsignals/translator_test.go | 14 +- .../pipeline/containerinsights/translator.go | 5 +- .../containerinsights/translator_test.go | 6 +- .../containerinsightsjmx/translator.go | 1 + .../containerinsightsjmx/translator_test.go | 2 +- .../otel/pipeline/emf_logs/translator.go | 4 +- .../otel/pipeline/emf_logs/translator_test.go | 8 +- .../otel/pipeline/host/translator.go | 2 + .../otel/pipeline/host/translator_test.go | 14 +- .../translate/otel/pipeline/jmx/translator.go | 2 +- .../otel/pipeline/prometheus/translator.go | 5 +- .../pipeline/prometheus/translator_test.go | 4 +- .../otel/pipeline/xray/translator.go | 3 +- .../otel/pipeline/xray/translator_test.go | 6 +- .../ec2taggerprocessor/translator.go | 1 + .../processor/resourcedetection/translator.go | 9 +- .../awscontainerinsight/translator.go | 5 + 86 files changed, 7742 insertions(+), 7145 deletions(-) diff --git a/internal/ecsservicediscovery/servicediscovery.go b/internal/ecsservicediscovery/servicediscovery.go index 47efd6d2f3..8584733aa0 100644 --- a/internal/ecsservicediscovery/servicediscovery.go +++ b/internal/ecsservicediscovery/servicediscovery.go @@ -8,6 +8,7 @@ import ( "sync" "time" + "github.com/amazon-contributing/opentelemetry-collector-contrib/extension/awsmiddleware" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/ecs" @@ -23,6 +24,7 @@ type ServiceDiscovery struct { stats ProcessorStats clusterProcessors []Processor + Configurer *awsmiddleware.Configurer } func (sd *ServiceDiscovery) init() { @@ -31,8 +33,21 @@ func (sd *ServiceDiscovery) init() { } configProvider := credentialConfig.Credentials() sd.svcEcs = ecs.New(configProvider, aws.NewConfig().WithRegion(sd.Config.TargetClusterRegion).WithMaxRetries(AwsSdkLevelRetryCount)) + + if sd.Configurer != nil { + if err := sd.Configurer.Configure(awsmiddleware.SDKv1(&sd.svcEcs.Handlers)); err != nil { + log.Printf("ERROR: Failed to configure ECS client: %v", err) + } + } + sd.svcEc2 = ec2.New(configProvider, aws.NewConfig().WithRegion(sd.Config.TargetClusterRegion).WithMaxRetries(AwsSdkLevelRetryCount)) + if sd.Configurer != nil { + if err := sd.Configurer.Configure(awsmiddleware.SDKv1(&sd.svcEc2.Handlers)); err != nil { + log.Printf("ERROR: Failed to configure EC2 client: %v", err) + } + } + sd.initClusterProcessorPipeline() } @@ -70,8 +85,8 @@ func StartECSServiceDiscovery(sd *ServiceDiscovery, shutDownChan chan interface{ func (sd *ServiceDiscovery) work() { sd.stats.ResetStats() - var err error var clusterTasks []*DecoratedTask + var err error for _, p := range sd.clusterProcessors { clusterTasks, err = p.Process(sd.Config.TargetCluster, clusterTasks) // Ignore partial result to avoid overwriting existing targets diff --git a/internal/ecsservicediscovery/servicediscovery_test.go b/internal/ecsservicediscovery/servicediscovery_test.go index cb86890598..06803e8ed3 100644 --- a/internal/ecsservicediscovery/servicediscovery_test.go +++ b/internal/ecsservicediscovery/servicediscovery_test.go @@ -7,7 +7,9 @@ import ( "sync" "testing" + "github.com/amazon-contributing/opentelemetry-collector-contrib/extension/awsmiddleware" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" ) func Test_ServiceDiscovery_InitPipelines(t *testing.T) { @@ -70,3 +72,43 @@ func Test_StartECSServiceDiscovery_BadClusterConfig(t *testing.T) { StartECSServiceDiscovery(p, nil, &wg) assert.Equal(t, 0, len(p.clusterProcessors)) } + +func Test_StartECSServiceDiscovery_WithConfigurer(t *testing.T) { + var wg sync.WaitGroup + var requestHandlers []awsmiddleware.RequestHandler + + handler := new(awsmiddleware.MockHandler) + handler.On("ID").Return("mock") + handler.On("Position").Return(awsmiddleware.After) + handler.On("HandleRequest", mock.Anything, mock.Anything) + handler.On("HandleResponse", mock.Anything, mock.Anything) + requestHandlers = append(requestHandlers, handler) + middleware := new(awsmiddleware.MockMiddlewareExtension) + middleware.On("Handlers").Return( + requestHandlers, + []awsmiddleware.ResponseHandler{handler}, + ) + c := awsmiddleware.NewConfigurer(middleware.Handlers()) + + config := ServiceDiscoveryConfig{ + TargetCluster: "test", + TargetClusterRegion: "us-east-1", + } + p := &ServiceDiscovery{Config: &config, Configurer: c} + wg.Add(1) + StartECSServiceDiscovery(p, nil, &wg) + assert.Equal(t, 0, len(p.clusterProcessors)) +} + +func Test_StartECSServiceDiscovery_WithoutConfigurer(t *testing.T) { + var wg sync.WaitGroup + + config := ServiceDiscoveryConfig{ + TargetCluster: "test", + TargetClusterRegion: "us-east-1", + } + p := &ServiceDiscovery{Config: &config, Configurer: nil} + wg.Add(1) + StartECSServiceDiscovery(p, nil, &wg) + assert.Equal(t, 0, len(p.clusterProcessors)) +} diff --git a/plugins/inputs/prometheus/prometheus.go b/plugins/inputs/prometheus/prometheus.go index 5497421cd2..703d54212d 100644 --- a/plugins/inputs/prometheus/prometheus.go +++ b/plugins/inputs/prometheus/prometheus.go @@ -7,9 +7,13 @@ import ( _ "embed" "sync" + "github.com/amazon-contributing/opentelemetry-collector-contrib/extension/awsmiddleware" "github.com/influxdata/telegraf" "github.com/influxdata/telegraf/plugins/inputs" + "go.uber.org/zap" + "github.com/aws/amazon-cloudwatch-agent/cfg/envconfig" + "github.com/aws/amazon-cloudwatch-agent/extension/agenthealth" "github.com/aws/amazon-cloudwatch-agent/internal/ecsservicediscovery" ) @@ -23,6 +27,7 @@ type Prometheus struct { mbCh chan PrometheusMetricBatch shutDownChan chan interface{} wg sync.WaitGroup + middleware awsmiddleware.Middleware } func (p *Prometheus) SampleConfig() string { @@ -39,8 +44,10 @@ func (p *Prometheus) Gather(_ telegraf.Accumulator) error { func (p *Prometheus) Start(accIn telegraf.Accumulator) error { mth := NewMetricsTypeHandler() + receiver := &metricsReceiver{pmbCh: p.mbCh} - handler := &metricsHandler{mbCh: p.mbCh, + handler := &metricsHandler{ + mbCh: p.mbCh, acc: accIn, calculator: NewCalculator(), filter: NewMetricsFilter(), @@ -48,10 +55,22 @@ func (p *Prometheus) Start(accIn telegraf.Accumulator) error { mtHandler: mth, } - ecssd := &ecsservicediscovery.ServiceDiscovery{Config: p.ECSSDConfig} + var configurer *awsmiddleware.Configurer + var ecssd *ecsservicediscovery.ServiceDiscovery + needEcssd := true + + if p.middleware != nil { + configurer = awsmiddleware.NewConfigurer(p.middleware.Handlers()) + if configurer != nil { + ecssd = &ecsservicediscovery.ServiceDiscovery{Config: p.ECSSDConfig, Configurer: configurer} + needEcssd = false + } + } + if needEcssd { + ecssd = &ecsservicediscovery.ServiceDiscovery{Config: p.ECSSDConfig} + } - // Start ECS Service Discovery when in ECS - // https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights-Prometheus-Setup-autodiscovery-ecs.html + // Launch ECS Service Discovery as a goroutine p.wg.Add(1) go ecsservicediscovery.StartECSServiceDiscovery(ecssd, p.shutDownChan, &p.wg) @@ -77,6 +96,14 @@ func init() { return &Prometheus{ mbCh: make(chan PrometheusMetricBatch, 10000), shutDownChan: make(chan interface{}), + middleware: agenthealth.NewAgentHealth( + zap.NewNop(), + &agenthealth.Config{ + IsUsageDataEnabled: envconfig.IsUsageDataEnabled(), + IsStatusCodeEnabled: true, + }, + ), } + }) } diff --git a/plugins/outputs/cloudwatchlogs/cloudwatchlogs.go b/plugins/outputs/cloudwatchlogs/cloudwatchlogs.go index bbec34db90..84a124abab 100644 --- a/plugins/outputs/cloudwatchlogs/cloudwatchlogs.go +++ b/plugins/outputs/cloudwatchlogs/cloudwatchlogs.go @@ -402,8 +402,9 @@ func init() { middleware: agenthealth.NewAgentHealth( zap.NewNop(), &agenthealth.Config{ - IsUsageDataEnabled: envconfig.IsUsageDataEnabled(), - Stats: &agent.StatsConfig{Operations: []string{"PutLogEvents"}}, + IsUsageDataEnabled: envconfig.IsUsageDataEnabled(), + Stats: &agent.StatsConfig{Operations: []string{"PutLogEvents"}}, + IsStatusCodeEnabled: true, }, ), } diff --git a/plugins/processors/ec2tagger/config.go b/plugins/processors/ec2tagger/config.go index 1b0549de6e..9119139567 100644 --- a/plugins/processors/ec2tagger/config.go +++ b/plugins/processors/ec2tagger/config.go @@ -38,6 +38,8 @@ type Config struct { Filename string `mapstructure:"shared_credential_file,omitempty"` Token string `mapstructure:"token,omitempty"` IMDSRetries int `mapstructure:"imds_retries,omitempty"` + + MiddlewareID *component.ID `mapstructure:"middleware,omitempty"` } // Verify Config implements Processor interface. diff --git a/plugins/processors/ec2tagger/ec2tagger.go b/plugins/processors/ec2tagger/ec2tagger.go index 52e9423100..c620f87402 100644 --- a/plugins/processors/ec2tagger/ec2tagger.go +++ b/plugins/processors/ec2tagger/ec2tagger.go @@ -10,6 +10,7 @@ import ( "sync" "time" + "github.com/amazon-contributing/opentelemetry-collector-contrib/extension/awsmiddleware" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/ec2/ec2iface" @@ -56,6 +57,7 @@ type Tagger struct { ec2API ec2iface.EC2API volumeSerialCache volume.Cache + Configurer *awsmiddleware.Configurer sync.RWMutex //to protect ec2TagCache } @@ -63,7 +65,6 @@ type Tagger struct { func newTagger(config *Config, logger *zap.Logger) *Tagger { _, cancel := context.WithCancel(context.Background()) mdCredentialConfig := &configaws.CredentialConfig{} - p := &Tagger{ Config: config, logger: logger, @@ -280,14 +281,12 @@ func (t *Tagger) ebsVolumesRetrieved() bool { // Start acts as input validation and serves the purpose of updating ec2 tags and ebs volumes if necessary. // It will be called when OTel is enabling each processor -func (t *Tagger) Start(ctx context.Context, _ component.Host) error { +func (t *Tagger) Start(ctx context.Context, host component.Host) error { t.shutdownC = make(chan bool) t.ec2TagCache = map[string]string{} - if err := t.deriveEC2MetadataFromIMDS(ctx); err != nil { return err } - t.tagFilters = []*ec2.Filter{ { Name: aws.String("resource-type"), @@ -298,12 +297,10 @@ func (t *Tagger) Start(ctx context.Context, _ component.Host) error { Values: aws.StringSlice([]string{t.ec2MetadataRespond.instanceId}), }, } - + // if the customer said 'AutoScalingGroupName' (the CW dimension), do what they mean not what they said + // and filter for the EC2 tag name called 'aws:autoscaling:groupName' useAllTags := len(t.EC2InstanceTagKeys) == 1 && t.EC2InstanceTagKeys[0] == "*" - if !useAllTags && len(t.EC2InstanceTagKeys) > 0 { - // if the customer said 'AutoScalingGroupName' (the CW dimension), do what they mean not what they said - // and filter for the EC2 tag name called 'aws:autoscaling:groupName' for i, key := range t.EC2InstanceTagKeys { if cwDimensionASG == key { t.EC2InstanceTagKeys[i] = Ec2InstanceTagKeyASG @@ -315,7 +312,6 @@ func (t *Tagger) Start(ctx context.Context, _ component.Host) error { Values: aws.StringSlice(t.EC2InstanceTagKeys), }) } - if len(t.EC2InstanceTagKeys) > 0 || len(t.EBSDeviceKeys) > 0 { ec2CredentialConfig := &configaws.CredentialConfig{ AccessKey: t.AccessKey, @@ -327,6 +323,13 @@ func (t *Tagger) Start(ctx context.Context, _ component.Host) error { Region: t.ec2MetadataRespond.region, } t.ec2API = t.ec2Provider(ec2CredentialConfig) + + if client, ok := t.ec2API.(*ec2.EC2); ok { + if t.Config.MiddlewareID != nil { + awsmiddleware.TryConfigure(t.logger, host, *t.Config.MiddlewareID, awsmiddleware.SDKv1(&client.Handlers)) + } + } + go func() { //Async start of initial retrieval to prevent block of agent start t.initialRetrievalOfTagsAndVolumes() t.refreshLoopToUpdateTagsAndVolumes() @@ -336,7 +339,6 @@ func (t *Tagger) Start(ctx context.Context, _ component.Host) error { } else { t.setStarted() } - return nil } diff --git a/translator/tocwconfig/sampleConfig/advanced_config_darwin.yaml b/translator/tocwconfig/sampleConfig/advanced_config_darwin.yaml index 64d81aaa17..29a6edb0ef 100644 --- a/translator/tocwconfig/sampleConfig/advanced_config_darwin.yaml +++ b/translator/tocwconfig/sampleConfig/advanced_config_darwin.yaml @@ -17,6 +17,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 @@ -38,9 +45,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: + - InstanceType - ImageId - InstanceId - - InstanceType imds_retries: 1 refresh_interval_seconds: 0s receivers: @@ -71,6 +78,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -81,10 +89,10 @@ service: - ec2tagger receivers: - telegraf_disk + - telegraf_mem - telegraf_netstat - telegraf_swap - telegraf_cpu - - telegraf_mem metrics/hostDeltaMetrics: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/advanced_config_linux.yaml b/translator/tocwconfig/sampleConfig/advanced_config_linux.yaml index b202e49fd9..14da19542a 100644 --- a/translator/tocwconfig/sampleConfig/advanced_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/advanced_config_linux.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 cumulativetodelta/hostDeltaMetrics: exclude: match_type: strict @@ -38,9 +45,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: - - InstanceType - ImageId - InstanceId + - InstanceType imds_retries: 1 refresh_interval_seconds: 0s receivers: @@ -79,6 +86,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -88,13 +96,13 @@ service: - awsentity/resource - ec2tagger receivers: + - telegraf_swap + - telegraf_ethtool + - telegraf_nvidia_smi - telegraf_cpu - telegraf_disk - telegraf_mem - telegraf_netstat - - telegraf_swap - - telegraf_ethtool - - telegraf_nvidia_smi metrics/hostDeltaMetrics: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/advanced_config_windows.yaml b/translator/tocwconfig/sampleConfig/advanced_config_windows.yaml index 0b7068462e..c74cfc6b2f 100644 --- a/translator/tocwconfig/sampleConfig/advanced_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/advanced_config_windows.yaml @@ -17,6 +17,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 @@ -72,6 +79,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -81,13 +89,13 @@ service: - awsentity/resource - ec2tagger receivers: + - telegraf_win_perf_counters/3446270237 + - telegraf_win_perf_counters/3762679655 + - telegraf_win_perf_counters/2073218482 - telegraf_win_perf_counters/2039663244 - telegraf_win_perf_counters/4283769065 - telegraf_win_perf_counters/1492679118 - telegraf_win_perf_counters/3610923661 - - telegraf_win_perf_counters/3446270237 - - telegraf_win_perf_counters/3762679655 - - telegraf_win_perf_counters/2073218482 telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/amp_config_linux.yaml b/translator/tocwconfig/sampleConfig/amp_config_linux.yaml index d32905f7ca..b2bc150898 100644 --- a/translator/tocwconfig/sampleConfig/amp_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/amp_config_linux.yaml @@ -1,168 +1,176 @@ exporters: - awscloudwatch: - drop_original_metrics: - CPU_USAGE_IDLE: true - cpu_time_active: true - force_flush_interval: 1m0s - max_datums_per_call: 1000 - max_values_per_datum: 150 - middleware: agenthealth/metrics - namespace: CWAgent - region: us-west-2 - resource_to_telemetry_conversion: - enabled: true - rollup_dimensions: - - - ImageId - - - InstanceId - - InstanceType - - - d1 - - [ ] - prometheusremotewrite/amp: - add_metric_suffixes: true - auth: - authenticator: sigv4auth - compression: "" - disable_keep_alives: false - endpoint: https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-12345/api/v1/remote_write - export_created_metric: - enabled: false - http2_ping_timeout: 0s - http2_read_idle_timeout: 0s - max_batch_size_bytes: 3000000 - namespace: "" - proxy_url: "" - read_buffer_size: 0 - remote_write_queue: - enabled: true - num_consumers: 5 - queue_size: 10000 - resource_to_telemetry_conversion: - clear_after_copy: true - enabled: true - retry_on_failure: - enabled: true - initial_interval: 50ms - randomization_factor: 0.5 - multiplier: 1.5 - max_interval: 30s - max_elapsed_time: 5m0s - send_metadata: false - target_info: - enabled: true - timeout: 5s - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: 0s - server_name_override: "" - write_buffer_size: 524288 + awscloudwatch: + drop_original_metrics: + CPU_USAGE_IDLE: true + cpu_time_active: true + force_flush_interval: 1m0s + max_datums_per_call: 1000 + max_values_per_datum: 150 + middleware: agenthealth/metrics + namespace: CWAgent + region: us-west-2 + resource_to_telemetry_conversion: + enabled: true + rollup_dimensions: + - - ImageId + - - InstanceId + - InstanceType + - - d1 + - [] + prometheusremotewrite/amp: + add_metric_suffixes: true + auth: + authenticator: sigv4auth + compression: "" + disable_keep_alives: false + endpoint: https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-12345/api/v1/remote_write + export_created_metric: + enabled: false + http2_ping_timeout: 0s + http2_read_idle_timeout: 0s + max_batch_size_bytes: 3000000 + namespace: "" + proxy_url: "" + read_buffer_size: 0 + remote_write_queue: + enabled: true + num_consumers: 5 + queue_size: 10000 + resource_to_telemetry_conversion: + clear_after_copy: true + enabled: true + retry_on_failure: + enabled: true + initial_interval: 50ms + max_elapsed_time: 5m0s + max_interval: 30s + multiplier: 1.5 + randomization_factor: 0.5 + send_metadata: false + target_info: + enabled: true + timeout: 5s + tls: + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" + write_buffer_size: 524288 extensions: - agenthealth/metrics: - is_usage_data_enabled: true - stats: - operations: - - PutMetricData - usage_flags: - mode: EC2 - region_type: ACJ - entitystore: - mode: ec2 - region: us-west-2 - sigv4auth: - assume_role: - sts_region: us-west-2 - region: us-west-2 + agenthealth/metrics: + is_usage_data_enabled: true + stats: + operations: + - PutMetricData + usage_flags: + mode: EC2 + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ + entitystore: + mode: ec2 + region: us-west-2 + sigv4auth: + assume_role: + sts_region: us-west-2 + region: us-west-2 processors: - awsentity/resource: - entity_type: Resource - platform: ec2 - batch/host/amp: - metadata_cardinality_limit: 1000 - send_batch_max_size: 0 - send_batch_size: 8192 - timeout: 1m0s - ec2tagger: - ec2_instance_tag_keys: - - AutoScalingGroupName - ec2_metadata_tags: - - InstanceType - - ImageId - - InstanceId - imds_retries: 1 - refresh_interval_seconds: 0s - rollup: - attribute_groups: - - - ImageId - - - InstanceId - - InstanceType - - - d1 - - [ ] - cache_size: 1000 - drop_original: - - CPU_USAGE_IDLE - - cpu_time_active - transform: - error_mode: propagate - flatten_data: false - log_statements: [ ] - metric_statements: - - context: metric - statements: - - set(unit, "unit") where name == "cpu_usage_idle" - - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" - - set(unit, "unit") where name == "cpu_usage_nice" - trace_statements: [ ] + awsentity/resource: + entity_type: Resource + platform: ec2 + batch/host/amp: + metadata_cardinality_limit: 1000 + send_batch_max_size: 0 + send_batch_size: 8192 + timeout: 1m0s + ec2tagger: + ec2_instance_tag_keys: + - AutoScalingGroupName + ec2_metadata_tags: + - InstanceId + - InstanceType + - ImageId + imds_retries: 1 + refresh_interval_seconds: 0s + rollup: + attribute_groups: + - - ImageId + - - InstanceId + - InstanceType + - - d1 + - [] + cache_size: 1000 + drop_original: + - CPU_USAGE_IDLE + - cpu_time_active + transform: + error_mode: propagate + flatten_data: false + log_statements: [] + metric_statements: + - context: metric + statements: + - set(unit, "unit") where name == "cpu_usage_idle" + - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" + - set(unit, "unit") where name == "cpu_usage_nice" + trace_statements: [] receivers: - telegraf_cpu: - collection_interval: 10s - initial_delay: 1s - timeout: 0s + telegraf_cpu: + collection_interval: 10s + initial_delay: 1s + timeout: 0s service: - extensions: - - agenthealth/metrics - - sigv4auth - - entitystore - pipelines: - metrics/host/cloudwatch: - exporters: - - awscloudwatch - processors: - - awsentity/resource - - ec2tagger - - transform - receivers: - - telegraf_cpu - metrics/host/amp: - exporters: - - prometheusremotewrite/amp - processors: - - ec2tagger - - transform - - rollup - - batch/host/amp - receivers: - - telegraf_cpu - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } + extensions: + - agenthealth/metrics + - agenthealth/statuscode + - sigv4auth + - entitystore + pipelines: + metrics/host/amp: + exporters: + - prometheusremotewrite/amp + processors: + - ec2tagger + - transform + - rollup + - batch/host/amp + receivers: + - telegraf_cpu + metrics/host/cloudwatch: + exporters: + - awscloudwatch + processors: + - awsentity/resource + - ec2tagger + - transform + receivers: + - telegraf_cpu + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/appsignals_and_ecs_config.yaml b/translator/tocwconfig/sampleConfig/appsignals_and_ecs_config.yaml index c2a36602fe..269ffe1816 100644 --- a/translator/tocwconfig/sampleConfig/appsignals_and_ecs_config.yaml +++ b/translator/tocwconfig/sampleConfig/appsignals_and_ecs_config.yaml @@ -1,136 +1,136 @@ exporters: awsemf/application_signals: - certificate_file_path: '' + certificate_file_path: "" detailed_metrics: false dimension_rollup_option: NoDimensionRollup disable_metric_extraction: false eks_fargate_container_insights_enabled: false - endpoint: 'https://fake_endpoint' + endpoint: https://fake_endpoint enhanced_container_insights: false imds_retries: 1 local_mode: false log_group_name: /aws/application-signals/data log_retention: 0 - log_stream_name: '' + log_stream_name: "" max_retries: 2 metric_declarations: - dimensions: - - - Environment - - Operation - - Service - - - Environment - - Service + - - Environment + - Operation + - Service + - - Environment + - Service label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ServerSpan|LocalRootSpan)$ - separator: ; + - label_names: + - Telemetry.Source + regex: ^(ServerSpan|LocalRootSpan)$ + separator: ; metric_name_selectors: - - Latency - - Fault - - Error + - Latency + - Fault + - Error - dimensions: - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteService - - Service - - - Environment - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - - RemoteService + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteService + - Service + - - Environment + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - - RemoteService label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ - separator: ; + - label_names: + - Telemetry.Source + regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ + separator: ; metric_name_selectors: - - Latency - - Fault - - Error + - Latency + - Fault + - Error - dimensions: - - - Environment - - Service + - - Environment + - Service label_matchers: - - label_names: - - Telemetry.Source - regex: ^RuntimeMetric$ - separator: ; + - label_names: + - Telemetry.Source + regex: ^RuntimeMetric$ + separator: ; metric_name_selectors: - - ^.*$ + - ^.*$ middleware: agenthealth/logs namespace: ApplicationSignals no_verify_ssl: false num_workers: 8 output_destination: cloudwatch - profile: '' - proxy_address: '' + profile: "" + proxy_address: "" region: us-east-1 request_timeout_seconds: 30 - resource_arn: '' + resource_arn: "" resource_to_telemetry_conversion: enabled: false retain_initial_value_of_delta_metric: false - role_arn: '' - version: '1' + role_arn: "" + version: "1" awsxray/application_signals: - certificate_file_path: '' - endpoint: '' + certificate_file_path: "" + endpoint: "" imds_retries: 1 index_all_attributes: false indexed_attributes: @@ -147,12 +147,12 @@ exporters: middleware: agenthealth/traces no_verify_ssl: false num_workers: 8 - profile: '' - proxy_address: '' + profile: "" + proxy_address: "" region: us-east-1 request_timeout_seconds: 30 - resource_arn: '' - role_arn: '' + resource_arn: "" + role_arn: "" telemetry: enabled: true include_metadata: true @@ -165,6 +165,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -174,18 +181,18 @@ extensions: mode: EC2 region_type: ACJ awsproxy/application_signals: - aws_endpoint: '' + aws_endpoint: "" + certificate_file_path: "" dialer: timeout: 0s - certificate_file_path: '' - endpoint: '0.0.0.0:2000' + endpoint: 0.0.0.0:2000 imds_retries: 1 local_mode: false - profile: '' - proxy_address: '' + profile: "" + proxy_address: "" region: us-east-1 - service_name: '' - role_arn: '' + role_arn: "" + service_name: "" processors: awsapplicationsignals: limiter: @@ -195,8 +202,584 @@ processors: log_dropped_metrics: true rotation_interval: 10m0s resolvers: - - name: '' + - name: "" platform: ecs + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" resourcedetection: aks: resource_attributes: @@ -229,11 +812,11 @@ processors: host.name: enabled: true tags: [] - compression: '' + compression: "" consul: - address: '' - datacenter: '' - namespace: '' + address: "" + datacenter: "" + namespace: "" resource_attributes: cloud.region: enabled: true @@ -241,7 +824,7 @@ processors: enabled: true host.name: enabled: true - token_file: '' + token_file: "" detectors: - env - ecs @@ -274,7 +857,7 @@ processors: host.type: enabled: true tags: - - '^aws:autoscaling:groupName' + - ^aws:autoscaling:groupName ecs: resource_attributes: aws.ecs.cluster.arn: @@ -285,10 +868,10 @@ processors: enabled: false aws.ecs.task.family: enabled: false - aws.ecs.task.revision: - enabled: false aws.ecs.task.id: enabled: false + aws.ecs.task.revision: + enabled: false aws.log.group.arns: enabled: false aws.log.group.names: @@ -327,7 +910,7 @@ processors: enabled: true service.version: enabled: true - endpoint: '' + endpoint: "" gcp: resource_attributes: cloud.account.id: @@ -387,9 +970,9 @@ processors: idle_conn_timeout: 1m30s k8snode: auth_type: serviceAccount - context: '' - kube_config_path: '' - node_from_env_var: '' + context: "" + kube_config_path: "" + node_from_env_var: "" resource_attributes: k8s.node.name: enabled: true @@ -417,7 +1000,7 @@ processors: enabled: true max_idle_conns: 100 openshift: - address: '' + address: "" resource_attributes: cloud.platform: enabled: true @@ -428,19 +1011,19 @@ processors: k8s.cluster.name: enabled: true tls: - ca_file: '' - cert_file: '' + ca_file: "" + cert_file: "" include_system_ca_certs_pool: false insecure: false insecure_skip_verify: false - key_file: '' - max_version: '' - min_version: '' + key_file: "" + max_version: "" + min_version: "" reload_interval: 0s - server_name_override: '' - token: '' + server_name_override: "" + token: "" override: true - proxy_url: '' + proxy_url: "" read_buffer_size: 0 system: resource_attributes: @@ -472,637 +1055,62 @@ processors: enabled: true timeout: 2s tls: - ca_file: '' - cert_file: '' + ca_file: "" + cert_file: "" include_system_ca_certs_pool: false insecure: false insecure_skip_verify: false - key_file: '' - max_version: '' - min_version: '' + key_file: "" + max_version: "" + min_version: "" reload_interval: 0s - server_name_override: '' + server_name_override: "" write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: '' - submatch_case: '' - match_type: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: - name: .*Old\\sGen$ - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: - name: .*Survivor\\sSpace$ - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: - name: .*Eden\\sSpace$ - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: '' - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: '' - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: - name: G1 Old Generation - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: - name: G1 Young Generation - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: - name: G1 Old Generation - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: - name: G1 Young Generation - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: - count: '0' - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: - count: '1' - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: - count: '2' - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: - type: vms - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: - type: rss - match_type: regexp - aggregation_type: '' - submatch_case: '' - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: '' - new_label: '' - label_value: '' - new_value: '' - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: '' - experimental_scale: 0 - label: '' - label_value: '' receivers: otlp/application_signals: protocols: grpc: - endpoint: '0.0.0.0:4315' dialer: timeout: 0s + endpoint: 0.0.0.0:4315 include_metadata: false max_concurrent_streams: 0 max_recv_msg_size_mib: 0 read_buffer_size: 524288 tls: - ca_file: '' + ca_file: "" cert_file: path/to/cert.crt - client_ca_file: '' + client_ca_file: "" client_ca_file_reload: false include_system_ca_certs_pool: false key_file: path/to/key.key - max_version: '' - min_version: '' + max_version: "" + min_version: "" reload_interval: 0s transport: tcp write_buffer_size: 0 http: - endpoint: '0.0.0.0:4316' + endpoint: 0.0.0.0:4316 include_metadata: false logs_url_path: /v1/logs max_request_body_size: 0 metrics_url_path: /v1/metrics tls: - ca_file: '' + ca_file: "" cert_file: path/to/cert.crt - client_ca_file: '' + client_ca_file: "" client_ca_file_reload: false include_system_ca_certs_pool: false key_file: path/to/key.key - max_version: '' - min_version: '' + max_version: "" + min_version: "" reload_interval: 0s traces_url_path: /v1/traces service: extensions: - awsproxy/application_signals - agenthealth/traces + - agenthealth/statuscode - agenthealth/logs pipelines: metrics/application_signals: @@ -1135,6 +1143,6 @@ service: thereafter: 500 tick: 10s metrics: - address: '' + address: "" level: None traces: {} diff --git a/translator/tocwconfig/sampleConfig/appsignals_and_eks_config.yaml b/translator/tocwconfig/sampleConfig/appsignals_and_eks_config.yaml index 1d71ffb03b..3ad6ee7be8 100644 --- a/translator/tocwconfig/sampleConfig/appsignals_and_eks_config.yaml +++ b/translator/tocwconfig/sampleConfig/appsignals_and_eks_config.yaml @@ -104,14 +104,15 @@ exporters: - Fault - Error - dimensions: - - [ Environment, Service ] + - - Environment + - Service label_matchers: - label_names: - Telemetry.Source - regex: '^RuntimeMetric$' + regex: ^RuntimeMetric$ separator: ; metric_name_selectors: - - '^.*$' + - ^.*$ middleware: agenthealth/logs namespace: ApplicationSignals no_verify_ssl: false @@ -273,6 +274,13 @@ extensions: usage_flags: mode: EKS region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EKS + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -295,14 +303,14 @@ extensions: role_arn: "" service_name: "" entitystore: - mode: ec2 - region: us-east-1 - kubernetes_mode: EKS + kubernetes_mode: EKS + mode: ec2 + region: us-east-1 server: - listen_addr: :4311 - tls_ca_path: "/etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt" - tls_cert_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.crt" - tls_key_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.key" + listen_addr: :4311 + tls_ca_path: /etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt + tls_cert_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.crt + tls_key_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.key processors: awsapplicationsignals: limiter: @@ -324,6 +332,582 @@ processors: send_batch_max_size: 0 send_batch_size: 8192 timeout: 5s + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" resourcedetection: aks: resource_attributes: @@ -611,570 +1195,6 @@ processors: reload_interval: 0s server_name_override: "" write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: {"name": '.*Old\\sGen$'} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: {"name": '.*Survivor\\sSpace$'} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: {"name": '.*Eden\\sSpace$'} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: {"name": "G1 Old Generation"} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: {"name": "G1 Young Generation"} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: {"name": "G1 Old Generation"} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: {"name": "G1 Young Generation"} - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: {"type": "vms"} - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: {"type": "rss"} - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" receivers: awscontainerinsightreceiver: accelerated_compute_metrics: false @@ -1245,9 +1265,10 @@ receivers: traces_url_path: /v1/traces service: extensions: + - agenthealth/logs + - agenthealth/statuscode - awsproxy/application_signals - agenthealth/traces - - agenthealth/logs - entitystore - server pipelines: @@ -1256,9 +1277,9 @@ service: - awsemf/application_signals processors: - metricstransform/application_signals - - awsentity/service/application_signals - resourcedetection - awsapplicationsignals + - awsentity/service/application_signals receivers: - otlp/application_signals metrics/containerinsights: diff --git a/translator/tocwconfig/sampleConfig/appsignals_and_k8s_config.yaml b/translator/tocwconfig/sampleConfig/appsignals_and_k8s_config.yaml index 5b099d0315..a9a5879fc2 100644 --- a/translator/tocwconfig/sampleConfig/appsignals_and_k8s_config.yaml +++ b/translator/tocwconfig/sampleConfig/appsignals_and_k8s_config.yaml @@ -104,14 +104,15 @@ exporters: - Fault - Error - dimensions: - - [ Environment, Service ] + - - Environment + - Service label_matchers: - label_names: - Telemetry.Source - regex: '^RuntimeMetric$' + regex: ^RuntimeMetric$ separator: ; metric_name_selectors: - - '^.*$' + - ^.*$ middleware: agenthealth/logs namespace: ApplicationSignals no_verify_ssl: false @@ -274,6 +275,13 @@ extensions: usage_flags: mode: K8E region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: K8E + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -296,14 +304,14 @@ extensions: role_arn: "" service_name: "" entitystore: - mode: ec2 - region: us-east-1 - kubernetes_mode: K8sEC2 + kubernetes_mode: K8sEC2 + mode: ec2 + region: us-east-1 server: - listen_addr: :4311 - tls_ca_path: "/etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt" - tls_cert_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.crt" - tls_key_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.key" + listen_addr: :4311 + tls_ca_path: /etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt + tls_cert_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.crt + tls_key_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.key processors: awsapplicationsignals: limiter: @@ -313,8 +321,8 @@ processors: log_dropped_metrics: true rotation_interval: 10m0s resolvers: - - name: TestCluster - platform: k8s + - name: TestCluster + platform: k8s awsentity/service/application_signals: cluster_name: TestCluster entity_type: Service @@ -325,6 +333,582 @@ processors: send_batch_max_size: 0 send_batch_size: 8192 timeout: 5s + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" resourcedetection: aks: resource_attributes: @@ -612,570 +1196,6 @@ processors: reload_interval: 0s server_name_override: "" write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: { "name": '.*Old\\sGen$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Survivor\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Eden\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: { "type": "vms" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: { "type": "rss" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" receivers: awscontainerinsightreceiver: accelerated_compute_metrics: false @@ -1226,9 +1246,10 @@ receivers: traces_url_path: /v1/traces service: extensions: + - agenthealth/logs + - agenthealth/statuscode - awsproxy/application_signals - agenthealth/traces - - agenthealth/logs - entitystore - server pipelines: @@ -1237,9 +1258,9 @@ service: - awsemf/application_signals processors: - metricstransform/application_signals - - awsentity/service/application_signals - resourcedetection - awsapplicationsignals + - awsentity/service/application_signals receivers: - otlp/application_signals metrics/containerinsights: diff --git a/translator/tocwconfig/sampleConfig/appsignals_fallback_and_eks_config.yaml b/translator/tocwconfig/sampleConfig/appsignals_fallback_and_eks_config.yaml index bfcea74610..3ad6ee7be8 100644 --- a/translator/tocwconfig/sampleConfig/appsignals_fallback_and_eks_config.yaml +++ b/translator/tocwconfig/sampleConfig/appsignals_fallback_and_eks_config.yaml @@ -1,1294 +1,1315 @@ exporters: - awsemf/application_signals: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: false - eks_fargate_container_insights_enabled: false - endpoint: https://fake_endpoint - enhanced_container_insights: false - imds_retries: 1 - local_mode: false - log_group_name: /aws/application-signals/data - log_retention: 0 - log_stream_name: "" - max_retries: 2 - metric_declarations: - - dimensions: - - - Environment - - Operation - - Service - - - Environment - - Service - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ServerSpan|LocalRootSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteService - - Service - - - Environment - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - - RemoteService - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - [ Environment, Service ] - label_matchers: - - label_names: - - Telemetry.Source - regex: '^RuntimeMetric$' - separator: ; - metric_name_selectors: - - '^.*$' - middleware: agenthealth/logs - namespace: ApplicationSignals - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: false - retain_initial_value_of_delta_metric: false - role_arn: "" - version: "1" - awsemf/containerinsights: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: true - eks_fargate_container_insights_enabled: false - endpoint: https://fake_endpoint - enhanced_container_insights: false - imds_retries: 1 - local_mode: false - log_group_name: /aws/containerinsights/{ClusterName}/performance - log_retention: 0 - log_stream_name: '{NodeName}' - max_retries: 2 - metric_declarations: - - dimensions: - - - ClusterName - - Namespace - - PodName - - - ClusterName - - - ClusterName - - Namespace - - Service - - - ClusterName - - Namespace - metric_name_selectors: - - pod_cpu_utilization - - pod_memory_utilization - - pod_network_rx_bytes - - pod_network_tx_bytes - - pod_cpu_utilization_over_pod_limit - - pod_memory_utilization_over_pod_limit - - dimensions: - - - ClusterName - - Namespace - - PodName - metric_name_selectors: - - pod_number_of_container_restarts - - dimensions: - - - ClusterName - - Namespace - - PodName - - - ClusterName - metric_name_selectors: - - pod_cpu_reserved_capacity - - pod_memory_reserved_capacity - - dimensions: - - - ClusterName - - InstanceId - - NodeName - - - ClusterName - metric_name_selectors: - - node_cpu_utilization - - node_memory_utilization - - node_network_total_bytes - - node_cpu_reserved_capacity - - node_memory_reserved_capacity - - node_number_of_running_pods - - node_number_of_running_containers - - dimensions: - - - ClusterName - metric_name_selectors: - - node_cpu_usage_total - - node_cpu_limit - - node_memory_working_set - - node_memory_limit - - dimensions: - - - ClusterName - - InstanceId - - NodeName - - - ClusterName - metric_name_selectors: - - node_filesystem_utilization - - dimensions: - - - ClusterName - - Namespace - - Service - - - ClusterName - metric_name_selectors: - - service_number_of_running_pods - - dimensions: - - - ClusterName - - Namespace - - - ClusterName - metric_name_selectors: - - namespace_number_of_running_pods - - dimensions: - - - ClusterName - metric_name_selectors: - - cluster_node_count - - cluster_failed_node_count - middleware: agenthealth/logs - namespace: ContainerInsights - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - parse_json_encoded_attr_values: - - Sources - - kubernetes - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: true - retain_initial_value_of_delta_metric: false - role_arn: "" - version: "0" - awsxray/application_signals: - certificate_file_path: "" - endpoint: "" - imds_retries: 1 - index_all_attributes: false - indexed_attributes: - - aws.local.service - - aws.local.operation - - aws.local.environment - - aws.remote.service - - aws.remote.operation - - aws.remote.environment - - aws.remote.resource.identifier - - aws.remote.resource.type - local_mode: false - max_retries: 2 - middleware: agenthealth/traces - no_verify_ssl: false - num_workers: 8 - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - role_arn: "" - telemetry: - enabled: true - include_metadata: true + awsemf/application_signals: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: false + eks_fargate_container_insights_enabled: false + endpoint: https://fake_endpoint + enhanced_container_insights: false + imds_retries: 1 + local_mode: false + log_group_name: /aws/application-signals/data + log_retention: 0 + log_stream_name: "" + max_retries: 2 + metric_declarations: + - dimensions: + - - Environment + - Operation + - Service + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ServerSpan|LocalRootSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteService + - Service + - - Environment + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - - RemoteService + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^RuntimeMetric$ + separator: ; + metric_name_selectors: + - ^.*$ + middleware: agenthealth/logs + namespace: ApplicationSignals + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: false + retain_initial_value_of_delta_metric: false + role_arn: "" + version: "1" + awsemf/containerinsights: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: true + eks_fargate_container_insights_enabled: false + endpoint: https://fake_endpoint + enhanced_container_insights: false + imds_retries: 1 + local_mode: false + log_group_name: /aws/containerinsights/{ClusterName}/performance + log_retention: 0 + log_stream_name: '{NodeName}' + max_retries: 2 + metric_declarations: + - dimensions: + - - ClusterName + - Namespace + - PodName + - - ClusterName + - - ClusterName + - Namespace + - Service + - - ClusterName + - Namespace + metric_name_selectors: + - pod_cpu_utilization + - pod_memory_utilization + - pod_network_rx_bytes + - pod_network_tx_bytes + - pod_cpu_utilization_over_pod_limit + - pod_memory_utilization_over_pod_limit + - dimensions: + - - ClusterName + - Namespace + - PodName + metric_name_selectors: + - pod_number_of_container_restarts + - dimensions: + - - ClusterName + - Namespace + - PodName + - - ClusterName + metric_name_selectors: + - pod_cpu_reserved_capacity + - pod_memory_reserved_capacity + - dimensions: + - - ClusterName + - InstanceId + - NodeName + - - ClusterName + metric_name_selectors: + - node_cpu_utilization + - node_memory_utilization + - node_network_total_bytes + - node_cpu_reserved_capacity + - node_memory_reserved_capacity + - node_number_of_running_pods + - node_number_of_running_containers + - dimensions: + - - ClusterName + metric_name_selectors: + - node_cpu_usage_total + - node_cpu_limit + - node_memory_working_set + - node_memory_limit + - dimensions: + - - ClusterName + - InstanceId + - NodeName + - - ClusterName + metric_name_selectors: + - node_filesystem_utilization + - dimensions: + - - ClusterName + - Namespace + - Service + - - ClusterName + metric_name_selectors: + - service_number_of_running_pods + - dimensions: + - - ClusterName + - Namespace + - - ClusterName + metric_name_selectors: + - namespace_number_of_running_pods + - dimensions: + - - ClusterName + metric_name_selectors: + - cluster_node_count + - cluster_failed_node_count + middleware: agenthealth/logs + namespace: ContainerInsights + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + parse_json_encoded_attr_values: + - Sources + - kubernetes + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: true + retain_initial_value_of_delta_metric: false + role_arn: "" + version: "0" + awsxray/application_signals: + certificate_file_path: "" + endpoint: "" + imds_retries: 1 + index_all_attributes: false + indexed_attributes: + - aws.local.service + - aws.local.operation + - aws.local.environment + - aws.remote.service + - aws.remote.operation + - aws.remote.environment + - aws.remote.resource.identifier + - aws.remote.resource.type + local_mode: false + max_retries: 2 + middleware: agenthealth/traces + no_verify_ssl: false + num_workers: 8 + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + role_arn: "" + telemetry: + enabled: true + include_metadata: true extensions: - agenthealth/logs: - is_usage_data_enabled: true - stats: - operations: - - PutLogEvents - usage_flags: - mode: EKS - region_type: ACJ - agenthealth/traces: - is_usage_data_enabled: true - stats: - operations: - - PutTraceSegments - usage_flags: - mode: EKS - region_type: ACJ - awsproxy/application_signals: - aws_endpoint: "" - certificate_file_path: "" - dialer: - timeout: "0s" - endpoint: 0.0.0.0:2000 - imds_retries: 1 - local_mode: false - profile: "" - proxy_address: "" - region: us-east-1 - service_name: "" - role_arn: "" - entitystore: - mode: ec2 - region: us-east-1 - kubernetes_mode: EKS - server: - listen_addr: :4311 - tls_ca_path: "/etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt" - tls_cert_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.crt" - tls_key_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.key" -processors: - awsapplicationsignals: - limiter: - disabled: false - drop_threshold: 500 - garbage_collection_interval: 10m0s - log_dropped_metrics: true - rotation_interval: 10m0s - resolvers: - - name: TestCluster - platform: eks - awsentity/service/application_signals: - cluster_name: TestCluster - entity_type: Service - kubernetes_mode: EKS - platform: ec2 - batch/containerinsights: - metadata_cardinality_limit: 1000 - send_batch_max_size: 0 - send_batch_size: 8192 - timeout: 5s - resourcedetection: - aks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - azure: - resource_attributes: - azure.resourcegroup.name: - enabled: true - azure.vm.name: - enabled: true - azure.vm.scaleset.name: - enabled: true - azure.vm.size: - enabled: true - cloud.account.id: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - tags: [] - compression: "" - consul: - address: "" - datacenter: "" - namespace: "" - resource_attributes: - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - token_file: "" - detectors: - - eks - - env - - ec2 - disable_keep_alives: false - docker: - resource_attributes: - host.name: - enabled: true - os.type: - enabled: true - ec2: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.image.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - tags: - - ^kubernetes.io/cluster/.*$ - - ^aws:autoscaling:groupName - ecs: - resource_attributes: - aws.ecs.cluster.arn: - enabled: true - aws.ecs.launchtype: - enabled: true - aws.ecs.task.arn: - enabled: true - aws.ecs.task.family: - enabled: true - aws.ecs.task.id: - enabled: true - aws.ecs.task.revision: - enabled: true - aws.log.group.arns: - enabled: true - aws.log.group.names: - enabled: true - aws.log.stream.arns: - enabled: true - aws.log.stream.names: - enabled: true - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - eks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - elasticbeanstalk: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - deployment.environment: - enabled: true - service.instance.id: - enabled: true - service.version: - enabled: true - endpoint: "" - gcp: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.id: - enabled: true - faas.instance: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - gcp.cloud_run.job.execution: - enabled: true - gcp.cloud_run.job.task_index: - enabled: true - gcp.gce.instance.hostname: - enabled: false - gcp.gce.instance.name: - enabled: false - host.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - k8s.cluster.name: - enabled: true - heroku: - resource_attributes: - cloud.provider: - enabled: true - heroku.app.id: - enabled: true - heroku.dyno.id: - enabled: true - heroku.release.commit: - enabled: true - heroku.release.creation_timestamp: - enabled: true - service.instance.id: - enabled: true - service.name: - enabled: true - service.version: - enabled: true - http2_ping_timeout: "0s" - http2_read_idle_timeout: "0s" - idle_conn_timeout: 1m30s - k8snode: - auth_type: serviceAccount - context: "" - kube_config_path: "" - node_from_env_var: "" - resource_attributes: - k8s.node.name: - enabled: true - k8s.node.uid: - enabled: true - lambda: - resource_attributes: - aws.log.group.names: - enabled: true - aws.log.stream.names: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.instance: - enabled: true - faas.max_memory: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - max_idle_conns: 100 - openshift: - address: "" - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - k8s.cluster.name: - enabled: true - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - token: "" - override: true - proxy_url: "" - read_buffer_size: 0 - system: - resource_attributes: - host.arch: - enabled: false - host.cpu.cache.l2.size: - enabled: false - host.cpu.family: - enabled: false - host.cpu.model.id: - enabled: false - host.cpu.model.name: - enabled: false - host.cpu.stepping: - enabled: false - host.cpu.vendor.id: - enabled: false - host.id: - enabled: false - host.ip: - enabled: false - host.mac: - enabled: false - host.name: - enabled: true - os.description: - enabled: false - os.type: - enabled: true - timeout: 2s - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: { "name": '.*Old\\sGen$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Survivor\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Eden\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: { "type": "vms" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: { "type": "rss" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" -receivers: - awscontainerinsightreceiver: - accelerated_compute_metrics: false - add_container_name_metric_label: false - add_full_pod_name_metric_label: false - add_service_as_attribute: true - certificate_file_path: "" - cluster_name: TestCluster - collection_interval: 30s - container_orchestrator: eks - enable_control_plane_metrics: false - endpoint: "" - host_ip: "" - host_name: "" - imds_retries: 1 - kube_config_path: "" - leader_lock_name: cwagent-clusterleader - leader_lock_using_config_map_only: true - local_mode: false - max_retries: 0 - no_verify_ssl: false - num_workers: 0 - prefer_full_pod_name: false - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 0 - resource_arn: "" - role_arn: "" - otlp/application_signals: - protocols: - grpc: - endpoint: 0.0.0.0:4315 + agenthealth/logs: + is_usage_data_enabled: true + stats: + operations: + - PutLogEvents + usage_flags: + mode: EKS + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EKS + region_type: ACJ + agenthealth/traces: + is_usage_data_enabled: true + stats: + operations: + - PutTraceSegments + usage_flags: + mode: EKS + region_type: ACJ + awsproxy/application_signals: + aws_endpoint: "" + certificate_file_path: "" dialer: - timeout: "0s" - include_metadata: false - max_concurrent_streams: 0 - max_recv_msg_size_mib: 0 - read_buffer_size: 524288 + timeout: 0s + endpoint: 0.0.0.0:2000 + imds_retries: 1 + local_mode: false + profile: "" + proxy_address: "" + region: us-east-1 + role_arn: "" + service_name: "" + entitystore: + kubernetes_mode: EKS + mode: ec2 + region: us-east-1 + server: + listen_addr: :4311 + tls_ca_path: /etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt + tls_cert_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.crt + tls_key_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.key +processors: + awsapplicationsignals: + limiter: + disabled: false + drop_threshold: 500 + garbage_collection_interval: 10m0s + log_dropped_metrics: true + rotation_interval: 10m0s + resolvers: + - name: TestCluster + platform: eks + awsentity/service/application_signals: + cluster_name: TestCluster + entity_type: Service + kubernetes_mode: EKS + platform: ec2 + batch/containerinsights: + metadata_cardinality_limit: 1000 + send_batch_max_size: 0 + send_batch_size: 8192 + timeout: 5s + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + resourcedetection: + aks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + azure: + resource_attributes: + azure.resourcegroup.name: + enabled: true + azure.vm.name: + enabled: true + azure.vm.scaleset.name: + enabled: true + azure.vm.size: + enabled: true + cloud.account.id: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + tags: [] + compression: "" + consul: + address: "" + datacenter: "" + namespace: "" + resource_attributes: + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + token_file: "" + detectors: + - eks + - env + - ec2 + disable_keep_alives: false + docker: + resource_attributes: + host.name: + enabled: true + os.type: + enabled: true + ec2: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.image.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + tags: + - ^kubernetes.io/cluster/.*$ + - ^aws:autoscaling:groupName + ecs: + resource_attributes: + aws.ecs.cluster.arn: + enabled: true + aws.ecs.launchtype: + enabled: true + aws.ecs.task.arn: + enabled: true + aws.ecs.task.family: + enabled: true + aws.ecs.task.id: + enabled: true + aws.ecs.task.revision: + enabled: true + aws.log.group.arns: + enabled: true + aws.log.group.names: + enabled: true + aws.log.stream.arns: + enabled: true + aws.log.stream.names: + enabled: true + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + eks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + elasticbeanstalk: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + deployment.environment: + enabled: true + service.instance.id: + enabled: true + service.version: + enabled: true + endpoint: "" + gcp: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.id: + enabled: true + faas.instance: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + gcp.cloud_run.job.execution: + enabled: true + gcp.cloud_run.job.task_index: + enabled: true + gcp.gce.instance.hostname: + enabled: false + gcp.gce.instance.name: + enabled: false + host.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + k8s.cluster.name: + enabled: true + heroku: + resource_attributes: + cloud.provider: + enabled: true + heroku.app.id: + enabled: true + heroku.dyno.id: + enabled: true + heroku.release.commit: + enabled: true + heroku.release.creation_timestamp: + enabled: true + service.instance.id: + enabled: true + service.name: + enabled: true + service.version: + enabled: true + http2_ping_timeout: 0s + http2_read_idle_timeout: 0s + idle_conn_timeout: 1m30s + k8snode: + auth_type: serviceAccount + context: "" + kube_config_path: "" + node_from_env_var: "" + resource_attributes: + k8s.node.name: + enabled: true + k8s.node.uid: + enabled: true + lambda: + resource_attributes: + aws.log.group.names: + enabled: true + aws.log.stream.names: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.instance: + enabled: true + faas.max_memory: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + max_idle_conns: 100 + openshift: + address: "" + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + k8s.cluster.name: + enabled: true + tls: + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" + token: "" + override: true + proxy_url: "" + read_buffer_size: 0 + system: + resource_attributes: + host.arch: + enabled: false + host.cpu.cache.l2.size: + enabled: false + host.cpu.family: + enabled: false + host.cpu.model.id: + enabled: false + host.cpu.model.name: + enabled: false + host.cpu.stepping: + enabled: false + host.cpu.vendor.id: + enabled: false + host.id: + enabled: false + host.ip: + enabled: false + host.mac: + enabled: false + host.name: + enabled: true + os.description: + enabled: false + os.type: + enabled: true + timeout: 2s tls: - ca_file: "" - cert_file: path/to/cert.crt - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: path/to/key.key - max_version: "" - min_version: "" - reload_interval: 0s - transport: tcp + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" write_buffer_size: 0 - http: - endpoint: 0.0.0.0:4316 - include_metadata: false - logs_url_path: /v1/logs - max_request_body_size: 0 - metrics_url_path: /v1/metrics - tls: - ca_file: "" - cert_file: path/to/cert.crt - client_ca_file: "" - client_ca_file_reload: false - key_file: path/to/key.key - max_version: "" - min_version: "" - reload_interval: 0s - include_system_ca_certs_pool: false - traces_url_path: /v1/traces +receivers: + awscontainerinsightreceiver: + accelerated_compute_metrics: false + add_container_name_metric_label: false + add_full_pod_name_metric_label: false + add_service_as_attribute: true + certificate_file_path: "" + cluster_name: TestCluster + collection_interval: 30s + container_orchestrator: eks + enable_control_plane_metrics: false + endpoint: "" + host_ip: "" + host_name: "" + imds_retries: 1 + kube_config_path: "" + leader_lock_name: cwagent-clusterleader + leader_lock_using_config_map_only: true + local_mode: false + max_retries: 0 + no_verify_ssl: false + num_workers: 0 + prefer_full_pod_name: false + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 0 + resource_arn: "" + role_arn: "" + otlp/application_signals: + protocols: + grpc: + dialer: + timeout: 0s + endpoint: 0.0.0.0:4315 + include_metadata: false + max_concurrent_streams: 0 + max_recv_msg_size_mib: 0 + read_buffer_size: 524288 + tls: + ca_file: "" + cert_file: path/to/cert.crt + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: path/to/key.key + max_version: "" + min_version: "" + reload_interval: 0s + transport: tcp + write_buffer_size: 0 + http: + endpoint: 0.0.0.0:4316 + include_metadata: false + logs_url_path: /v1/logs + max_request_body_size: 0 + metrics_url_path: /v1/metrics + tls: + ca_file: "" + cert_file: path/to/cert.crt + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: path/to/key.key + max_version: "" + min_version: "" + reload_interval: 0s + traces_url_path: /v1/traces service: - extensions: - - awsproxy/application_signals - - agenthealth/traces - - agenthealth/logs - - entitystore - - server - pipelines: - metrics/application_signals: - exporters: - - awsemf/application_signals - processors: - - metricstransform/application_signals - - awsentity/service/application_signals - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - metrics/containerinsights: - exporters: - - awsemf/containerinsights - processors: - - batch/containerinsights - receivers: - - awscontainerinsightreceiver - traces/application_signals: - exporters: - - awsxray/application_signals - processors: - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - agenthealth/logs + - agenthealth/statuscode + - awsproxy/application_signals + - agenthealth/traces + - entitystore + - server + pipelines: + metrics/application_signals: + exporters: + - awsemf/application_signals + processors: + - metricstransform/application_signals + - resourcedetection + - awsapplicationsignals + - awsentity/service/application_signals + receivers: + - otlp/application_signals + metrics/containerinsights: + exporters: + - awsemf/containerinsights + processors: + - batch/containerinsights + receivers: + - awscontainerinsightreceiver + traces/application_signals: + exporters: + - awsxray/application_signals + processors: + - resourcedetection + - awsapplicationsignals + receivers: + - otlp/application_signals + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/appsignals_over_fallback_config.yaml b/translator/tocwconfig/sampleConfig/appsignals_over_fallback_config.yaml index 454a1bfa23..3ad6ee7be8 100644 --- a/translator/tocwconfig/sampleConfig/appsignals_over_fallback_config.yaml +++ b/translator/tocwconfig/sampleConfig/appsignals_over_fallback_config.yaml @@ -1,1294 +1,1315 @@ exporters: - awsemf/application_signals: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: false - eks_fargate_container_insights_enabled: false - endpoint: https://fake_endpoint - enhanced_container_insights: false - imds_retries: 1 - local_mode: false - log_group_name: /aws/application-signals/data - log_retention: 0 - log_stream_name: "" - max_retries: 2 - metric_declarations: - - dimensions: - - - Environment - - Operation - - Service - - - Environment - - Service - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ServerSpan|LocalRootSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteService - - Service - - - Environment - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - - RemoteService - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - [ Environment, Service ] - label_matchers: - - label_names: - - Telemetry.Source - regex: '^RuntimeMetric$' - separator: ; - metric_name_selectors: - - '^.*$' - middleware: agenthealth/logs - namespace: ApplicationSignals - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: false - retain_initial_value_of_delta_metric: false - role_arn: "" - version: "1" - awsemf/containerinsights: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: true - eks_fargate_container_insights_enabled: false - endpoint: https://fake_endpoint - enhanced_container_insights: false - imds_retries: 1 - local_mode: false - log_group_name: /aws/containerinsights/{ClusterName}/performance - log_retention: 0 - log_stream_name: '{NodeName}' - max_retries: 2 - metric_declarations: - - dimensions: - - - ClusterName - - Namespace - - PodName - - - ClusterName - - - ClusterName - - Namespace - - Service - - - ClusterName - - Namespace - metric_name_selectors: - - pod_cpu_utilization - - pod_memory_utilization - - pod_network_rx_bytes - - pod_network_tx_bytes - - pod_cpu_utilization_over_pod_limit - - pod_memory_utilization_over_pod_limit - - dimensions: - - - ClusterName - - Namespace - - PodName - metric_name_selectors: - - pod_number_of_container_restarts - - dimensions: - - - ClusterName - - Namespace - - PodName - - - ClusterName - metric_name_selectors: - - pod_cpu_reserved_capacity - - pod_memory_reserved_capacity - - dimensions: - - - ClusterName - - InstanceId - - NodeName - - - ClusterName - metric_name_selectors: - - node_cpu_utilization - - node_memory_utilization - - node_network_total_bytes - - node_cpu_reserved_capacity - - node_memory_reserved_capacity - - node_number_of_running_pods - - node_number_of_running_containers - - dimensions: - - - ClusterName - metric_name_selectors: - - node_cpu_usage_total - - node_cpu_limit - - node_memory_working_set - - node_memory_limit - - dimensions: - - - ClusterName - - InstanceId - - NodeName - - - ClusterName - metric_name_selectors: - - node_filesystem_utilization - - dimensions: - - - ClusterName - - Namespace - - Service - - - ClusterName - metric_name_selectors: - - service_number_of_running_pods - - dimensions: - - - ClusterName - - Namespace - - - ClusterName - metric_name_selectors: - - namespace_number_of_running_pods - - dimensions: - - - ClusterName - metric_name_selectors: - - cluster_node_count - - cluster_failed_node_count - middleware: agenthealth/logs - namespace: ContainerInsights - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - parse_json_encoded_attr_values: - - Sources - - kubernetes - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: true - retain_initial_value_of_delta_metric: false - role_arn: "" - version: "0" - awsxray/application_signals: - certificate_file_path: "" - endpoint: "" - imds_retries: 1 - index_all_attributes: false - indexed_attributes: - - aws.local.service - - aws.local.operation - - aws.local.environment - - aws.remote.service - - aws.remote.operation - - aws.remote.environment - - aws.remote.resource.identifier - - aws.remote.resource.type - local_mode: false - max_retries: 2 - middleware: agenthealth/traces - no_verify_ssl: false - num_workers: 8 - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - role_arn: "" - telemetry: - enabled: true - include_metadata: true + awsemf/application_signals: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: false + eks_fargate_container_insights_enabled: false + endpoint: https://fake_endpoint + enhanced_container_insights: false + imds_retries: 1 + local_mode: false + log_group_name: /aws/application-signals/data + log_retention: 0 + log_stream_name: "" + max_retries: 2 + metric_declarations: + - dimensions: + - - Environment + - Operation + - Service + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ServerSpan|LocalRootSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteService + - Service + - - Environment + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - - RemoteService + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^RuntimeMetric$ + separator: ; + metric_name_selectors: + - ^.*$ + middleware: agenthealth/logs + namespace: ApplicationSignals + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: false + retain_initial_value_of_delta_metric: false + role_arn: "" + version: "1" + awsemf/containerinsights: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: true + eks_fargate_container_insights_enabled: false + endpoint: https://fake_endpoint + enhanced_container_insights: false + imds_retries: 1 + local_mode: false + log_group_name: /aws/containerinsights/{ClusterName}/performance + log_retention: 0 + log_stream_name: '{NodeName}' + max_retries: 2 + metric_declarations: + - dimensions: + - - ClusterName + - Namespace + - PodName + - - ClusterName + - - ClusterName + - Namespace + - Service + - - ClusterName + - Namespace + metric_name_selectors: + - pod_cpu_utilization + - pod_memory_utilization + - pod_network_rx_bytes + - pod_network_tx_bytes + - pod_cpu_utilization_over_pod_limit + - pod_memory_utilization_over_pod_limit + - dimensions: + - - ClusterName + - Namespace + - PodName + metric_name_selectors: + - pod_number_of_container_restarts + - dimensions: + - - ClusterName + - Namespace + - PodName + - - ClusterName + metric_name_selectors: + - pod_cpu_reserved_capacity + - pod_memory_reserved_capacity + - dimensions: + - - ClusterName + - InstanceId + - NodeName + - - ClusterName + metric_name_selectors: + - node_cpu_utilization + - node_memory_utilization + - node_network_total_bytes + - node_cpu_reserved_capacity + - node_memory_reserved_capacity + - node_number_of_running_pods + - node_number_of_running_containers + - dimensions: + - - ClusterName + metric_name_selectors: + - node_cpu_usage_total + - node_cpu_limit + - node_memory_working_set + - node_memory_limit + - dimensions: + - - ClusterName + - InstanceId + - NodeName + - - ClusterName + metric_name_selectors: + - node_filesystem_utilization + - dimensions: + - - ClusterName + - Namespace + - Service + - - ClusterName + metric_name_selectors: + - service_number_of_running_pods + - dimensions: + - - ClusterName + - Namespace + - - ClusterName + metric_name_selectors: + - namespace_number_of_running_pods + - dimensions: + - - ClusterName + metric_name_selectors: + - cluster_node_count + - cluster_failed_node_count + middleware: agenthealth/logs + namespace: ContainerInsights + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + parse_json_encoded_attr_values: + - Sources + - kubernetes + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: true + retain_initial_value_of_delta_metric: false + role_arn: "" + version: "0" + awsxray/application_signals: + certificate_file_path: "" + endpoint: "" + imds_retries: 1 + index_all_attributes: false + indexed_attributes: + - aws.local.service + - aws.local.operation + - aws.local.environment + - aws.remote.service + - aws.remote.operation + - aws.remote.environment + - aws.remote.resource.identifier + - aws.remote.resource.type + local_mode: false + max_retries: 2 + middleware: agenthealth/traces + no_verify_ssl: false + num_workers: 8 + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + role_arn: "" + telemetry: + enabled: true + include_metadata: true extensions: - agenthealth/logs: - is_usage_data_enabled: true - stats: - operations: - - PutLogEvents - usage_flags: - mode: EKS - region_type: ACJ - agenthealth/traces: - is_usage_data_enabled: true - stats: - operations: - - PutTraceSegments - usage_flags: - mode: EKS - region_type: ACJ - awsproxy/application_signals: - aws_endpoint: "" - dialer: - timeout: "0s" - certificate_file_path: "" - endpoint: 0.0.0.0:2000 - imds_retries: 1 - local_mode: false - profile: "" - proxy_address: "" - region: us-east-1 - service_name: "" - role_arn: "" - entitystore: - mode: ec2 - region: us-east-1 - kubernetes_mode: EKS - server: - listen_addr: :4311 - tls_ca_path: "/etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt" - tls_cert_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.crt" - tls_key_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.key" -processors: - awsapplicationsignals: - limiter: - disabled: false - drop_threshold: 500 - garbage_collection_interval: 10m0s - log_dropped_metrics: true - rotation_interval: 10m0s - resolvers: - - name: TestCluster - platform: eks - awsentity/service/application_signals: - cluster_name: TestCluster - entity_type: Service - kubernetes_mode: EKS - platform: ec2 - batch/containerinsights: - metadata_cardinality_limit: 1000 - send_batch_max_size: 0 - send_batch_size: 8192 - timeout: 5s - resourcedetection: - aks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - azure: - resource_attributes: - azure.resourcegroup.name: - enabled: true - azure.vm.name: - enabled: true - azure.vm.scaleset.name: - enabled: true - azure.vm.size: - enabled: true - cloud.account.id: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - tags: [] - compression: "" - consul: - address: "" - datacenter: "" - namespace: "" - resource_attributes: - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - token_file: "" - detectors: - - eks - - env - - ec2 - disable_keep_alives: false - docker: - resource_attributes: - host.name: - enabled: true - os.type: - enabled: true - ec2: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.image.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - tags: - - ^kubernetes.io/cluster/.*$ - - ^aws:autoscaling:groupName - ecs: - resource_attributes: - aws.ecs.cluster.arn: - enabled: true - aws.ecs.launchtype: - enabled: true - aws.ecs.task.arn: - enabled: true - aws.ecs.task.family: - enabled: true - aws.ecs.task.revision: - enabled: true - aws.ecs.task.id: - enabled: true - aws.log.group.arns: - enabled: true - aws.log.group.names: - enabled: true - aws.log.stream.arns: - enabled: true - aws.log.stream.names: - enabled: true - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - eks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - elasticbeanstalk: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - deployment.environment: - enabled: true - service.instance.id: - enabled: true - service.version: - enabled: true - endpoint: "" - gcp: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.id: - enabled: true - faas.instance: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - gcp.cloud_run.job.execution: - enabled: true - gcp.cloud_run.job.task_index: - enabled: true - gcp.gce.instance.hostname: - enabled: false - gcp.gce.instance.name: - enabled: false - host.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - k8s.cluster.name: - enabled: true - heroku: - resource_attributes: - cloud.provider: - enabled: true - heroku.app.id: - enabled: true - heroku.dyno.id: - enabled: true - heroku.release.commit: - enabled: true - heroku.release.creation_timestamp: - enabled: true - service.instance.id: - enabled: true - service.name: - enabled: true - service.version: - enabled: true - http2_ping_timeout: "0s" - http2_read_idle_timeout: "0s" - idle_conn_timeout: 1m30s - k8snode: - auth_type: serviceAccount - context: "" - kube_config_path: "" - node_from_env_var: "" - resource_attributes: - k8s.node.name: - enabled: true - k8s.node.uid: - enabled: true - lambda: - resource_attributes: - aws.log.group.names: - enabled: true - aws.log.stream.names: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.instance: - enabled: true - faas.max_memory: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - max_idle_conns: 100 - openshift: - address: "" - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - k8s.cluster.name: - enabled: true - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - token: "" - override: true - proxy_url: "" - read_buffer_size: 0 - system: - resource_attributes: - host.arch: - enabled: false - host.cpu.cache.l2.size: - enabled: false - host.cpu.family: - enabled: false - host.cpu.model.id: - enabled: false - host.cpu.model.name: - enabled: false - host.cpu.stepping: - enabled: false - host.cpu.vendor.id: - enabled: false - host.id: - enabled: false - host.ip: - enabled: false - host.mac: - enabled: false - host.name: - enabled: true - os.description: - enabled: false - os.type: - enabled: true - timeout: 2s - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: { "name": '.*Old\\sGen$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Survivor\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Eden\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: { "type": "vms" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: { "type": "rss" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" -receivers: - awscontainerinsightreceiver: - accelerated_compute_metrics: false - add_container_name_metric_label: false - add_full_pod_name_metric_label: false - add_service_as_attribute: true - certificate_file_path: "" - cluster_name: TestCluster - collection_interval: 30s - container_orchestrator: eks - enable_control_plane_metrics: false - endpoint: "" - host_ip: "" - host_name: "" - imds_retries: 1 - kube_config_path: "" - leader_lock_name: cwagent-clusterleader - leader_lock_using_config_map_only: true - local_mode: false - max_retries: 0 - no_verify_ssl: false - num_workers: 0 - prefer_full_pod_name: false - profile: "" - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 0 - resource_arn: "" - role_arn: "" - otlp/application_signals: - protocols: - grpc: - endpoint: 0.0.0.0:4315 + agenthealth/logs: + is_usage_data_enabled: true + stats: + operations: + - PutLogEvents + usage_flags: + mode: EKS + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EKS + region_type: ACJ + agenthealth/traces: + is_usage_data_enabled: true + stats: + operations: + - PutTraceSegments + usage_flags: + mode: EKS + region_type: ACJ + awsproxy/application_signals: + aws_endpoint: "" + certificate_file_path: "" dialer: - timeout: "0s" - include_metadata: false - max_concurrent_streams: 0 - max_recv_msg_size_mib: 0 - read_buffer_size: 524288 + timeout: 0s + endpoint: 0.0.0.0:2000 + imds_retries: 1 + local_mode: false + profile: "" + proxy_address: "" + region: us-east-1 + role_arn: "" + service_name: "" + entitystore: + kubernetes_mode: EKS + mode: ec2 + region: us-east-1 + server: + listen_addr: :4311 + tls_ca_path: /etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt + tls_cert_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.crt + tls_key_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.key +processors: + awsapplicationsignals: + limiter: + disabled: false + drop_threshold: 500 + garbage_collection_interval: 10m0s + log_dropped_metrics: true + rotation_interval: 10m0s + resolvers: + - name: TestCluster + platform: eks + awsentity/service/application_signals: + cluster_name: TestCluster + entity_type: Service + kubernetes_mode: EKS + platform: ec2 + batch/containerinsights: + metadata_cardinality_limit: 1000 + send_batch_max_size: 0 + send_batch_size: 8192 + timeout: 5s + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + resourcedetection: + aks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + azure: + resource_attributes: + azure.resourcegroup.name: + enabled: true + azure.vm.name: + enabled: true + azure.vm.scaleset.name: + enabled: true + azure.vm.size: + enabled: true + cloud.account.id: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + tags: [] + compression: "" + consul: + address: "" + datacenter: "" + namespace: "" + resource_attributes: + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + token_file: "" + detectors: + - eks + - env + - ec2 + disable_keep_alives: false + docker: + resource_attributes: + host.name: + enabled: true + os.type: + enabled: true + ec2: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.image.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + tags: + - ^kubernetes.io/cluster/.*$ + - ^aws:autoscaling:groupName + ecs: + resource_attributes: + aws.ecs.cluster.arn: + enabled: true + aws.ecs.launchtype: + enabled: true + aws.ecs.task.arn: + enabled: true + aws.ecs.task.family: + enabled: true + aws.ecs.task.id: + enabled: true + aws.ecs.task.revision: + enabled: true + aws.log.group.arns: + enabled: true + aws.log.group.names: + enabled: true + aws.log.stream.arns: + enabled: true + aws.log.stream.names: + enabled: true + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + eks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + elasticbeanstalk: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + deployment.environment: + enabled: true + service.instance.id: + enabled: true + service.version: + enabled: true + endpoint: "" + gcp: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.id: + enabled: true + faas.instance: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + gcp.cloud_run.job.execution: + enabled: true + gcp.cloud_run.job.task_index: + enabled: true + gcp.gce.instance.hostname: + enabled: false + gcp.gce.instance.name: + enabled: false + host.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + k8s.cluster.name: + enabled: true + heroku: + resource_attributes: + cloud.provider: + enabled: true + heroku.app.id: + enabled: true + heroku.dyno.id: + enabled: true + heroku.release.commit: + enabled: true + heroku.release.creation_timestamp: + enabled: true + service.instance.id: + enabled: true + service.name: + enabled: true + service.version: + enabled: true + http2_ping_timeout: 0s + http2_read_idle_timeout: 0s + idle_conn_timeout: 1m30s + k8snode: + auth_type: serviceAccount + context: "" + kube_config_path: "" + node_from_env_var: "" + resource_attributes: + k8s.node.name: + enabled: true + k8s.node.uid: + enabled: true + lambda: + resource_attributes: + aws.log.group.names: + enabled: true + aws.log.stream.names: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.instance: + enabled: true + faas.max_memory: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + max_idle_conns: 100 + openshift: + address: "" + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + k8s.cluster.name: + enabled: true + tls: + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" + token: "" + override: true + proxy_url: "" + read_buffer_size: 0 + system: + resource_attributes: + host.arch: + enabled: false + host.cpu.cache.l2.size: + enabled: false + host.cpu.family: + enabled: false + host.cpu.model.id: + enabled: false + host.cpu.model.name: + enabled: false + host.cpu.stepping: + enabled: false + host.cpu.vendor.id: + enabled: false + host.id: + enabled: false + host.ip: + enabled: false + host.mac: + enabled: false + host.name: + enabled: true + os.description: + enabled: false + os.type: + enabled: true + timeout: 2s tls: - ca_file: "" - cert_file: path/to/cert.crt - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: path/to/key.key - max_version: "" - min_version: "" - reload_interval: 0s - transport: tcp + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" write_buffer_size: 0 - http: - endpoint: 0.0.0.0:4316 - include_metadata: false - logs_url_path: /v1/logs - max_request_body_size: 0 - metrics_url_path: /v1/metrics - tls: - ca_file: "" - cert_file: path/to/cert.crt - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: path/to/key.key - max_version: "" - min_version: "" - reload_interval: 0s - traces_url_path: /v1/traces +receivers: + awscontainerinsightreceiver: + accelerated_compute_metrics: false + add_container_name_metric_label: false + add_full_pod_name_metric_label: false + add_service_as_attribute: true + certificate_file_path: "" + cluster_name: TestCluster + collection_interval: 30s + container_orchestrator: eks + enable_control_plane_metrics: false + endpoint: "" + host_ip: "" + host_name: "" + imds_retries: 1 + kube_config_path: "" + leader_lock_name: cwagent-clusterleader + leader_lock_using_config_map_only: true + local_mode: false + max_retries: 0 + no_verify_ssl: false + num_workers: 0 + prefer_full_pod_name: false + profile: "" + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 0 + resource_arn: "" + role_arn: "" + otlp/application_signals: + protocols: + grpc: + dialer: + timeout: 0s + endpoint: 0.0.0.0:4315 + include_metadata: false + max_concurrent_streams: 0 + max_recv_msg_size_mib: 0 + read_buffer_size: 524288 + tls: + ca_file: "" + cert_file: path/to/cert.crt + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: path/to/key.key + max_version: "" + min_version: "" + reload_interval: 0s + transport: tcp + write_buffer_size: 0 + http: + endpoint: 0.0.0.0:4316 + include_metadata: false + logs_url_path: /v1/logs + max_request_body_size: 0 + metrics_url_path: /v1/metrics + tls: + ca_file: "" + cert_file: path/to/cert.crt + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: path/to/key.key + max_version: "" + min_version: "" + reload_interval: 0s + traces_url_path: /v1/traces service: - extensions: - - awsproxy/application_signals - - agenthealth/traces - - agenthealth/logs - - entitystore - - server - pipelines: - metrics/application_signals: - exporters: - - awsemf/application_signals - processors: - - metricstransform/application_signals - - awsentity/service/application_signals - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - metrics/containerinsights: - exporters: - - awsemf/containerinsights - processors: - - batch/containerinsights - receivers: - - awscontainerinsightreceiver - traces/application_signals: - exporters: - - awsxray/application_signals - processors: - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - agenthealth/logs + - agenthealth/statuscode + - awsproxy/application_signals + - agenthealth/traces + - entitystore + - server + pipelines: + metrics/application_signals: + exporters: + - awsemf/application_signals + processors: + - metricstransform/application_signals + - resourcedetection + - awsapplicationsignals + - awsentity/service/application_signals + receivers: + - otlp/application_signals + metrics/containerinsights: + exporters: + - awsemf/containerinsights + processors: + - batch/containerinsights + receivers: + - awscontainerinsightreceiver + traces/application_signals: + exporters: + - awsxray/application_signals + processors: + - resourcedetection + - awsapplicationsignals + receivers: + - otlp/application_signals + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/base_appsignals_config.yaml b/translator/tocwconfig/sampleConfig/base_appsignals_config.yaml index 84aa3bac0f..2f8b79e011 100644 --- a/translator/tocwconfig/sampleConfig/base_appsignals_config.yaml +++ b/translator/tocwconfig/sampleConfig/base_appsignals_config.yaml @@ -104,14 +104,15 @@ exporters: - Fault - Error - dimensions: - - [ Environment, Service ] + - - Environment + - Service label_matchers: - - label_names: - - Telemetry.Source - regex: '^RuntimeMetric$' - separator: ; + - label_names: + - Telemetry.Source + regex: ^RuntimeMetric$ + separator: ; metric_name_selectors: - - '^.*$' + - ^.*$ middleware: agenthealth/logs namespace: ApplicationSignals no_verify_ssl: false @@ -172,6 +173,13 @@ extensions: usage_flags: mode: OP region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -205,6 +213,582 @@ processors: resolvers: - name: "" platform: generic + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" resourcedetection: aks: resource_attributes: @@ -492,570 +1076,6 @@ processors: reload_interval: 0s server_name_override: "" write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: { "name": '.*Old\\sGen$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Survivor\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Eden\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: { "type": "vms" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: { "type": "rss" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" receivers: otlp/application_signals: protocols: @@ -1080,6 +1100,7 @@ service: extensions: - awsproxy/application_signals - agenthealth/traces + - agenthealth/statuscode - agenthealth/logs - entitystore pipelines: diff --git a/translator/tocwconfig/sampleConfig/base_appsignals_fallback_config.yaml b/translator/tocwconfig/sampleConfig/base_appsignals_fallback_config.yaml index ddb31057dd..0820331549 100644 --- a/translator/tocwconfig/sampleConfig/base_appsignals_fallback_config.yaml +++ b/translator/tocwconfig/sampleConfig/base_appsignals_fallback_config.yaml @@ -1,1116 +1,1137 @@ exporters: - awsemf/application_signals: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: false - eks_fargate_container_insights_enabled: false - endpoint: https://fake_endpoint - enhanced_container_insights: false - imds_retries: 1 - local_mode: true - log_group_name: /aws/application-signals/data - log_retention: 0 - log_stream_name: "" - max_retries: 2 - metric_declarations: - - dimensions: - - - Environment - - Operation - - Service - - - Environment - - Service - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ServerSpan|LocalRootSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - Operation - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteService - - Service - - - Environment - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteEnvironment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - Environment - - RemoteOperation - - RemoteService - - Service - - - Environment - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - Service - - - RemoteResourceIdentifier - - RemoteResourceType - - RemoteService - - - RemoteService - label_matchers: - - label_names: - - Telemetry.Source - regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ - separator: ; - metric_name_selectors: - - Latency - - Fault - - Error - - dimensions: - - [ Environment, Service ] - label_matchers: - - label_names: - - Telemetry.Source - regex: '^RuntimeMetric$' - separator: ; - metric_name_selectors: - - '^.*$' - middleware: agenthealth/logs - namespace: ApplicationSignals - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - profile: AmazonCloudWatchAgent - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: false - retain_initial_value_of_delta_metric: false - role_arn: "" - shared_credentials_file: - - fake-path - version: "1" - awsxray/application_signals: - certificate_file_path: "" - endpoint: https://fake_endpoint - imds_retries: 1 - index_all_attributes: false - indexed_attributes: - - aws.local.service - - aws.local.operation - - aws.local.environment - - aws.remote.service - - aws.remote.operation - - aws.remote.environment - - aws.remote.resource.identifier - - aws.remote.resource.type - local_mode: true - max_retries: 2 - middleware: agenthealth/traces - no_verify_ssl: false - num_workers: 8 - profile: AmazonCloudWatchAgent - proxy_address: "" - region: us-east-1 - request_timeout_seconds: 30 - resource_arn: "" - role_arn: "" - shared_credentials_file: - - fake-path - telemetry: - enabled: true - include_metadata: true + awsemf/application_signals: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: false + eks_fargate_container_insights_enabled: false + endpoint: https://fake_endpoint + enhanced_container_insights: false + imds_retries: 1 + local_mode: true + log_group_name: /aws/application-signals/data + log_retention: 0 + log_stream_name: "" + max_retries: 2 + metric_declarations: + - dimensions: + - - Environment + - Operation + - Service + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ServerSpan|LocalRootSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - Operation + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteService + - Service + - - Environment + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteEnvironment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - Environment + - RemoteOperation + - RemoteService + - Service + - - Environment + - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - Service + - - RemoteResourceIdentifier + - RemoteResourceType + - RemoteService + - - RemoteService + label_matchers: + - label_names: + - Telemetry.Source + regex: ^(ClientSpan|ProducerSpan|ConsumerSpan)$ + separator: ; + metric_name_selectors: + - Latency + - Fault + - Error + - dimensions: + - - Environment + - Service + label_matchers: + - label_names: + - Telemetry.Source + regex: ^RuntimeMetric$ + separator: ; + metric_name_selectors: + - ^.*$ + middleware: agenthealth/logs + namespace: ApplicationSignals + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + profile: AmazonCloudWatchAgent + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: false + retain_initial_value_of_delta_metric: false + role_arn: "" + shared_credentials_file: + - fake-path + version: "1" + awsxray/application_signals: + certificate_file_path: "" + endpoint: https://fake_endpoint + imds_retries: 1 + index_all_attributes: false + indexed_attributes: + - aws.local.service + - aws.local.operation + - aws.local.environment + - aws.remote.service + - aws.remote.operation + - aws.remote.environment + - aws.remote.resource.identifier + - aws.remote.resource.type + local_mode: true + max_retries: 2 + middleware: agenthealth/traces + no_verify_ssl: false + num_workers: 8 + profile: AmazonCloudWatchAgent + proxy_address: "" + region: us-east-1 + request_timeout_seconds: 30 + resource_arn: "" + role_arn: "" + shared_credentials_file: + - fake-path + telemetry: + enabled: true + include_metadata: true extensions: - agenthealth/logs: - is_usage_data_enabled: true - stats: - operations: - - PutLogEvents - usage_flags: - mode: OP - region_type: ACJ - agenthealth/traces: - is_usage_data_enabled: true - stats: - operations: - - PutTraceSegments - usage_flags: - mode: OP - region_type: ACJ - awsproxy/application_signals: - aws_endpoint: https://fake_endpoint - dialer: - timeout: "0s" - certificate_file_path: "" - endpoint: 0.0.0.0:2000 - imds_retries: 1 - local_mode: true - profile: AmazonCloudWatchAgent - proxy_address: "" - region: us-east-1 - role_arn: "" - service_name: "" - shared_credentials_file: - - fake-path - entitystore: - mode: onPremise - profile: AmazonCloudWatchAgent - region: us-east-1 - shared_credential_file: fake-path -processors: - awsapplicationsignals: - resolvers: - - name: "" - platform: generic - resourcedetection: - aks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - azure: - resource_attributes: - azure.resourcegroup.name: - enabled: true - azure.vm.name: - enabled: true - azure.vm.scaleset.name: - enabled: true - azure.vm.size: - enabled: true - cloud.account.id: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - tags: [] - compression: "" - consul: - address: "" - datacenter: "" - namespace: "" - resource_attributes: - cloud.region: - enabled: true - host.id: - enabled: true - host.name: - enabled: true - token_file: "" - detectors: - - eks - - env - - ec2 - disable_keep_alives: false - docker: - resource_attributes: - host.name: - enabled: true - os.type: - enabled: true - ec2: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - host.id: - enabled: true - host.image.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - tags: - - ^kubernetes.io/cluster/.*$ - - ^aws:autoscaling:groupName - ecs: - resource_attributes: - aws.ecs.cluster.arn: - enabled: true - aws.ecs.launchtype: - enabled: true - aws.ecs.task.arn: - enabled: true - aws.ecs.task.family: - enabled: true - aws.ecs.task.id: - enabled: true - aws.ecs.task.revision: - enabled: true - aws.log.group.arns: - enabled: true - aws.log.group.names: - enabled: true - aws.log.stream.arns: - enabled: true - aws.log.stream.names: - enabled: true - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - eks: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - k8s.cluster.name: - enabled: false - elasticbeanstalk: - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - deployment.environment: - enabled: true - service.instance.id: - enabled: true - service.version: - enabled: true - endpoint: "" - gcp: - resource_attributes: - cloud.account.id: - enabled: true - cloud.availability_zone: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.id: - enabled: true - faas.instance: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - gcp.cloud_run.job.execution: - enabled: true - gcp.cloud_run.job.task_index: - enabled: true - gcp.gce.instance.hostname: - enabled: false - gcp.gce.instance.name: - enabled: false - host.id: - enabled: true - host.name: - enabled: true - host.type: - enabled: true - k8s.cluster.name: - enabled: true - heroku: - resource_attributes: - cloud.provider: - enabled: true - heroku.app.id: - enabled: true - heroku.dyno.id: - enabled: true - heroku.release.commit: - enabled: true - heroku.release.creation_timestamp: - enabled: true - service.instance.id: - enabled: true - service.name: - enabled: true - service.version: - enabled: true - http2_ping_timeout: "0s" - http2_read_idle_timeout: "0s" - idle_conn_timeout: 1m30s - k8snode: - auth_type: serviceAccount - context: "" - kube_config_path: "" - node_from_env_var: "" - resource_attributes: - k8s.node.name: - enabled: true - k8s.node.uid: - enabled: true - lambda: - resource_attributes: - aws.log.group.names: - enabled: true - aws.log.stream.names: - enabled: true - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - faas.instance: - enabled: true - faas.max_memory: - enabled: true - faas.name: - enabled: true - faas.version: - enabled: true - max_idle_conns: 100 - openshift: - address: "" - resource_attributes: - cloud.platform: - enabled: true - cloud.provider: - enabled: true - cloud.region: - enabled: true - k8s.cluster.name: - enabled: true - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - token: "" - override: true - proxy_url: "" - read_buffer_size: 0 - system: - resource_attributes: - host.arch: - enabled: false - host.cpu.cache.l2.size: - enabled: false - host.cpu.family: - enabled: false - host.cpu.model.id: - enabled: false - host.cpu.model.name: - enabled: false - host.cpu.stepping: - enabled: false - host.cpu.vendor.id: - enabled: false - host.id: - enabled: false - host.ip: - enabled: false - host.mac: - enabled: false - host.name: - enabled: true - os.description: - enabled: false - os.type: - enabled: true - timeout: 2s - tls: - ca_file: "" - cert_file: "" - include_system_ca_certs_pool: false - insecure: false - insecure_skip_verify: false - key_file: "" - max_version: "" - min_version: "" - reload_interval: "0s" - server_name_override: "" - write_buffer_size: 0 - metricstransform/application_signals: - transforms: - - include: jvm.cpu.recent_utilization - action: update - new_name: JVMCpuRecentUtilization - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.cpu.time - action: update - new_name: JVMCpuTime - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.classes.loaded - action: update - new_name: JVMClassLoaded - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.threads.count - action: update - new_name: JVMThreadCount - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.nonheap.used - action: update - new_name: JVMMemoryNonHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used_after_last_gc - action: update - new_name: JVMMemoryUsedAfterLastGC - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.heap.used - action: update - new_name: JVMMemoryHeapUsed - aggregation_type: "" - submatch_case: "" - match_type: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryOldGenUsed - match_type: regexp - experimental_match_labels: { "name": '.*Old\\sGen$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemorySurvivorSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Survivor\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.memory.pool.used - action: insert - new_name: JVMMemoryEdenSpaceUsed - match_type: regexp - experimental_match_labels: { "name": '.*Eden\\sSpace$' } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCDuration - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCCount - match_type: "" - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCOldGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.elapsed - action: insert - new_name: JVMGCYoungGenDuration - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCOldGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Old Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: jvm.gc.collections.count - action: insert - new_name: JVMGCYoungGenCount - match_type: strict - experimental_match_labels: { "name": "G1 Young Generation" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen0Count - match_type: regexp - experimental_match_labels: { "count": "0" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen1Count - match_type: regexp - experimental_match_labels: { "count": "1" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.gc_count$$ - action: insert - new_name: PythonProcessGCGen2Count - match_type: regexp - experimental_match_labels: { "count": "2" } - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.thread_count$$ - action: update - new_name: PythonProcessThreadCount - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu_time$$ - action: update - new_name: PythonProcessCpuTime - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.cpu\.utilization$$ - action: update - new_name: PythonProcessCpuUtilization - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessVMSMemoryUsed - experimental_match_labels: { "type": "vms" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" - - include: ^process\.runtime\.(.*)\.memory$$ - action: insert - new_name: PythonProcessRSSMemoryUsed - experimental_match_labels: { "type": "rss" } - match_type: regexp - aggregation_type: "" - submatch_case: "" - operations: - - action: aggregate_labels - label_set: [ ] - aggregation_type: sum - experimental_scale: 0 - label: "" - new_label: "" - label_value: "" - new_value: "" - - action: add_label - new_label: Telemetry.Source - new_value: RuntimeMetric - aggregation_type: "" - experimental_scale: 0 - label: "" - label_value: "" -receivers: - otlp/application_signals: - protocols: - grpc: + agenthealth/logs: + is_usage_data_enabled: true + stats: + operations: + - PutLogEvents + usage_flags: + mode: OP + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ + agenthealth/traces: + is_usage_data_enabled: true + stats: + operations: + - PutTraceSegments + usage_flags: + mode: OP + region_type: ACJ + awsproxy/application_signals: + aws_endpoint: https://fake_endpoint + certificate_file_path: "" dialer: - timeout: "0s" - endpoint: 0.0.0.0:4315 - include_metadata: false - max_concurrent_streams: 0 - max_recv_msg_size_mib: 0 - read_buffer_size: 524288 - transport: tcp + timeout: 0s + endpoint: 0.0.0.0:2000 + imds_retries: 1 + local_mode: true + profile: AmazonCloudWatchAgent + proxy_address: "" + region: us-east-1 + role_arn: "" + service_name: "" + shared_credentials_file: + - fake-path + entitystore: + mode: onPremise + profile: AmazonCloudWatchAgent + region: us-east-1 + shared_credential_file: fake-path +processors: + awsapplicationsignals: + resolvers: + - name: "" + platform: generic + metricstransform/application_signals: + transforms: + - action: update + aggregation_type: "" + include: jvm.cpu.recent_utilization + match_type: "" + new_name: JVMCpuRecentUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.cpu.time + match_type: "" + new_name: JVMCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.classes.loaded + match_type: "" + new_name: JVMClassLoaded + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.threads.count + match_type: "" + new_name: JVMThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.nonheap.used + match_type: "" + new_name: JVMMemoryNonHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.pool.used_after_last_gc + match_type: "" + new_name: JVMMemoryUsedAfterLastGC + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: jvm.memory.heap.used + match_type: "" + new_name: JVMMemoryHeapUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Old\sGen$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryOldGenUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Survivor\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemorySurvivorSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: .*Eden\sSpace$ + include: jvm.memory.pool.used + match_type: regexp + new_name: JVMMemoryEdenSpaceUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.elapsed + match_type: "" + new_name: JVMGCDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: jvm.gc.collections.count + match_type: "" + new_name: JVMGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCOldGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.elapsed + match_type: strict + new_name: JVMGCYoungGenDuration + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Old Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCOldGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + name: G1 Young Generation + include: jvm.gc.collections.count + match_type: strict + new_name: JVMGCYoungGenCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "0" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen0Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "1" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen1Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + count: "2" + include: ^process\.runtime\.(.*)\.gc_count$$ + match_type: regexp + new_name: PythonProcessGCGen2Count + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.thread_count$$ + match_type: regexp + new_name: PythonProcessThreadCount + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu_time$$ + match_type: regexp + new_name: PythonProcessCpuTime + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: update + aggregation_type: "" + include: ^process\.runtime\.(.*)\.cpu\.utilization$$ + match_type: regexp + new_name: PythonProcessCpuUtilization + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: vms + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessVMSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + - action: insert + aggregation_type: "" + experimental_match_labels: + type: rss + include: ^process\.runtime\.(.*)\.memory$$ + match_type: regexp + new_name: PythonProcessRSSMemoryUsed + operations: + - action: aggregate_labels + aggregation_type: sum + experimental_scale: 0 + label: "" + label_set: [] + label_value: "" + new_label: "" + new_value: "" + - action: add_label + aggregation_type: "" + experimental_scale: 0 + label: "" + label_value: "" + new_label: Telemetry.Source + new_value: RuntimeMetric + submatch_case: "" + resourcedetection: + aks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + azure: + resource_attributes: + azure.resourcegroup.name: + enabled: true + azure.vm.name: + enabled: true + azure.vm.scaleset.name: + enabled: true + azure.vm.size: + enabled: true + cloud.account.id: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + tags: [] + compression: "" + consul: + address: "" + datacenter: "" + namespace: "" + resource_attributes: + cloud.region: + enabled: true + host.id: + enabled: true + host.name: + enabled: true + token_file: "" + detectors: + - eks + - env + - ec2 + disable_keep_alives: false + docker: + resource_attributes: + host.name: + enabled: true + os.type: + enabled: true + ec2: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + host.id: + enabled: true + host.image.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + tags: + - ^kubernetes.io/cluster/.*$ + - ^aws:autoscaling:groupName + ecs: + resource_attributes: + aws.ecs.cluster.arn: + enabled: true + aws.ecs.launchtype: + enabled: true + aws.ecs.task.arn: + enabled: true + aws.ecs.task.family: + enabled: true + aws.ecs.task.id: + enabled: true + aws.ecs.task.revision: + enabled: true + aws.log.group.arns: + enabled: true + aws.log.group.names: + enabled: true + aws.log.stream.arns: + enabled: true + aws.log.stream.names: + enabled: true + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + eks: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + k8s.cluster.name: + enabled: false + elasticbeanstalk: + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + deployment.environment: + enabled: true + service.instance.id: + enabled: true + service.version: + enabled: true + endpoint: "" + gcp: + resource_attributes: + cloud.account.id: + enabled: true + cloud.availability_zone: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.id: + enabled: true + faas.instance: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + gcp.cloud_run.job.execution: + enabled: true + gcp.cloud_run.job.task_index: + enabled: true + gcp.gce.instance.hostname: + enabled: false + gcp.gce.instance.name: + enabled: false + host.id: + enabled: true + host.name: + enabled: true + host.type: + enabled: true + k8s.cluster.name: + enabled: true + heroku: + resource_attributes: + cloud.provider: + enabled: true + heroku.app.id: + enabled: true + heroku.dyno.id: + enabled: true + heroku.release.commit: + enabled: true + heroku.release.creation_timestamp: + enabled: true + service.instance.id: + enabled: true + service.name: + enabled: true + service.version: + enabled: true + http2_ping_timeout: 0s + http2_read_idle_timeout: 0s + idle_conn_timeout: 1m30s + k8snode: + auth_type: serviceAccount + context: "" + kube_config_path: "" + node_from_env_var: "" + resource_attributes: + k8s.node.name: + enabled: true + k8s.node.uid: + enabled: true + lambda: + resource_attributes: + aws.log.group.names: + enabled: true + aws.log.stream.names: + enabled: true + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + faas.instance: + enabled: true + faas.max_memory: + enabled: true + faas.name: + enabled: true + faas.version: + enabled: true + max_idle_conns: 100 + openshift: + address: "" + resource_attributes: + cloud.platform: + enabled: true + cloud.provider: + enabled: true + cloud.region: + enabled: true + k8s.cluster.name: + enabled: true + tls: + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" + token: "" + override: true + proxy_url: "" + read_buffer_size: 0 + system: + resource_attributes: + host.arch: + enabled: false + host.cpu.cache.l2.size: + enabled: false + host.cpu.family: + enabled: false + host.cpu.model.id: + enabled: false + host.cpu.model.name: + enabled: false + host.cpu.stepping: + enabled: false + host.cpu.vendor.id: + enabled: false + host.id: + enabled: false + host.ip: + enabled: false + host.mac: + enabled: false + host.name: + enabled: true + os.description: + enabled: false + os.type: + enabled: true + timeout: 2s + tls: + ca_file: "" + cert_file: "" + include_system_ca_certs_pool: false + insecure: false + insecure_skip_verify: false + key_file: "" + max_version: "" + min_version: "" + reload_interval: 0s + server_name_override: "" write_buffer_size: 0 - http: - endpoint: 0.0.0.0:4316 - include_metadata: false - logs_url_path: /v1/logs - max_request_body_size: 0 - metrics_url_path: /v1/metrics - traces_url_path: /v1/traces +receivers: + otlp/application_signals: + protocols: + grpc: + dialer: + timeout: 0s + endpoint: 0.0.0.0:4315 + include_metadata: false + max_concurrent_streams: 0 + max_recv_msg_size_mib: 0 + read_buffer_size: 524288 + transport: tcp + write_buffer_size: 0 + http: + endpoint: 0.0.0.0:4316 + include_metadata: false + logs_url_path: /v1/logs + max_request_body_size: 0 + metrics_url_path: /v1/metrics + traces_url_path: /v1/traces service: - extensions: - - awsproxy/application_signals - - agenthealth/traces - - agenthealth/logs - - entitystore - pipelines: - metrics/application_signals: - exporters: - - awsemf/application_signals - processors: - - metricstransform/application_signals - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - traces/application_signals: - exporters: - - awsxray/application_signals - processors: - - resourcedetection - - awsapplicationsignals - receivers: - - otlp/application_signals - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - awsproxy/application_signals + - agenthealth/traces + - agenthealth/statuscode + - agenthealth/logs + - entitystore + pipelines: + metrics/application_signals: + exporters: + - awsemf/application_signals + processors: + - metricstransform/application_signals + - resourcedetection + - awsapplicationsignals + receivers: + - otlp/application_signals + traces/application_signals: + exporters: + - awsxray/application_signals + processors: + - resourcedetection + - awsapplicationsignals + receivers: + - otlp/application_signals + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/base_container_insights_config.yaml b/translator/tocwconfig/sampleConfig/base_container_insights_config.yaml index 618e81c072..250e5a6de3 100644 --- a/translator/tocwconfig/sampleConfig/base_container_insights_config.yaml +++ b/translator/tocwconfig/sampleConfig/base_container_insights_config.yaml @@ -148,9 +148,16 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: - mode: ec2 - region: us-east-1 + mode: ec2 + region: us-east-1 processors: batch/containerinsights: metadata_cardinality_limit: 1000 @@ -220,6 +227,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: diff --git a/translator/tocwconfig/sampleConfig/basic_config_linux.yaml b/translator/tocwconfig/sampleConfig/basic_config_linux.yaml index 9a349c682e..c6aeb04fee 100644 --- a/translator/tocwconfig/sampleConfig/basic_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/basic_config_linux.yaml @@ -17,6 +17,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 @@ -45,6 +52,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -54,8 +62,8 @@ service: - awsentity/resource - ec2tagger receivers: - - telegraf_mem - telegraf_disk + - telegraf_mem telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/basic_config_windows.yaml b/translator/tocwconfig/sampleConfig/basic_config_windows.yaml index 31c7c5229b..6b4882b964 100644 --- a/translator/tocwconfig/sampleConfig/basic_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/basic_config_windows.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 ec2tagger: ec2_instance_tag_keys: - AutoScalingGroupName @@ -47,6 +54,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: diff --git a/translator/tocwconfig/sampleConfig/collectd_config_linux.yaml b/translator/tocwconfig/sampleConfig/collectd_config_linux.yaml index a1ecf22c1e..2d409b2753 100644 --- a/translator/tocwconfig/sampleConfig/collectd_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/collectd_config_linux.yaml @@ -17,14 +17,21 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/service/telegraf: entity_type: Service + platform: ec2 scrape_datapoint_attribute: true - platform: ec2 receivers: telegraf_socket_listener: collection_interval: 1m0s @@ -33,6 +40,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostCustomMetrics: diff --git a/translator/tocwconfig/sampleConfig/compass_linux_config.yaml b/translator/tocwconfig/sampleConfig/compass_linux_config.yaml index ab934cba89..6552403fe1 100644 --- a/translator/tocwconfig/sampleConfig/compass_linux_config.yaml +++ b/translator/tocwconfig/sampleConfig/compass_linux_config.yaml @@ -28,21 +28,28 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/service/telegraf: entity_type: Service - scrape_datapoint_attribute: true platform: ec2 + scrape_datapoint_attribute: true ec2tagger: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: + - ImageId - InstanceId - InstanceType - - ImageId imds_retries: 1 refresh_interval_seconds: 0s receivers: @@ -57,6 +64,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostCustomMetrics: diff --git a/translator/tocwconfig/sampleConfig/complete_darwin_config.yaml b/translator/tocwconfig/sampleConfig/complete_darwin_config.yaml index ec2a2d8994..f809fc2ef0 100644 --- a/translator/tocwconfig/sampleConfig/complete_darwin_config.yaml +++ b/translator/tocwconfig/sampleConfig/complete_darwin_config.yaml @@ -83,6 +83,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -100,8 +107,8 @@ processors: platform: ec2 awsentity/service/telegraf: entity_type: Service - scrape_datapoint_attribute: true platform: ec2 + scrape_datapoint_attribute: true batch/emf_logs: metadata_cardinality_limit: 1000 send_batch_max_size: 0 @@ -126,9 +133,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: - - InstanceType - ImageId - InstanceId + - InstanceType imds_retries: 1 refresh_interval_seconds: 0s transform: @@ -138,11 +145,11 @@ processors: metric_statements: - context: metric statements: - - set(unit, "unit") where name == "disk_free" - - set(name, "DISK_FREE") where name == "disk_free" - - set(unit, "unit") where name == "cpu_usage_idle" - - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" - - set(unit, "unit") where name == "cpu_usage_nice" + - set(unit, "unit") where name == "cpu_usage_idle" + - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" + - set(unit, "unit") where name == "cpu_usage_nice" + - set(unit, "unit") where name == "disk_free" + - set(name, "DISK_FREE") where name == "disk_free" trace_statements: [] receivers: awsxray: @@ -256,6 +263,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - agenthealth/logs - agenthealth/traces - entitystore @@ -275,13 +283,13 @@ service: - ec2tagger - transform receivers: - - telegraf_procstat/1917393364 - - telegraf_cpu - - telegraf_mem - telegraf_netstat + - telegraf_disk - telegraf_processes + - telegraf_procstat/1917393364 + - telegraf_mem - telegraf_swap - - telegraf_disk + - telegraf_cpu metrics/hostCustomMetrics: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/complete_linux_config.yaml b/translator/tocwconfig/sampleConfig/complete_linux_config.yaml index e54d859883..192a2475ee 100644 --- a/translator/tocwconfig/sampleConfig/complete_linux_config.yaml +++ b/translator/tocwconfig/sampleConfig/complete_linux_config.yaml @@ -81,6 +81,7 @@ extensions: mode: EC2 region_type: ACJ agenthealth/metrics: + is_status_code_enabled: true is_usage_data_enabled: true stats: operations: @@ -88,6 +89,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -102,11 +110,11 @@ extensions: processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 awsentity/service/telegraf: entity_type: Service - scrape_datapoint_attribute: true platform: ec2 + scrape_datapoint_attribute: true batch/emf_logs: metadata_cardinality_limit: 1000 send_batch_max_size: 0 @@ -138,9 +146,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: - - InstanceType - ImageId - InstanceId + - InstanceType imds_retries: 1 refresh_interval_seconds: 0s filter/jmx/0: @@ -189,11 +197,11 @@ processors: metric_statements: - context: metric statements: - - set(unit, "unit") where name == "cpu_usage_idle" - - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" - - set(unit, "unit") where name == "cpu_usage_nice" - - set(unit, "unit") where name == "disk_free" - - set(name, "DISK_FREE") where name == "disk_free" + - set(unit, "unit") where name == "disk_free" + - set(name, "DISK_FREE") where name == "disk_free" + - set(unit, "unit") where name == "cpu_usage_idle" + - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" + - set(unit, "unit") where name == "cpu_usage_nice" trace_statements: [] transform/jmx/0: error_mode: propagate @@ -202,9 +210,9 @@ processors: metric_statements: - context: metric statements: - - set(name, "kafka.fetch-rate") where name == "kafka.consumer.fetch-rate" - - set(unit, "unit") where name == "jvm.memory.heap.used" - - set(name, "JVM_MEM_HEAP_USED") where name == "jvm.memory.heap.used" + - set(unit, "unit") where name == "jvm.memory.heap.used" + - set(name, "JVM_MEM_HEAP_USED") where name == "jvm.memory.heap.used" + - set(name, "kafka.fetch-rate") where name == "kafka.consumer.fetch-rate" trace_statements: [] transform/jmx/1: error_mode: propagate @@ -213,7 +221,7 @@ processors: metric_statements: - context: metric statements: - - set(name, "TC_ERR") where name == "tomcat.errors" + - set(name, "TC_ERR") where name == "tomcat.errors" trace_statements: [] receivers: awsxray: @@ -362,6 +370,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - agenthealth/logs - agenthealth/traces - entitystore @@ -381,13 +390,13 @@ service: - ec2tagger - transform receivers: - - telegraf_mem - telegraf_netstat - - telegraf_procstat/1917393364 - - telegraf_swap - - telegraf_cpu - telegraf_disk - telegraf_processes + - telegraf_cpu + - telegraf_mem + - telegraf_procstat/1917393364 + - telegraf_swap metrics/hostCustomMetrics/cloudwatch: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/complete_windows_config.yaml b/translator/tocwconfig/sampleConfig/complete_windows_config.yaml index d41982d0cb..1819607b74 100644 --- a/translator/tocwconfig/sampleConfig/complete_windows_config.yaml +++ b/translator/tocwconfig/sampleConfig/complete_windows_config.yaml @@ -83,6 +83,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -97,11 +104,11 @@ extensions: processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 awsentity/service/telegraf: entity_type: Service - scrape_datapoint_attribute: true platform: ec2 + scrape_datapoint_attribute: true batch/emf_logs: metadata_cardinality_limit: 1000 send_batch_max_size: 0 @@ -128,10 +135,10 @@ processors: metric_statements: - context: metric statements: - - set(unit, "PERCENT") where name == "Processor % Idle Time" - - set(name, "CPU_IDLE") where name == "Processor % Idle Time" - - set(unit, "PERCENT") where name == "LogicalDisk % Idle Time" - - set(name, "DISK_READ") where name == "LogicalDisk % Disk Read Time" + - set(unit, "PERCENT") where name == "LogicalDisk_% Idle Time" + - set(name, "DISK_READ") where name == "LogicalDisk_% Disk Read Time" + - set(unit, "PERCENT") where name == "Processor_% Idle Time" + - set(name, "CPU_IDLE") where name == "Processor_% Idle Time" trace_statements: [] receivers: awsxray: @@ -243,6 +250,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - agenthealth/logs - agenthealth/traces - entitystore @@ -262,14 +270,14 @@ service: - ec2tagger - transform receivers: - - telegraf_win_perf_counters/1063858558 - telegraf_nvidia_smi - - telegraf_win_perf_counters/4283769065 + - telegraf_win_perf_counters/3762679655 - telegraf_win_perf_counters/3081249416 + - telegraf_procstat/1340600742 - telegraf_win_perf_counters/1492679118 + - telegraf_win_perf_counters/4283769065 - telegraf_win_perf_counters/2402387132 - - telegraf_win_perf_counters/3762679655 - - telegraf_procstat/1340600742 + - telegraf_win_perf_counters/1063858558 metrics/hostCustomMetrics: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/config_with_env.yaml b/translator/tocwconfig/sampleConfig/config_with_env.yaml index c776e99d76..40307cc324 100644 --- a/translator/tocwconfig/sampleConfig/config_with_env.yaml +++ b/translator/tocwconfig/sampleConfig/config_with_env.yaml @@ -39,6 +39,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: ${ENV_REGION} @@ -78,6 +85,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: diff --git a/translator/tocwconfig/sampleConfig/container_insights_jmx.yaml b/translator/tocwconfig/sampleConfig/container_insights_jmx.yaml index 28be63530c..77976a2761 100644 --- a/translator/tocwconfig/sampleConfig/container_insights_jmx.yaml +++ b/translator/tocwconfig/sampleConfig/container_insights_jmx.yaml @@ -182,9 +182,16 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: - mode: ec2 - region: us-west-2 + mode: ec2 + region: us-west-2 processors: batch/containerinsights: metadata_cardinality_limit: 1000 @@ -517,6 +524,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: metrics/containerinsights: diff --git a/translator/tocwconfig/sampleConfig/delta_config_linux.yaml b/translator/tocwconfig/sampleConfig/delta_config_linux.yaml index 6a27ffc90d..ce2a63c26f 100644 --- a/translator/tocwconfig/sampleConfig/delta_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/delta_config_linux.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 cumulativetodelta/hostDeltaMetrics: exclude: match_type: strict @@ -38,9 +45,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: - - ImageId - InstanceId - InstanceType + - ImageId imds_retries: 1 refresh_interval_seconds: 0s transform: @@ -50,12 +57,12 @@ processors: metric_statements: - context: metric statements: - - set(unit, "Count") where name == "diskio_iops_in_progress" - - set(name, "DRIVER_DISKIO_IOPS_IN_PROGRESS") where name == "diskio_iops_in_progress" - - set(unit, "Milliseconds") where name == "diskio_read_time" - - set(name, "DRIVER_DISKIO_READ_TIME") where name == "diskio_read_time" - - set(unit, "Milliseconds") where name == "diskio_write_time" - - set(name, "DRIVER_DISKIO_WRITE_TIME") where name == "diskio_write_time" + - set(unit, "Count") where name == "diskio_iops_in_progress" + - set(name, "DRIVER_DISKIO_IOPS_IN_PROGRESS") where name == "diskio_iops_in_progress" + - set(unit, "Milliseconds") where name == "diskio_read_time" + - set(name, "DRIVER_DISKIO_READ_TIME") where name == "diskio_read_time" + - set(unit, "Milliseconds") where name == "diskio_write_time" + - set(name, "DRIVER_DISKIO_WRITE_TIME") where name == "diskio_write_time" trace_statements: [] receivers: telegraf_diskio: @@ -65,6 +72,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostDeltaMetrics: diff --git a/translator/tocwconfig/sampleConfig/delta_net_config_linux.yaml b/translator/tocwconfig/sampleConfig/delta_net_config_linux.yaml index f6601c168d..7787666540 100644 --- a/translator/tocwconfig/sampleConfig/delta_net_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/delta_net_config_linux.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 cumulativetodelta/hostDeltaMetrics: exclude: match_type: "" @@ -35,9 +42,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: + - ImageId - InstanceId - InstanceType - - ImageId imds_retries: 1 refresh_interval_seconds: 0s receivers: @@ -48,6 +55,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostDeltaMetrics: diff --git a/translator/tocwconfig/sampleConfig/drop_origin_linux.yaml b/translator/tocwconfig/sampleConfig/drop_origin_linux.yaml index a458852b8e..baad241f77 100644 --- a/translator/tocwconfig/sampleConfig/drop_origin_linux.yaml +++ b/translator/tocwconfig/sampleConfig/drop_origin_linux.yaml @@ -22,20 +22,27 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 ec2tagger: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: + - InstanceId - InstanceType - ImageId - - InstanceId imds_retries: 1 refresh_interval_seconds: 0s transform: @@ -45,9 +52,9 @@ processors: metric_statements: - context: metric statements: - - set(unit, "unit") where name == "cpu_usage_idle" - - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" - - set(unit, "unit") where name == "cpu_usage_nice" + - set(unit, "unit") where name == "cpu_usage_idle" + - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" + - set(unit, "unit") where name == "cpu_usage_nice" trace_statements: [] receivers: telegraf_cpu: @@ -65,6 +72,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -75,9 +83,9 @@ service: - ec2tagger - transform receivers: - - telegraf_nvidia_smi - telegraf_cpu - telegraf_disk + - telegraf_nvidia_smi telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_config.yaml b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_config.yaml index f2e17099c6..5f7b8e85e4 100644 --- a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_config.yaml +++ b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_config.yaml @@ -398,6 +398,13 @@ extensions: usage_flags: mode: OP region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ entitystore: mode: onPremise profile: default @@ -484,6 +491,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: @@ -498,8 +506,8 @@ service: exporters: - awsemf/containerinsights processors: - - metricstransform/containerinsights - batch/containerinsights + - metricstransform/containerinsights receivers: - awscontainerinsightreceiver telemetry: diff --git a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_gpu_config.yaml b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_gpu_config.yaml index 169eb97852..eb4f404843 100644 --- a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_gpu_config.yaml +++ b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_gpu_config.yaml @@ -146,9 +146,9 @@ exporters: - pod_container_status_waiting_reason_create_container_error - pod_container_status_waiting_reason_create_container_config_error - pod_container_status_terminated_reason_oom_killed - - pod_gpu_usage_total - pod_gpu_request - pod_gpu_limit + - pod_gpu_usage_total - pod_gpu_reserved_capacity - dimensions: - - ClusterName @@ -175,8 +175,8 @@ exporters: - node_status_condition_unknown - node_status_capacity_pods - node_status_allocatable_pods - - node_gpu_usage_total - node_gpu_limit + - node_gpu_usage_total - node_gpu_reserved_capacity - dimensions: - - ClusterName @@ -656,6 +656,13 @@ extensions: usage_flags: mode: OP region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ entitystore: mode: onPremise profile: default @@ -1000,44 +1007,51 @@ processors: submatch_case: "" - action: update aggregation_type: "" - include: neuron_hardware + include: neuroncore_utilization_ratio match_type: "" - new_name: neuron_hardware - operations: [] + new_name: neuroncore_utilization + operations: + - action: experimental_scale_value + aggregation_type: "" + experimental_scale: 100 + label: "" + label_value: "" + new_label: "" + new_value: "" submatch_case: "" - action: update aggregation_type: "" - include: execution_errors_total + include: neuron_hardware match_type: "" - new_name: neuron_execution_errors + new_name: neuron_hardware operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuron_runtime_memory_used_bytes + include: hardware_ecc_events_total match_type: "" - new_name: neurondevice_runtime_memory_used_bytes + new_name: neurondevice_hw_ecc_events operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuroncore_memory_usage_constants + include: execution_status_total match_type: "" - new_name: neuroncore_memory_usage_constants + new_name: neuron_execution_status operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuroncore_memory_usage_model_code + include: neuroncore_memory_usage_constants match_type: "" - new_name: neuroncore_memory_usage_model_code + new_name: neuroncore_memory_usage_constants operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuroncore_memory_usage_model_shared_scratchpad + include: neuroncore_memory_usage_runtime_memory match_type: "" - new_name: neuroncore_memory_usage_model_shared_scratchpad + new_name: neuroncore_memory_usage_runtime_memory operations: [] submatch_case: "" - action: update @@ -1049,51 +1063,44 @@ processors: submatch_case: "" - action: update aggregation_type: "" - include: execution_status_total + include: instance_info match_type: "" - new_name: neuron_execution_status + new_name: instance_info operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuroncore_memory_usage_runtime_memory + include: execution_latency_seconds match_type: "" - new_name: neuroncore_memory_usage_runtime_memory + new_name: neuron_execution_latency operations: [] submatch_case: "" - action: update aggregation_type: "" - include: neuroncore_utilization_ratio + include: execution_errors_total match_type: "" - new_name: neuroncore_utilization - operations: - - action: experimental_scale_value - aggregation_type: "" - experimental_scale: 100 - label: "" - label_value: "" - new_label: "" - new_value: "" + new_name: neuron_execution_errors + operations: [] submatch_case: "" - action: update aggregation_type: "" - include: instance_info + include: neuron_runtime_memory_used_bytes match_type: "" - new_name: instance_info + new_name: neurondevice_runtime_memory_used_bytes operations: [] submatch_case: "" - action: update aggregation_type: "" - include: hardware_ecc_events_total + include: neuroncore_memory_usage_model_code match_type: "" - new_name: neurondevice_hw_ecc_events + new_name: neuroncore_memory_usage_model_code operations: [] submatch_case: "" - action: update aggregation_type: "" - include: execution_latency_seconds + include: neuroncore_memory_usage_model_shared_scratchpad match_type: "" - new_name: neuron_execution_latency + new_name: neuroncore_memory_usage_model_shared_scratchpad operations: [] submatch_case: "" receivers: @@ -1156,6 +1163,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: @@ -1170,9 +1178,9 @@ service: exporters: - awsemf/containerinsights processors: + - batch/containerinsights - metricstransform/containerinsights - gpuattributes/containerinsights - - batch/containerinsights receivers: - awscontainerinsightreceiver telemetry: diff --git a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_kueue_config.yaml b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_kueue_config.yaml index 36d9202ca7..37b6232c3f 100644 --- a/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_kueue_config.yaml +++ b/translator/tocwconfig/sampleConfig/emf_and_kubernetes_with_kueue_config.yaml @@ -478,6 +478,13 @@ extensions: usage_flags: mode: OP region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ entitystore: mode: onPremise profile: default @@ -573,6 +580,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: diff --git a/translator/tocwconfig/sampleConfig/ignore_append_dimensions.yaml b/translator/tocwconfig/sampleConfig/ignore_append_dimensions.yaml index d38f02f2cd..b7ee0fa05d 100644 --- a/translator/tocwconfig/sampleConfig/ignore_append_dimensions.yaml +++ b/translator/tocwconfig/sampleConfig/ignore_append_dimensions.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 ec2tagger: imds_retries: 1 refresh_interval_seconds: 0s @@ -39,6 +46,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -48,8 +56,8 @@ service: - awsentity/resource - ec2tagger receivers: - - telegraf_disk - telegraf_mem + - telegraf_disk telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/invalid_input_linux.yaml b/translator/tocwconfig/sampleConfig/invalid_input_linux.yaml index 373ba8e154..fa935efc58 100644 --- a/translator/tocwconfig/sampleConfig/invalid_input_linux.yaml +++ b/translator/tocwconfig/sampleConfig/invalid_input_linux.yaml @@ -17,6 +17,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 @@ -45,6 +52,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -54,8 +62,8 @@ service: - awsentity/resource - ec2tagger receivers: - - telegraf_disk - telegraf_mem + - telegraf_disk telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/jmx_config_linux.yaml b/translator/tocwconfig/sampleConfig/jmx_config_linux.yaml index 2bd2541d3e..0288cfd3f5 100644 --- a/translator/tocwconfig/sampleConfig/jmx_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/jmx_config_linux.yaml @@ -58,6 +58,7 @@ exporters: write_buffer_size: 524288 extensions: agenthealth/metrics: + is_status_code_enabled: true is_usage_data_enabled: true stats: operations: @@ -65,9 +66,16 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: - mode: ec2 - region: us-west-2 + mode: ec2 + region: us-west-2 sigv4auth: assume_role: sts_region: us-west-2 @@ -75,7 +83,7 @@ extensions: processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 batch/host/amp: metadata_cardinality_limit: 1000 send_batch_max_size: 0 @@ -128,11 +136,11 @@ processors: metric_statements: - context: metric statements: - - set(unit, "unit") where name == "disk_free" - - set(name, "DISK_FREE") where name == "disk_free" - set(unit, "unit") where name == "cpu_usage_idle" - set(name, "CPU_USAGE_IDLE") where name == "cpu_usage_idle" - set(unit, "unit") where name == "cpu_usage_nice" + - set(unit, "unit") where name == "disk_free" + - set(name, "DISK_FREE") where name == "disk_free" trace_statements: [] transform/jmx: error_mode: propagate @@ -165,6 +173,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - sigv4auth - entitystore pipelines: @@ -175,8 +184,8 @@ service: - transform - batch/host/amp receivers: - - telegraf_disk - telegraf_cpu + - telegraf_disk metrics/host/cloudwatch: exporters: - awscloudwatch @@ -184,8 +193,8 @@ service: - awsentity/resource - transform receivers: - - telegraf_disk - telegraf_cpu + - telegraf_disk metrics/jmx/amp: exporters: - prometheusremotewrite/amp diff --git a/translator/tocwconfig/sampleConfig/jmx_eks_config_linux.yaml b/translator/tocwconfig/sampleConfig/jmx_eks_config_linux.yaml index a4edf266d3..2d73ac7668 100644 --- a/translator/tocwconfig/sampleConfig/jmx_eks_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/jmx_eks_config_linux.yaml @@ -55,6 +55,7 @@ exporters: write_buffer_size: 524288 extensions: agenthealth/metrics: + is_status_code_enabled: true is_usage_data_enabled: true stats: operations: @@ -62,13 +63,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + entitystore: + mode: ec2 + region: us-west-2 sigv4auth: assume_role: sts_region: us-west-2 region: us-west-2 - entitystore: - mode: ec2 - region: us-west-2 processors: batch/jmx/amp/0: metadata_cardinality_limit: 1000 diff --git a/translator/tocwconfig/sampleConfig/kubernetes_on_prem_config.yaml b/translator/tocwconfig/sampleConfig/kubernetes_on_prem_config.yaml index 68118d53b9..9ad8ccbacc 100644 --- a/translator/tocwconfig/sampleConfig/kubernetes_on_prem_config.yaml +++ b/translator/tocwconfig/sampleConfig/kubernetes_on_prem_config.yaml @@ -99,11 +99,11 @@ exporters: - pod_status_unknown - pod_status_succeeded - pod_memory_request - - pod_cpu_usage_total - - pod_memory_working_set - pod_memory_limit - pod_cpu_limit - pod_cpu_request + - pod_cpu_usage_total + - pod_memory_working_set - pod_container_status_running - pod_container_status_terminated - pod_container_status_waiting @@ -365,6 +365,13 @@ extensions: usage_flags: mode: OP region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ entitystore: mode: onPremise profile: AmazonCloudWatchAgent @@ -420,14 +427,15 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: metrics/containerinsights: exporters: - awsemf/containerinsights processors: - - metricstransform/containerinsights - batch/containerinsights + - metricstransform/containerinsights receivers: - awscontainerinsightreceiver telemetry: diff --git a/translator/tocwconfig/sampleConfig/kueue_container_insights_config.yaml b/translator/tocwconfig/sampleConfig/kueue_container_insights_config.yaml index 7d2fa024b0..a34b9a9e58 100644 --- a/translator/tocwconfig/sampleConfig/kueue_container_insights_config.yaml +++ b/translator/tocwconfig/sampleConfig/kueue_container_insights_config.yaml @@ -226,6 +226,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 @@ -307,6 +314,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: diff --git a/translator/tocwconfig/sampleConfig/log_ecs_metric_only.yaml b/translator/tocwconfig/sampleConfig/log_ecs_metric_only.yaml index 3943981aa6..40a39cb624 100644 --- a/translator/tocwconfig/sampleConfig/log_ecs_metric_only.yaml +++ b/translator/tocwconfig/sampleConfig/log_ecs_metric_only.yaml @@ -97,6 +97,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ processors: batch/containerinsights: metadata_cardinality_limit: 1000 @@ -166,6 +173,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode pipelines: logs/emf_logs: exporters: diff --git a/translator/tocwconfig/sampleConfig/log_filter.yaml b/translator/tocwconfig/sampleConfig/log_filter.yaml index 0b694fca94..6ca631da29 100644 --- a/translator/tocwconfig/sampleConfig/log_filter.yaml +++ b/translator/tocwconfig/sampleConfig/log_filter.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-east-1 + entitystore: + mode: ec2 + region: us-east-1 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/log_only_config_windows.yaml b/translator/tocwconfig/sampleConfig/log_only_config_windows.yaml index a01b2785ed..391143c01f 100644 --- a/translator/tocwconfig/sampleConfig/log_only_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/log_only_config_windows.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/logs_and_kubernetes_config.yaml b/translator/tocwconfig/sampleConfig/logs_and_kubernetes_config.yaml index 28594ce0e7..06827e3d55 100644 --- a/translator/tocwconfig/sampleConfig/logs_and_kubernetes_config.yaml +++ b/translator/tocwconfig/sampleConfig/logs_and_kubernetes_config.yaml @@ -394,10 +394,16 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: - mode: ec2 - region: us-east-1 - + mode: ec2 + region: us-east-1 processors: batch/containerinsights: metadata_cardinality_limit: 1000 @@ -477,6 +483,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: logs/emf_logs: @@ -491,8 +498,8 @@ service: exporters: - awsemf/containerinsights processors: - - metricstransform/containerinsights - batch/containerinsights + - metricstransform/containerinsights receivers: - awscontainerinsightreceiver telemetry: diff --git a/translator/tocwconfig/sampleConfig/no_skip_log_timestamp.yaml b/translator/tocwconfig/sampleConfig/no_skip_log_timestamp.yaml index e3327e1d00..11a14c9ad5 100644 --- a/translator/tocwconfig/sampleConfig/no_skip_log_timestamp.yaml +++ b/translator/tocwconfig/sampleConfig/no_skip_log_timestamp.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/no_skip_log_timestamp_windows.yaml b/translator/tocwconfig/sampleConfig/no_skip_log_timestamp_windows.yaml index a01b2785ed..391143c01f 100644 --- a/translator/tocwconfig/sampleConfig/no_skip_log_timestamp_windows.yaml +++ b/translator/tocwconfig/sampleConfig/no_skip_log_timestamp_windows.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/otlp_metrics_cloudwatchlogs_config.yaml b/translator/tocwconfig/sampleConfig/otlp_metrics_cloudwatchlogs_config.yaml index f6233cf355..f9649de2e4 100644 --- a/translator/tocwconfig/sampleConfig/otlp_metrics_cloudwatchlogs_config.yaml +++ b/translator/tocwconfig/sampleConfig/otlp_metrics_cloudwatchlogs_config.yaml @@ -1,126 +1,134 @@ exporters: - awsemf: - certificate_file_path: "" - detailed_metrics: false - dimension_rollup_option: NoDimensionRollup - disable_metric_extraction: false - eks_fargate_container_insights_enabled: false - endpoint: "" - enhanced_container_insights: false - imds_retries: 1 - local_mode: false - log_group_name: /aws/cwagent - log_retention: 0 - log_stream_name: "" - max_retries: 2 - middleware: agenthealth/logs - namespace: CWAgent - no_verify_ssl: false - num_workers: 8 - output_destination: cloudwatch - profile: "" - proxy_address: "" - region: us-west-2 - request_timeout_seconds: 30 - resource_arn: "" - resource_to_telemetry_conversion: - enabled: true - retain_initial_value_of_delta_metric: false - role_arn: "" - version: "0" + awsemf: + certificate_file_path: "" + detailed_metrics: false + dimension_rollup_option: NoDimensionRollup + disable_metric_extraction: false + eks_fargate_container_insights_enabled: false + endpoint: "" + enhanced_container_insights: false + imds_retries: 1 + local_mode: false + log_group_name: /aws/cwagent + log_retention: 0 + log_stream_name: "" + max_retries: 2 + middleware: agenthealth/logs + namespace: CWAgent + no_verify_ssl: false + num_workers: 8 + output_destination: cloudwatch + profile: "" + proxy_address: "" + region: us-west-2 + request_timeout_seconds: 30 + resource_arn: "" + resource_to_telemetry_conversion: + enabled: true + retain_initial_value_of_delta_metric: false + role_arn: "" + version: "0" extensions: - agenthealth/logs: - is_usage_data_enabled: true - stats: - operations: - - PutLogEvents - usage_flags: - mode: EC2 - region_type: ACJ - entitystore: - mode: ec2 - region: us-west-2 + agenthealth/logs: + is_usage_data_enabled: true + stats: + operations: + - PutLogEvents + usage_flags: + mode: EC2 + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ + entitystore: + mode: ec2 + region: us-west-2 processors: - batch/hostOtlpMetrics/cloudwatchlogs: - metadata_cardinality_limit: 1000 - send_batch_max_size: 0 - send_batch_size: 8192 - timeout: 30s - cumulativetodelta/hostOtlpMetrics/cloudwatchlogs: - exclude: - match_type: "" - include: - match_type: "" - initial_value: 2 - max_staleness: 0s + batch/hostOtlpMetrics/cloudwatchlogs: + metadata_cardinality_limit: 1000 + send_batch_max_size: 0 + send_batch_size: 8192 + timeout: 30s + cumulativetodelta/hostOtlpMetrics/cloudwatchlogs: + exclude: + match_type: "" + include: + match_type: "" + initial_value: 2 + max_staleness: 0s receivers: - otlp/metrics: - protocols: - grpc: - dialer: - timeout: 0s - endpoint: 0.0.0.0:1234 - include_metadata: false - max_concurrent_streams: 0 - max_recv_msg_size_mib: 0 - read_buffer_size: 524288 - transport: tcp - write_buffer_size: 0 - tls: - ca_file: "" - cert_file: /path/to/cert.pem - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: /path/to/key.pem - max_version: "" - min_version: "" - reload_interval: 0s - http: - endpoint: 0.0.0.0:2345 - include_metadata: false - logs_url_path: /v1/logs - max_request_body_size: 0 - metrics_url_path: /v1/metrics - traces_url_path: /v1/traces - tls: - ca_file: "" - cert_file: /path/to/cert.pem - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: /path/to/key.pem - max_version: "" - min_version: "" - reload_interval: 0s + otlp/metrics: + protocols: + grpc: + dialer: + timeout: 0s + endpoint: 0.0.0.0:1234 + include_metadata: false + max_concurrent_streams: 0 + max_recv_msg_size_mib: 0 + read_buffer_size: 524288 + tls: + ca_file: "" + cert_file: /path/to/cert.pem + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: /path/to/key.pem + max_version: "" + min_version: "" + reload_interval: 0s + transport: tcp + write_buffer_size: 0 + http: + endpoint: 0.0.0.0:2345 + include_metadata: false + logs_url_path: /v1/logs + max_request_body_size: 0 + metrics_url_path: /v1/metrics + tls: + ca_file: "" + cert_file: /path/to/cert.pem + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: /path/to/key.pem + max_version: "" + min_version: "" + reload_interval: 0s + traces_url_path: /v1/traces service: - extensions: - - agenthealth/logs - - entitystore - pipelines: - metrics/hostOtlpMetrics/cloudwatchlogs: - exporters: - - awsemf - processors: - - batch/hostOtlpMetrics/cloudwatchlogs - - cumulativetodelta/hostOtlpMetrics/cloudwatchlogs - receivers: - - otlp/metrics - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } + extensions: + - agenthealth/logs + - agenthealth/statuscode + - entitystore + pipelines: + metrics/hostOtlpMetrics/cloudwatchlogs: + exporters: + - awsemf + processors: + - cumulativetodelta/hostOtlpMetrics/cloudwatchlogs + - batch/hostOtlpMetrics/cloudwatchlogs + receivers: + - otlp/metrics + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/otlp_metrics_config.yaml b/translator/tocwconfig/sampleConfig/otlp_metrics_config.yaml index 8f47cce671..5748189bcf 100644 --- a/translator/tocwconfig/sampleConfig/otlp_metrics_config.yaml +++ b/translator/tocwconfig/sampleConfig/otlp_metrics_config.yaml @@ -1,110 +1,118 @@ exporters: - awscloudwatch: - force_flush_interval: 1m0s - max_datums_per_call: 1000 - max_values_per_datum: 150 - middleware: agenthealth/metrics - namespace: CWAgent - region: us-west-2 - resource_to_telemetry_conversion: - enabled: true + awscloudwatch: + force_flush_interval: 1m0s + max_datums_per_call: 1000 + max_values_per_datum: 150 + middleware: agenthealth/metrics + namespace: CWAgent + region: us-west-2 + resource_to_telemetry_conversion: + enabled: true extensions: - agenthealth/metrics: - is_usage_data_enabled: true - stats: - operations: - - PutMetricData - usage_flags: - mode: EC2 - region_type: ACJ - entitystore: - mode: ec2 - region: us-west-2 + agenthealth/metrics: + is_usage_data_enabled: true + stats: + operations: + - PutMetricData + usage_flags: + mode: EC2 + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ + entitystore: + mode: ec2 + region: us-west-2 processors: - cumulativetodelta/hostOtlpMetrics: - exclude: - match_type: "" - include: - match_type: "" - initial_value: 2 - max_staleness: 0s - ec2tagger: - ec2_instance_tag_keys: - - AutoScalingGroupName - ec2_metadata_tags: - - ImageId - - InstanceId - - InstanceType - imds_retries: 1 - refresh_interval_seconds: 0s + cumulativetodelta/hostOtlpMetrics: + exclude: + match_type: "" + include: + match_type: "" + initial_value: 2 + max_staleness: 0s + ec2tagger: + ec2_instance_tag_keys: + - AutoScalingGroupName + ec2_metadata_tags: + - ImageId + - InstanceId + - InstanceType + imds_retries: 1 + refresh_interval_seconds: 0s receivers: - otlp/metrics: - protocols: - grpc: - dialer: - timeout: 0s - endpoint: 0.0.0.0:1234 - include_metadata: false - max_concurrent_streams: 0 - max_recv_msg_size_mib: 0 - read_buffer_size: 524288 - transport: tcp - write_buffer_size: 0 - tls: - ca_file: "" - cert_file: /path/to/cert.pem - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: /path/to/key.pem - max_version: "" - min_version: "" - reload_interval: 0s - http: - endpoint: 0.0.0.0:2345 - include_metadata: false - logs_url_path: /v1/logs - max_request_body_size: 0 - metrics_url_path: /v1/metrics - traces_url_path: /v1/traces - tls: - ca_file: "" - cert_file: /path/to/cert.pem - client_ca_file: "" - client_ca_file_reload: false - include_system_ca_certs_pool: false - key_file: /path/to/key.pem - max_version: "" - min_version: "" - reload_interval: 0s + otlp/metrics: + protocols: + grpc: + dialer: + timeout: 0s + endpoint: 0.0.0.0:1234 + include_metadata: false + max_concurrent_streams: 0 + max_recv_msg_size_mib: 0 + read_buffer_size: 524288 + tls: + ca_file: "" + cert_file: /path/to/cert.pem + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: /path/to/key.pem + max_version: "" + min_version: "" + reload_interval: 0s + transport: tcp + write_buffer_size: 0 + http: + endpoint: 0.0.0.0:2345 + include_metadata: false + logs_url_path: /v1/logs + max_request_body_size: 0 + metrics_url_path: /v1/metrics + tls: + ca_file: "" + cert_file: /path/to/cert.pem + client_ca_file: "" + client_ca_file_reload: false + include_system_ca_certs_pool: false + key_file: /path/to/key.pem + max_version: "" + min_version: "" + reload_interval: 0s + traces_url_path: /v1/traces service: - extensions: - - agenthealth/metrics - - entitystore - pipelines: - metrics/hostOtlpMetrics: - exporters: - - awscloudwatch - processors: - - cumulativetodelta/hostOtlpMetrics - - ec2tagger - receivers: - - otlp/metrics - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } + extensions: + - agenthealth/metrics + - agenthealth/statuscode + - entitystore + pipelines: + metrics/hostOtlpMetrics: + exporters: + - awscloudwatch + processors: + - cumulativetodelta/hostOtlpMetrics + - ec2tagger + receivers: + - otlp/metrics + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/procstat_memory_swap_config.yaml b/translator/tocwconfig/sampleConfig/procstat_memory_swap_config.yaml index cfce7bfa44..4df9b2e012 100644 --- a/translator/tocwconfig/sampleConfig/procstat_memory_swap_config.yaml +++ b/translator/tocwconfig/sampleConfig/procstat_memory_swap_config.yaml @@ -1,61 +1,69 @@ exporters: - awscloudwatch: - force_flush_interval: 1m0s - max_datums_per_call: 1000 - max_values_per_datum: 150 - middleware: agenthealth/metrics - namespace: CWAgent - profile: AmazonCloudWatchAgent - region: us-west-2 - resource_to_telemetry_conversion: - enabled: true - shared_credential_file: fake-path + awscloudwatch: + force_flush_interval: 1m0s + max_datums_per_call: 1000 + max_values_per_datum: 150 + middleware: agenthealth/metrics + namespace: CWAgent + profile: AmazonCloudWatchAgent + region: us-west-2 + resource_to_telemetry_conversion: + enabled: true + shared_credential_file: fake-path extensions: - agenthealth/metrics: - is_usage_data_enabled: true - stats: - operations: - - PutMetricData - usage_flags: - mode: OP - region_type: ACJ - entitystore: - mode: onPremise - profile: AmazonCloudWatchAgent - region: us-west-2 - shared_credential_file: fake-path + agenthealth/metrics: + is_usage_data_enabled: true + stats: + operations: + - PutMetricData + usage_flags: + mode: OP + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: OP + region_type: ACJ + entitystore: + mode: onPremise + profile: AmazonCloudWatchAgent + region: us-west-2 + shared_credential_file: fake-path receivers: - telegraf_procstat/793254176: - alias_name: amazon-cloudwatch-agent - collection_interval: 1m0s - initial_delay: 1s - timeout: 0s + telegraf_procstat/793254176: + alias_name: amazon-cloudwatch-agent + collection_interval: 1m0s + initial_delay: 1s + timeout: 0s service: - extensions: - - agenthealth/metrics - - entitystore - pipelines: - metrics/host: - exporters: - - awscloudwatch - processors: [] - receivers: - - telegraf_procstat/793254176 - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - agenthealth/metrics + - agenthealth/statuscode + - entitystore + pipelines: + metrics/host: + exporters: + - awscloudwatch + processors: [] + receivers: + - telegraf_procstat/793254176 + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/prometheus_combined_config_linux.yaml b/translator/tocwconfig/sampleConfig/prometheus_combined_config_linux.yaml index d76d284a56..b72fa23134 100644 --- a/translator/tocwconfig/sampleConfig/prometheus_combined_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/prometheus_combined_config_linux.yaml @@ -122,13 +122,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ + entitystore: + mode: ec2 + region: us-west-2 sigv4auth: assume_role: sts_region: us-west-2 region: us-west-2 - entitystore: - mode: ec2 - region: us-west-2 processors: batch/prometheus/amp: metadata_cardinality_limit: 1000 @@ -182,6 +189,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - sigv4auth - entitystore pipelines: diff --git a/translator/tocwconfig/sampleConfig/prometheus_config_linux.yaml b/translator/tocwconfig/sampleConfig/prometheus_config_linux.yaml index 3c8253f190..2a6bd82212 100644 --- a/translator/tocwconfig/sampleConfig/prometheus_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/prometheus_config_linux.yaml @@ -77,6 +77,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 @@ -94,6 +101,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: metrics/prometheus/cloudwatchlogs: diff --git a/translator/tocwconfig/sampleConfig/prometheus_config_windows.yaml b/translator/tocwconfig/sampleConfig/prometheus_config_windows.yaml index 3757e69799..45211718b3 100644 --- a/translator/tocwconfig/sampleConfig/prometheus_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/prometheus_config_windows.yaml @@ -59,6 +59,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-east-1 @@ -76,6 +83,7 @@ receivers: service: extensions: - agenthealth/logs + - agenthealth/statuscode - entitystore pipelines: metrics/prometheus/cloudwatchlogs: diff --git a/translator/tocwconfig/sampleConfig/prometheus_otel_config_linux.yaml b/translator/tocwconfig/sampleConfig/prometheus_otel_config_linux.yaml index 901a74315c..3f40632557 100644 --- a/translator/tocwconfig/sampleConfig/prometheus_otel_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/prometheus_otel_config_linux.yaml @@ -45,13 +45,13 @@ exporters: server_name_override: "" write_buffer_size: 524288 extensions: + entitystore: + mode: ec2 + region: us-west-2 sigv4auth: assume_role: sts_region: us-west-2 region: us-west-2 - entitystore: - mode: ec2 - region: us-west-2 processors: batch/prometheus/amp: metadata_cardinality_limit: 1000 diff --git a/translator/tocwconfig/sampleConfig/skip_log_timestamp.yaml b/translator/tocwconfig/sampleConfig/skip_log_timestamp.yaml index df1b94808d..e417a5320a 100644 --- a/translator/tocwconfig/sampleConfig/skip_log_timestamp.yaml +++ b/translator/tocwconfig/sampleConfig/skip_log_timestamp.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/tmp/a.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/tmp/a.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/skip_log_timestamp_default.yaml b/translator/tocwconfig/sampleConfig/skip_log_timestamp_default.yaml index e3327e1d00..11a14c9ad5 100644 --- a/translator/tocwconfig/sampleConfig/skip_log_timestamp_default.yaml +++ b/translator/tocwconfig/sampleConfig/skip_log_timestamp_default.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/skip_log_timestamp_default_windows.yaml b/translator/tocwconfig/sampleConfig/skip_log_timestamp_default_windows.yaml index a01b2785ed..391143c01f 100644 --- a/translator/tocwconfig/sampleConfig/skip_log_timestamp_default_windows.yaml +++ b/translator/tocwconfig/sampleConfig/skip_log_timestamp_default_windows.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/skip_log_timestamp_windows.yaml b/translator/tocwconfig/sampleConfig/skip_log_timestamp_windows.yaml index e3dd15b6ba..d29a89a498 100644 --- a/translator/tocwconfig/sampleConfig/skip_log_timestamp_windows.yaml +++ b/translator/tocwconfig/sampleConfig/skip_log_timestamp_windows.yaml @@ -1,36 +1,36 @@ exporters: - nop: {} + nop: {} extensions: - entitystore: - mode: "ec2" - region: us-west-2 + entitystore: + mode: ec2 + region: us-west-2 receivers: - nop: {} + nop: {} service: - extensions: - - entitystore - pipelines: - metrics/nop: - exporters: - - nop - processors: [] - receivers: - - nop - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - output_paths: - - c:\tmp\am.log - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: { } \ No newline at end of file + extensions: + - entitystore + pipelines: + metrics/nop: + exporters: + - nop + processors: [] + receivers: + - nop + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + output_paths: + - c:\tmp\am.log + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/standard_config_linux.yaml b/translator/tocwconfig/sampleConfig/standard_config_linux.yaml index 99724c7d28..408ac96cc2 100644 --- a/translator/tocwconfig/sampleConfig/standard_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/standard_config_linux.yaml @@ -17,13 +17,20 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/resource: entity_type: Resource - platform: ec2 + platform: ec2 cumulativetodelta/hostDeltaMetrics: exclude: match_type: strict @@ -66,6 +73,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -75,10 +83,10 @@ service: - awsentity/resource - ec2tagger receivers: - - telegraf_cpu - telegraf_disk - telegraf_mem - telegraf_swap + - telegraf_cpu metrics/hostDeltaMetrics: exporters: - awscloudwatch diff --git a/translator/tocwconfig/sampleConfig/standard_config_linux_with_common_config.yaml b/translator/tocwconfig/sampleConfig/standard_config_linux_with_common_config.yaml index 13bac887c2..49bb355dbd 100644 --- a/translator/tocwconfig/sampleConfig/standard_config_linux_with_common_config.yaml +++ b/translator/tocwconfig/sampleConfig/standard_config_linux_with_common_config.yaml @@ -19,6 +19,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 profile: AmazonCloudWatchAgent @@ -73,6 +80,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: diff --git a/translator/tocwconfig/sampleConfig/standard_config_windows.yaml b/translator/tocwconfig/sampleConfig/standard_config_windows.yaml index 8df619d970..338d389f00 100644 --- a/translator/tocwconfig/sampleConfig/standard_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/standard_config_windows.yaml @@ -17,6 +17,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 @@ -61,6 +68,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: diff --git a/translator/tocwconfig/sampleConfig/standard_config_windows_with_common_config.yaml b/translator/tocwconfig/sampleConfig/standard_config_windows_with_common_config.yaml index 2914d1bb74..7f9949532e 100644 --- a/translator/tocwconfig/sampleConfig/standard_config_windows_with_common_config.yaml +++ b/translator/tocwconfig/sampleConfig/standard_config_windows_with_common_config.yaml @@ -19,6 +19,13 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 profile: AmazonCloudWatchAgent @@ -32,9 +39,9 @@ processors: ec2_instance_tag_keys: - AutoScalingGroupName ec2_metadata_tags: - - InstanceType - ImageId - InstanceId + - InstanceType imds_retries: 2 profile: AmazonCloudWatchAgent refresh_interval_seconds: 0s @@ -68,6 +75,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/host: @@ -77,11 +85,11 @@ service: - awsentity/resource - ec2tagger receivers: + - telegraf_win_perf_counters/3610923661 + - telegraf_win_perf_counters/3446270237 - telegraf_win_perf_counters/3762679655 - telegraf_win_perf_counters/4283769065 - telegraf_win_perf_counters/1492679118 - - telegraf_win_perf_counters/3610923661 - - telegraf_win_perf_counters/3446270237 telemetry: logs: development: false diff --git a/translator/tocwconfig/sampleConfig/statsd_config_linux.yaml b/translator/tocwconfig/sampleConfig/statsd_config_linux.yaml index 0034301d02..0457d568e3 100644 --- a/translator/tocwconfig/sampleConfig/statsd_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/statsd_config_linux.yaml @@ -17,14 +17,21 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/service/telegraf: entity_type: Service - scrape_datapoint_attribute: true platform: ec2 + scrape_datapoint_attribute: true receivers: telegraf_statsd: collection_interval: 10s @@ -33,6 +40,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostCustomMetrics: diff --git a/translator/tocwconfig/sampleConfig/statsd_config_windows.yaml b/translator/tocwconfig/sampleConfig/statsd_config_windows.yaml index 6aeeae4dd6..1183351c3a 100644 --- a/translator/tocwconfig/sampleConfig/statsd_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/statsd_config_windows.yaml @@ -17,14 +17,21 @@ extensions: usage_flags: mode: EC2 region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ entitystore: mode: ec2 region: us-west-2 processors: awsentity/service/telegraf: entity_type: Service + platform: ec2 scrape_datapoint_attribute: true - platform: ec2 receivers: telegraf_statsd: collection_interval: 10s @@ -33,6 +40,7 @@ receivers: service: extensions: - agenthealth/metrics + - agenthealth/statuscode - entitystore pipelines: metrics/hostCustomMetrics: diff --git a/translator/tocwconfig/sampleConfig/statsd_ecs_config.yaml b/translator/tocwconfig/sampleConfig/statsd_ecs_config.yaml index 0e0e2da5a1..f4efbd3b82 100644 --- a/translator/tocwconfig/sampleConfig/statsd_ecs_config.yaml +++ b/translator/tocwconfig/sampleConfig/statsd_ecs_config.yaml @@ -1,50 +1,58 @@ exporters: - awscloudwatch: - force_flush_interval: 1m0s - max_datums_per_call: 1000 - max_values_per_datum: 150 - middleware: agenthealth/metrics - namespace: CWAgent - region: us-west-2 - resource_to_telemetry_conversion: - enabled: true + awscloudwatch: + force_flush_interval: 1m0s + max_datums_per_call: 1000 + max_values_per_datum: 150 + middleware: agenthealth/metrics + namespace: CWAgent + region: us-west-2 + resource_to_telemetry_conversion: + enabled: true extensions: - agenthealth/metrics: - is_usage_data_enabled: true - stats: - operations: - - PutMetricData - usage_flags: - mode: EC2 - region_type: ACJ + agenthealth/metrics: + is_usage_data_enabled: true + stats: + operations: + - PutMetricData + usage_flags: + mode: EC2 + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ receivers: - telegraf_statsd: - collection_interval: 10s - initial_delay: 1s - timeout: 0s + telegraf_statsd: + collection_interval: 10s + initial_delay: 1s + timeout: 0s service: - extensions: - - agenthealth/metrics - pipelines: - metrics/hostCustomMetrics: - exporters: - - awscloudwatch - processors: [] - receivers: - - telegraf_statsd - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - agenthealth/metrics + - agenthealth/statuscode + pipelines: + metrics/hostCustomMetrics: + exporters: + - awscloudwatch + processors: [] + receivers: + - telegraf_statsd + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/statsd_eks_config.yaml b/translator/tocwconfig/sampleConfig/statsd_eks_config.yaml index 2ed69a21d4..d8dc31630e 100644 --- a/translator/tocwconfig/sampleConfig/statsd_eks_config.yaml +++ b/translator/tocwconfig/sampleConfig/statsd_eks_config.yaml @@ -1,61 +1,69 @@ exporters: - awscloudwatch: - force_flush_interval: 1m0s - max_datums_per_call: 1000 - max_values_per_datum: 150 - middleware: agenthealth/metrics - namespace: CWAgent - region: us-west-2 - resource_to_telemetry_conversion: - enabled: true + awscloudwatch: + force_flush_interval: 1m0s + max_datums_per_call: 1000 + max_values_per_datum: 150 + middleware: agenthealth/metrics + namespace: CWAgent + region: us-west-2 + resource_to_telemetry_conversion: + enabled: true extensions: - agenthealth/metrics: - is_usage_data_enabled: true - stats: - operations: - - PutMetricData - usage_flags: - mode: EKS - region_type: ACJ - entitystore: - mode: ec2 - region: us-west-2 - kubernetes_mode: EKS - server: - listen_addr: :4311 - tls_ca_path: "/etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt" - tls_cert_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.crt" - tls_key_path: "/etc/amazon-cloudwatch-observability-agent-server-cert/server.key" + agenthealth/metrics: + is_usage_data_enabled: true + stats: + operations: + - PutMetricData + usage_flags: + mode: EKS + region_type: ACJ + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EKS + region_type: ACJ + entitystore: + kubernetes_mode: EKS + mode: ec2 + region: us-west-2 + server: + listen_addr: :4311 + tls_ca_path: /etc/amazon-cloudwatch-observability-agent-client-cert/tls-ca.crt + tls_cert_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.crt + tls_key_path: /etc/amazon-cloudwatch-observability-agent-server-cert/server.key receivers: - telegraf_statsd: - collection_interval: 10s - initial_delay: 1s - timeout: 0s + telegraf_statsd: + collection_interval: 10s + initial_delay: 1s + timeout: 0s service: - extensions: - - agenthealth/metrics - - entitystore - - server - pipelines: - metrics/hostCustomMetrics: - exporters: - - awscloudwatch - processors: [] - receivers: - - telegraf_statsd - telemetry: - logs: - development: false - disable_caller: false - disable_stacktrace: false - encoding: console - level: info - sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s - metrics: - address: "" - level: None - traces: {} + extensions: + - agenthealth/metrics + - agenthealth/statuscode + - entitystore + - server + pipelines: + metrics/hostCustomMetrics: + exporters: + - awscloudwatch + processors: [] + receivers: + - telegraf_statsd + telemetry: + logs: + development: false + disable_caller: false + disable_stacktrace: false + encoding: console + level: info + sampling: + enabled: true + initial: 2 + thereafter: 500 + tick: 10s + metrics: + address: "" + level: None + traces: {} diff --git a/translator/tocwconfig/sampleConfig/trace_config_linux.yaml b/translator/tocwconfig/sampleConfig/trace_config_linux.yaml index 11aceb51c8..b90c7dbdda 100644 --- a/translator/tocwconfig/sampleConfig/trace_config_linux.yaml +++ b/translator/tocwconfig/sampleConfig/trace_config_linux.yaml @@ -22,6 +22,13 @@ exporters: include_metadata: true transit_spans_in_otlp_format: true extensions: + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -84,6 +91,7 @@ receivers: service: extensions: - agenthealth/traces + - agenthealth/statuscode - entitystore pipelines: traces/xray: diff --git a/translator/tocwconfig/sampleConfig/trace_config_windows.yaml b/translator/tocwconfig/sampleConfig/trace_config_windows.yaml index 4ab7efc002..b3cac668b7 100644 --- a/translator/tocwconfig/sampleConfig/trace_config_windows.yaml +++ b/translator/tocwconfig/sampleConfig/trace_config_windows.yaml @@ -22,6 +22,13 @@ exporters: include_metadata: true transit_spans_in_otlp_format: true extensions: + agenthealth/statuscode: + is_status_code_enabled: true + is_usage_data_enabled: true + stats: + usage_flags: + mode: EC2 + region_type: ACJ agenthealth/traces: is_usage_data_enabled: true stats: @@ -84,6 +91,7 @@ receivers: service: extensions: - agenthealth/traces + - agenthealth/statuscode - entitystore pipelines: traces/xray: diff --git a/translator/tocwconfig/sampleConfig/windows_eventlog_only_config.yaml b/translator/tocwconfig/sampleConfig/windows_eventlog_only_config.yaml index 78c680ddcf..391143c01f 100644 --- a/translator/tocwconfig/sampleConfig/windows_eventlog_only_config.yaml +++ b/translator/tocwconfig/sampleConfig/windows_eventlog_only_config.yaml @@ -2,13 +2,13 @@ exporters: nop: {} extensions: entitystore: - mode: "ec2" - region: us-west-2 + mode: ec2 + region: us-west-2 receivers: nop: {} service: extensions: - - entitystore + - entitystore pipelines: metrics/nop: exporters: @@ -24,13 +24,13 @@ service: encoding: console level: info output_paths: - - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log + - c:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log sampling: - enabled: true - initial: 2 - thereafter: 500 - tick: 10s + enabled: true + initial: 2 + thereafter: 500 + tick: 10s metrics: address: "" level: None - traces: { } \ No newline at end of file + traces: {} diff --git a/translator/tocwconfig/tocwconfig_test.go b/translator/tocwconfig/tocwconfig_test.go index 16b5d52928..fb961e4d3f 100644 --- a/translator/tocwconfig/tocwconfig_test.go +++ b/translator/tocwconfig/tocwconfig_test.go @@ -405,6 +405,7 @@ func TestPrometheusConfigwithTargetAllocator(t *testing.T) { checkTranslation(t, "prometheus_config_windows", "windows", nil, "", tokenReplacements) } + func TestOtelPrometheusConfig(t *testing.T) { resetContext(t) context.CurrentContext().SetRunInContainer(true) @@ -824,6 +825,7 @@ func resetContext(t *testing.T) { t.Setenv("ProgramData", "c:\\ProgramData") } + // toml files in the given path will be parsed into the config toml struct and be compared as struct func verifyToTomlTranslation(t *testing.T, input interface{}, desiredTomlPath string, tokenReplacements ...map[string]string) { t.Helper() @@ -875,7 +877,7 @@ func verifyToYamlTranslation(t *testing.T, input interface{}, expectedYamlFilePa yamlStr := toyamlconfig.ToYamlConfig(yamlConfig) require.NoError(t, yaml.Unmarshal([]byte(yamlStr), &actual)) - //assert.NoError(t, os.WriteFile(expectedYamlFilePath, []byte(yamlStr), 0644)) // useful for regenerating YAML + assert.NoError(t, os.WriteFile(expectedYamlFilePath, []byte(yamlStr), 0644)) // useful for regenerating YAML opt := cmpopts.SortSlices(func(x, y interface{}) bool { return pretty.Sprint(x) < pretty.Sprint(y) diff --git a/translator/translate/otel/pipeline/applicationsignals/translator.go b/translator/translate/otel/pipeline/applicationsignals/translator.go index 239823937c..2f8afbd37c 100644 --- a/translator/translate/otel/pipeline/applicationsignals/translator.go +++ b/translator/translate/otel/pipeline/applicationsignals/translator.go @@ -75,9 +75,12 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators translators.Exporters.Set(awsxray.NewTranslatorWithName(common.AppSignals)) translators.Extensions.Set(awsproxy.NewTranslatorWithName(common.AppSignals)) translators.Extensions.Set(agenthealth.NewTranslator(component.DataTypeTraces, []string{agenthealth.OperationPutTraceSegments})) + translators.Extensions.Set(agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)) + } else { translators.Exporters.Set(awsemf.NewTranslatorWithName(common.AppSignals)) translators.Extensions.Set(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents})) + translators.Extensions.Set(agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)) } return translators, nil } diff --git a/translator/translate/otel/pipeline/applicationsignals/translator_test.go b/translator/translate/otel/pipeline/applicationsignals/translator_test.go index a28c93b19e..ae749c20c5 100644 --- a/translator/translate/otel/pipeline/applicationsignals/translator_test.go +++ b/translator/translate/otel/pipeline/applicationsignals/translator_test.go @@ -51,7 +51,7 @@ func TestTranslatorTraces(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"resourcedetection", "awsapplicationsignals"}, exporters: []string{"awsxray/application_signals"}, - extensions: []string{"awsproxy/application_signals", "agenthealth/traces"}, + extensions: []string{"awsproxy/application_signals", "agenthealth/traces", "agenthealth/statuscode"}, }, detector: eksdetector.TestEKSDetector, isEKSCache: eksdetector.TestIsEKSCacheEKS, @@ -68,7 +68,7 @@ func TestTranslatorTraces(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"resourcedetection", "awsapplicationsignals"}, exporters: []string{"awsxray/application_signals"}, - extensions: []string{"awsproxy/application_signals", "agenthealth/traces"}, + extensions: []string{"awsproxy/application_signals", "agenthealth/traces", "agenthealth/statuscode"}, }, detector: eksdetector.TestK8sDetector, isEKSCache: eksdetector.TestIsEKSCacheK8s, @@ -128,7 +128,7 @@ func TestTranslatorMetricsForKubernetes(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"metricstransform/application_signals", "resourcedetection", "awsapplicationsignals", "awsentity/service/application_signals"}, exporters: []string{"awsemf/application_signals"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, detector: eksdetector.TestEKSDetector, isEKSCache: eksdetector.TestIsEKSCacheEKS, @@ -149,7 +149,7 @@ func TestTranslatorMetricsForKubernetes(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"metricstransform/application_signals", "resourcedetection", "awsapplicationsignals", "awsentity/service/application_signals"}, exporters: []string{"debug/application_signals", "awsemf/application_signals"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, detector: eksdetector.TestEKSDetector, isEKSCache: eksdetector.TestIsEKSCacheEKS, @@ -167,7 +167,7 @@ func TestTranslatorMetricsForKubernetes(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"metricstransform/application_signals", "resourcedetection", "awsapplicationsignals", "awsentity/service/application_signals"}, exporters: []string{"awsemf/application_signals"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, detector: eksdetector.TestK8sDetector, isEKSCache: eksdetector.TestIsEKSCacheK8s, @@ -227,7 +227,7 @@ func TestTranslatorMetricsForEC2(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"metricstransform/application_signals", "resourcedetection", "awsapplicationsignals"}, exporters: []string{"awsemf/application_signals"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, detector: eksdetector.TestEKSDetector, isEKSCache: eksdetector.TestIsEKSCacheEKS, @@ -247,7 +247,7 @@ func TestTranslatorMetricsForEC2(t *testing.T) { receivers: []string{"otlp/application_signals"}, processors: []string{"metricstransform/application_signals", "resourcedetection", "awsapplicationsignals"}, exporters: []string{"debug/application_signals", "awsemf/application_signals"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, detector: eksdetector.TestEKSDetector, isEKSCache: eksdetector.TestIsEKSCacheEKS, diff --git a/translator/translate/otel/pipeline/containerinsights/translator.go b/translator/translate/otel/pipeline/containerinsights/translator.go index a69ad9a645..52a0907f41 100644 --- a/translator/translate/otel/pipeline/containerinsights/translator.go +++ b/translator/translate/otel/pipeline/containerinsights/translator.go @@ -61,7 +61,10 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators // create exporter map with default emf exporter based on pipeline name exporters := common.NewTranslatorMap(awsemf.NewTranslatorWithName(t.pipelineName)) // create extensions map based on pipeline name - extensions := common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents})) + extensions := common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents}), + agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true), + ) + // create variable for receivers, use switch block below to assign var receivers common.TranslatorMap[component.Config] diff --git a/translator/translate/otel/pipeline/containerinsights/translator_test.go b/translator/translate/otel/pipeline/containerinsights/translator_test.go index 3fe281a167..6eca5a51c7 100644 --- a/translator/translate/otel/pipeline/containerinsights/translator_test.go +++ b/translator/translate/otel/pipeline/containerinsights/translator_test.go @@ -48,7 +48,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"awscontainerinsightreceiver"}, processors: []string{"batch/containerinsights"}, exporters: []string{"awsemf/containerinsights"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, "WithKubernetesKey": { @@ -64,7 +64,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"awscontainerinsightreceiver"}, processors: []string{"batch/containerinsights"}, exporters: []string{"awsemf/containerinsights"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, } @@ -120,7 +120,7 @@ func TestKueueTranslator(t *testing.T) { "kueueattributes/kueueContainerInsights", }, exporters: []string{"awsemf/kueueContainerInsights"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, } diff --git a/translator/translate/otel/pipeline/containerinsightsjmx/translator.go b/translator/translate/otel/pipeline/containerinsightsjmx/translator.go index e34e30c92e..6c4bda310c 100644 --- a/translator/translate/otel/pipeline/containerinsightsjmx/translator.go +++ b/translator/translate/otel/pipeline/containerinsightsjmx/translator.go @@ -70,6 +70,7 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators ), Extensions: common.NewTranslatorMap( agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents}), + agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true), ), } diff --git a/translator/translate/otel/pipeline/containerinsightsjmx/translator_test.go b/translator/translate/otel/pipeline/containerinsightsjmx/translator_test.go index 72ad074f49..81621cc5df 100644 --- a/translator/translate/otel/pipeline/containerinsightsjmx/translator_test.go +++ b/translator/translate/otel/pipeline/containerinsightsjmx/translator_test.go @@ -52,7 +52,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"otlp/jmx"}, processors: []string{"filter/containerinsightsjmx", "resource/containerinsightsjmx", "transform/containerinsightsjmx", "metricstransform/containerinsightsjmx", "cumulativetodelta/containerinsightsjmx"}, exporters: []string{"awsemf/containerinsightsjmx"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, } diff --git a/translator/translate/otel/pipeline/emf_logs/translator.go b/translator/translate/otel/pipeline/emf_logs/translator.go index bc25ad6eec..c155b8176c 100644 --- a/translator/translate/otel/pipeline/emf_logs/translator.go +++ b/translator/translate/otel/pipeline/emf_logs/translator.go @@ -50,7 +50,9 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators Receivers: common.NewTranslatorMap[component.Config](), Processors: common.NewTranslatorMap(batchprocessor.NewTranslatorWithNameAndSection(common.PipelineNameEmfLogs, common.LogsKey)), // EMF logs sit under metrics_collected in "logs" Exporters: common.NewTranslatorMap(awscloudwatchlogs.NewTranslatorWithName(common.PipelineNameEmfLogs)), - Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents})), + Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents}), + agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true), + ), } if serviceAddress, ok := common.GetString(conf, serviceAddressEMFKey); ok { if strings.Contains(serviceAddress, common.Udp) { diff --git a/translator/translate/otel/pipeline/emf_logs/translator_test.go b/translator/translate/otel/pipeline/emf_logs/translator_test.go index f3efe38b8b..2354ca057e 100644 --- a/translator/translate/otel/pipeline/emf_logs/translator_test.go +++ b/translator/translate/otel/pipeline/emf_logs/translator_test.go @@ -48,7 +48,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"tcplog/emf_logs", "udplog/emf_logs"}, processors: []string{"batch/emf_logs"}, exporters: []string{"awscloudwatchlogs/emf_logs"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, "WithStructuredLogKey": { @@ -64,7 +64,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"tcplog/emf_logs", "udplog/emf_logs"}, processors: []string{"batch/emf_logs"}, exporters: []string{"awscloudwatchlogs/emf_logs"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, "WithUdpServiceAddress": { @@ -82,7 +82,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"udplog/emf_logs"}, processors: []string{"batch/emf_logs"}, exporters: []string{"awscloudwatchlogs/emf_logs"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, "WithTcpServiceAddress": { @@ -100,7 +100,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"tcplog/emf_logs"}, processors: []string{"batch/emf_logs"}, exporters: []string{"awscloudwatchlogs/emf_logs"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, } diff --git a/translator/translate/otel/pipeline/host/translator.go b/translator/translate/otel/pipeline/host/translator.go index 641ed43e93..0422b4165c 100644 --- a/translator/translate/otel/pipeline/host/translator.go +++ b/translator/translate/otel/pipeline/host/translator.go @@ -104,6 +104,7 @@ func (t translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators, case common.DefaultDestination, common.CloudWatchKey: translators.Exporters.Set(awscloudwatch.NewTranslator()) translators.Extensions.Set(agenthealth.NewTranslator(component.DataTypeMetrics, []string{agenthealth.OperationPutMetricData})) + translators.Extensions.Set(agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)) case common.AMPKey: if conf.IsSet(common.MetricsAggregationDimensionsKey) { translators.Processors.Set(rollupprocessor.NewTranslator()) @@ -115,6 +116,7 @@ func (t translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators, translators.Processors.Set(batchprocessor.NewTranslatorWithNameAndSection(t.name, common.LogsKey)) translators.Exporters.Set(awsemf.NewTranslator()) translators.Extensions.Set(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents})) + translators.Extensions.Set(agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)) default: return nil, fmt.Errorf("pipeline (%s) does not support destination (%s) in configuration", t.name, t.Destination()) } diff --git a/translator/translate/otel/pipeline/host/translator_test.go b/translator/translate/otel/pipeline/host/translator_test.go index 85f7f762c2..2fbd2c60be 100644 --- a/translator/translate/otel/pipeline/host/translator_test.go +++ b/translator/translate/otel/pipeline/host/translator_test.go @@ -59,7 +59,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/resource"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithDeltaMetrics": { @@ -77,7 +77,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/resource", "cumulativetodelta/hostDeltaMetrics"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithMetricsKeyStatsD": { @@ -95,7 +95,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/service/telegraf"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithMetricsKeyStatsDContainer": { @@ -114,7 +114,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithMetricDecoration": { @@ -139,7 +139,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/resource", "transform"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithoutMetricDecoration": { @@ -161,7 +161,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/resource"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithAppendDimensions": { @@ -177,7 +177,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"nop", "other"}, processors: []string{"awsentity/resource", "ec2tagger"}, exporters: []string{"awscloudwatch"}, - extensions: []string{"agenthealth/metrics"}, + extensions: []string{"agenthealth/metrics", "agenthealth/statuscode"}, }, }, "WithPRWExporter/Aggregation": { diff --git a/translator/translate/otel/pipeline/jmx/translator.go b/translator/translate/otel/pipeline/jmx/translator.go index 1a9f608b35..5de029e533 100644 --- a/translator/translate/otel/pipeline/jmx/translator.go +++ b/translator/translate/otel/pipeline/jmx/translator.go @@ -113,7 +113,7 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators case common.DefaultDestination, common.CloudWatchKey: translators.Processors.Set(cumulativetodeltaprocessor.NewTranslator(common.WithName(common.PipelineNameJmx), cumulativetodeltaprocessor.WithConfigKeys(common.JmxConfigKey))) translators.Exporters.Set(awscloudwatch.NewTranslator()) - translators.Extensions.Set(agenthealth.NewTranslator(component.DataTypeMetrics, []string{agenthealth.OperationPutMetricData})) + translators.Extensions.Set(agenthealth.NewTranslatorWithStatusCode(component.DataTypeMetrics, []string{agenthealth.OperationPutMetricData}, true)) case common.AMPKey: translators.Processors.Set(batchprocessor.NewTranslatorWithNameAndSection(t.name, common.MetricsKey)) if conf.IsSet(common.MetricsAggregationDimensionsKey) { diff --git a/translator/translate/otel/pipeline/prometheus/translator.go b/translator/translate/otel/pipeline/prometheus/translator.go index 47f34c5d62..a83f777faa 100644 --- a/translator/translate/otel/pipeline/prometheus/translator.go +++ b/translator/translate/otel/pipeline/prometheus/translator.go @@ -70,8 +70,9 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators Processors: common.NewTranslatorMap( batchprocessor.NewTranslatorWithNameAndSection(t.name, common.LogsKey), // prometheus sits under metrics_collected in "logs" ), - Exporters: common.NewTranslatorMap(awsemf.NewTranslatorWithName(common.PipelineNamePrometheus)), - Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents})), + Exporters: common.NewTranslatorMap(awsemf.NewTranslatorWithName(common.PipelineNamePrometheus)), + Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeLogs, []string{agenthealth.OperationPutLogEvents}), + agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)), }, nil case common.AMPKey: if !conf.IsSet(MetricsKey) { diff --git a/translator/translate/otel/pipeline/prometheus/translator_test.go b/translator/translate/otel/pipeline/prometheus/translator_test.go index bad9e1bd42..2b04cb4467 100644 --- a/translator/translate/otel/pipeline/prometheus/translator_test.go +++ b/translator/translate/otel/pipeline/prometheus/translator_test.go @@ -84,7 +84,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"telegraf_prometheus"}, processors: []string{"batch/prometheus/cloudwatchlogs"}, exporters: []string{"awsemf/prometheus"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, "WithValidAMP": { @@ -125,7 +125,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"telegraf_prometheus"}, processors: []string{"batch/prometheus/cloudwatchlogs"}, exporters: []string{"awsemf/prometheus"}, - extensions: []string{"agenthealth/logs"}, + extensions: []string{"agenthealth/logs", "agenthealth/statuscode"}, }, }, } diff --git a/translator/translate/otel/pipeline/xray/translator.go b/translator/translate/otel/pipeline/xray/translator.go index b2866e0a90..1da9220e51 100644 --- a/translator/translate/otel/pipeline/xray/translator.go +++ b/translator/translate/otel/pipeline/xray/translator.go @@ -48,7 +48,8 @@ func (t *translator) Translate(conf *confmap.Conf) (*common.ComponentTranslators Receivers: common.NewTranslatorMap[component.Config](), Processors: common.NewTranslatorMap(processor.NewDefaultTranslatorWithName(pipelineName, batchprocessor.NewFactory())), Exporters: common.NewTranslatorMap(awsxrayexporter.NewTranslator()), - Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeTraces, []string{agenthealth.OperationPutTraceSegments})), + Extensions: common.NewTranslatorMap(agenthealth.NewTranslator(component.DataTypeTraces, []string{agenthealth.OperationPutTraceSegments}), + agenthealth.NewTranslatorWithStatusCode(component.MustNewType("statuscode"), nil, true)), } if conf.IsSet(xrayKey) { translators.Receivers.Set(awsxrayreceiver.NewTranslator()) diff --git a/translator/translate/otel/pipeline/xray/translator_test.go b/translator/translate/otel/pipeline/xray/translator_test.go index 888c7c1775..75a3e62825 100644 --- a/translator/translate/otel/pipeline/xray/translator_test.go +++ b/translator/translate/otel/pipeline/xray/translator_test.go @@ -46,7 +46,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"awsxray"}, processors: []string{"batch/xray"}, exporters: []string{"awsxray"}, - extensions: []string{"agenthealth/traces"}, + extensions: []string{"agenthealth/traces", "agenthealth/statuscode"}, }, }, "WithOtlpKey": { @@ -61,7 +61,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"otlp/traces"}, processors: []string{"batch/xray"}, exporters: []string{"awsxray"}, - extensions: []string{"agenthealth/traces"}, + extensions: []string{"agenthealth/traces", "agenthealth/statuscode"}, }, }, "WithXrayAndOtlpKey": { @@ -77,7 +77,7 @@ func TestTranslator(t *testing.T) { receivers: []string{"awsxray", "otlp/traces"}, processors: []string{"batch/xray"}, exporters: []string{"awsxray"}, - extensions: []string{"agenthealth/traces"}, + extensions: []string{"agenthealth/traces", "agenthealth/statuscode"}, }, }, } diff --git a/translator/translate/otel/processor/ec2taggerprocessor/translator.go b/translator/translate/otel/processor/ec2taggerprocessor/translator.go index 4f8fa3a72f..06a5e1cf02 100644 --- a/translator/translate/otel/processor/ec2taggerprocessor/translator.go +++ b/translator/translate/otel/processor/ec2taggerprocessor/translator.go @@ -63,6 +63,7 @@ func (t *translator) Translate(conf *confmap.Conf) (component.Config, error) { cfg.DiskDeviceTagKey = "device" } + //cfg.MiddlewareID = &agenthealth.StatusCodeID cfg.RefreshIntervalSeconds = time.Duration(0) cfg.IMDSRetries = retryer.GetDefaultRetryNumber() diff --git a/translator/translate/otel/processor/resourcedetection/translator.go b/translator/translate/otel/processor/resourcedetection/translator.go index 454e59ed79..5113d8de24 100644 --- a/translator/translate/otel/processor/resourcedetection/translator.go +++ b/translator/translate/otel/processor/resourcedetection/translator.go @@ -63,7 +63,10 @@ func (t *translator) ID() component.ID { func (t *translator) Translate(conf *confmap.Conf) (component.Config, error) { cfg := t.factory.CreateDefaultConfig().(*resourcedetectionprocessor.Config) - + // > [!WARNING] + // > Only uncomment the following line when this PR is merged: https://github.com/amazon-contributing/opentelemetry-collector-contrib/pull/265 + // > cfg.MiddlewareID = &agenthealth.StatusCodeID + // > This will be added when contrib changes are made. mode := context.CurrentContext().KubernetesMode() if mode == "" { mode = context.CurrentContext().Mode() @@ -80,4 +83,8 @@ func (t *translator) Translate(conf *confmap.Conf) (component.Config, error) { default: return common.GetYamlFileToYamlConfig(cfg, appSignalsDefaultResourceDetectionConfig) } + // > [!WARNING] + // > Only uncomment the following line when this PR is merged: https://github.com/amazon-contributing/opentelemetry-collector-contrib/pull/265 + // > cfg.MiddlewareID = &agenthealth.StatusCodeID + // > This will be added when contrib changes are made. } diff --git a/translator/translate/otel/receiver/awscontainerinsight/translator.go b/translator/translate/otel/receiver/awscontainerinsight/translator.go index 193fdbe87b..88f50d249f 100644 --- a/translator/translate/otel/receiver/awscontainerinsight/translator.go +++ b/translator/translate/otel/receiver/awscontainerinsight/translator.go @@ -120,6 +120,11 @@ func (t *translator) Translate(conf *confmap.Conf) (component.Config, error) { cfg.RunOnSystemd = !context.CurrentContext().RunInContainer() } + // > [!WARNING] + // > Only uncomment the following line when this PR is merged: https://github.com/amazon-contributing/opentelemetry-collector-contrib/pull/265 + // > cfg.MiddlewareID = &agenthealth.StatusCodeID + // > This will be added when contrib changes are made. + cfg.PrefFullPodName = cfg.PrefFullPodName || common.GetOrDefaultBool(conf, common.ConfigKey(common.LogsKey, common.MetricsCollectedKey, common.KubernetesKey, common.PreferFullPodName), false) cfg.EnableAcceleratedComputeMetrics = cfg.EnableAcceleratedComputeMetrics || AcceleratedComputeMetricsEnabled(conf)