Skip to content
5 changes: 5 additions & 0 deletions packages/aws/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# newer versions go on top
- version: "2.24.0"
changes:
- description: Add dot_expander processor into metrics ingest pipeline.
type: enhancement
link: https://github.com/elastic/integrations/pull/10683
- version: "2.23.0"
changes:
- description: Split the current AWS ELB dashboard into 3 separate dashboards, each focusing on a specific type of load balancer ELB, ALB, and NLB.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
---
description: "Pipeline for AWS Billing"
processors:
- dot_expander:
field: "*"
ignore_failure: true
- set:
field: cloud.account.name
copy_from: cloud.account.id
override: false
ignore_empty_value: true
- fingerprint:
fields: ["aws.billing.group_by"]
target_field: 'aws.billing.group_by.fingerprint'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
description: "Pipeline for DynamoDB metrics"

processors:
- dot_expander:
field: "*"
ignore_failure: true
- set:
field: cloud.account.name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below is the extract from the sample events and here cloud.account.name and cloud.account.id are completely different values.

So, why are we copying it here?

         "cloud": {
                "account": {
                    "id": "627286350134",
                    "name": "MonitoringAccount"
                },

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we seeing a situation when we have cloud.account.id available but not cloud.account.name?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@agithomas Yes! The account name is only available for metrics from elastic-agent/metricbeat. When metrics are collected from firehose, this field will always be empty which breaks the dashboards. This copy should only happen when account name is not available and should not overwrite.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@agithomas I also added the set processor for cloud.account.name into aws_bedrock as you preferred. Thanks!

copy_from: cloud.account.id
override: false
ignore_empty_value: true
on_failure:
- set:
field: 'error.message'
value: '{{ _ingest.on_failure_message }}'
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
{
"events": [
{
"@timestamp": "2024-08-06T22:00:00.000Z",
"aws": {
"cloudwatch": {
"namespace": "AWS/EC2"
},
"dimensions": {
"InstanceId": "i-006d0b31a9f91d631"
},
"ec2": {
"instance": {
"core": {
"count": 2
},
"image": {
"id": "ami-03378d7af46c58f4c"
},
"monitoring": {
"state": "disabled"
},
"private": {
"dns_name": "ip-192-168-89-166.us-west-1.compute.internal",
"ip": "192.168.89.166"
},
"public": {
"dns_name": ""
},
"state": {
"code": 16,
"name": "running"
},
"threads_per_core": 2
},
"metrics": {
"CPUCreditBalance": {
"avg": 0
},
"CPUCreditUsage": {
"avg": 7
},
"CPUSurplusCreditBalance": {
"avg": 2303
},
"CPUSurplusCreditsCharged": {
"avg": 0
},
"CPUUtilization": {
"avg": 42
},
"NetworkIn": {
"rate": 264934,
"sum": 79480460
},
"NetworkOut": {
"rate": 22565,
"sum": 6769654
},
"NetworkPacketsIn": {
"rate": 79,
"sum": 23747
},
"NetworkPacketsOut": {
"rate": 65,
"sum": 19516
},
"StatusCheckFailed": {
"avg": 0
},
"StatusCheckFailed_Instance": {
"avg": 0
},
"StatusCheckFailed_System": {
"avg": 0
}
}
},
"tags": {
"Name": "eks-obs-otel-demo-ng-2",
"aws:autoscaling:groupName": "eks-obs-otel-demo-ng-12c5a254-b280-1e48-35ff-1425abda72cf",
"aws:ec2:fleet-id": "fleet-9585078e-96b7-c916-0432-8428c5491787",
"aws:ec2launchtemplate:id": "lt-0505b33c1cff57ca8",
"aws:ec2launchtemplate:version": "1",
"aws:eks:cluster-name": "obs-otel-demo",
"division": "marketing",
"eks:cluster-name": "obs-otel-demo",
"eks:nodegroup-name": "obs-otel-demo-ng",
"k8s_io/cluster-autoscaler/enabled": "true",
"k8s_io/cluster-autoscaler/obs-otel-demo": "owned",
"kubernetes_io/cluster/obs-otel-demo": "owned",
"org": "obs",
"project": "aws-infra-env",
"team": "pmm"
}
},
"cloud": {
"account": {
"id": "627286350134",
"name": "MonitoringAccount"
},
"availability_zone": "us-west-1a",
"instance": {
"id": "i-006d0b31a9f91d631",
"name": "eks-obs-otel-demo-ng-2"
},
"machine": {
"type": "t3.xlarge"
},
"provider": "aws",
"region": "us-west-1"
},
"data_stream": {
"dataset": "aws.ec2_metrics",
"namespace": "default",
"type": "metrics"
},
"ecs": {
"version": "8.0.0"
},
"elastic_agent": {
"id": "ed7d17c0-6cfe-46c6-b342-3972f1767bf9",
"snapshot": false,
"version": "8.14.0"
},
"event": {
"agent_id_status": "verified",
"dataset": "aws.ec2_metrics",
"duration": 28201123846,
"ingested": "2024-08-06T22:16:22Z",
"module": "aws"
},
"host": {
"architecture": "aarch64",
"containerized": false,
"cpu": {
"usage": 0.421
},
"hostname": "docker-fleet-agent",
"id": "5fc8920aefde4bfab8571da89c1e8835",
"name": "docker-fleet-agent",
"network": {
"egress": {
"bytes": 6769654,
"packets": 19516
},
"ingress": {
"bytes": 79480460,
"packets": 23747
}
},
"os": {
"codename": "focal",
"family": "debian",
"kernel": "6.10.0-linuxkit",
"name": "Ubuntu",
"platform": "ubuntu",
"type": "linux",
"version": "20.04.6 LTS (Focal Fossa)"
}
},
"metricset": {
"name": "cloudwatch",
"period": 300000
},
"service": {
"type": "aws"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
{
"expected": [
{
"@timestamp": "2024-08-06T22:00:00.000Z",
"aws": {
"cloudwatch": {
"namespace": "AWS/EC2"
},
"dimensions": {
"InstanceId": "i-006d0b31a9f91d631"
},
"ec2": {
"instance": {
"core": {
"count": 2
},
"image": {
"id": "ami-03378d7af46c58f4c"
},
"monitoring": {
"state": "disabled"
},
"private": {
"dns_name": "ip-192-168-89-166.us-west-1.compute.internal",
"ip": "192.168.89.166"
},
"public": {
"dns_name": ""
},
"state": {
"code": 16,
"name": "running"
},
"threads_per_core": 2
},
"metrics": {
"CPUCreditBalance": {
"avg": 0
},
"CPUCreditUsage": {
"avg": 7
},
"CPUSurplusCreditBalance": {
"avg": 2303
},
"CPUSurplusCreditsCharged": {
"avg": 0
},
"CPUUtilization": {
"avg": 42
},
"NetworkIn": {
"rate": 264934,
"sum": 79480460
},
"NetworkOut": {
"rate": 22565,
"sum": 6769654
},
"NetworkPacketsIn": {
"rate": 79,
"sum": 23747
},
"NetworkPacketsOut": {
"rate": 65,
"sum": 19516
},
"StatusCheckFailed": {
"avg": 0
},
"StatusCheckFailed_Instance": {
"avg": 0
},
"StatusCheckFailed_System": {
"avg": 0
}
}
},
"tags": {
"Name": "eks-obs-otel-demo-ng-2",
"aws:autoscaling:groupName": "eks-obs-otel-demo-ng-12c5a254-b280-1e48-35ff-1425abda72cf",
"aws:ec2:fleet-id": "fleet-9585078e-96b7-c916-0432-8428c5491787",
"aws:ec2launchtemplate:id": "lt-0505b33c1cff57ca8",
"aws:ec2launchtemplate:version": "1",
"aws:eks:cluster-name": "obs-otel-demo",
"division": "marketing",
"eks:cluster-name": "obs-otel-demo",
"eks:nodegroup-name": "obs-otel-demo-ng",
"k8s_io/cluster-autoscaler/enabled": "true",
"k8s_io/cluster-autoscaler/obs-otel-demo": "owned",
"kubernetes_io/cluster/obs-otel-demo": "owned",
"org": "obs",
"project": "aws-infra-env",
"team": "pmm"
}
},
"cloud": {
"account": {
"id": "627286350134",
"name": "MonitoringAccount"
},
"availability_zone": "us-west-1a",
"instance": {
"id": "i-006d0b31a9f91d631",
"name": "eks-obs-otel-demo-ng-2"
},
"machine": {
"type": "t3.xlarge"
},
"provider": "aws",
"region": "us-west-1"
},
"data_stream": {
"dataset": "aws.ec2_metrics",
"namespace": "default",
"type": "metrics"
},
"ecs": {
"version": "8.0.0"
},
"elastic_agent": {
"id": "ed7d17c0-6cfe-46c6-b342-3972f1767bf9",
"snapshot": false,
"version": "8.14.0"
},
"event": {
"agent_id_status": "verified",
"dataset": "aws.ec2_metrics",
"duration": 28201123846,
"ingested": "2024-08-06T22:16:22Z",
"module": "aws"
},
"host": {
"architecture": "aarch64",
"containerized": false,
"cpu": {
"usage": 0.421
},
"hostname": "docker-fleet-agent",
"id": "5fc8920aefde4bfab8571da89c1e8835",
"name": "docker-fleet-agent",
"network": {
"egress": {
"bytes": 6769654,
"packets": 19516
},
"ingress": {
"bytes": 79480460,
"packets": 23747
}
},
"os": {
"codename": "focal",
"family": "debian",
"kernel": "6.10.0-linuxkit",
"name": "Ubuntu",
"platform": "ubuntu",
"type": "linux",
"version": "20.04.6 LTS (Focal Fossa)"
}
},
"metricset": {
"name": "cloudwatch",
"period": 300000
},
"service": {
"type": "aws"
}
}
]
}
Loading