AWS 模块编辑

此模块使用 GetMetricData API 定期从 AWS CloudWatch 中获取 AWS 服务的监控指标。

默认情况下,所有指标都已启用。

此模块将生成 CloudWatch API 请求的额外 AWS 费用。有关更多详细信息,请参阅 AWS API 请求

模块特定配置说明编辑

  • AWS 凭据

为了进行 AWS API 调用,aws 模块需要 AWS 凭据配置。用户可以使用 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 和/或 AWS_SESSION_TOKEN,或者使用共享的 AWS 凭据文件。有关更多详细信息,请参阅 AWS 凭据选项

如果您使用 AWS CloudWatch 跨账户可观察性,则应在此处使用监控账户的凭据,Metricbeat 将从监控账户和关联的源账户收集所有指标。

  • 区域

此模块还接受可选配置 regions 来指定要从中查询指标的 AWS 区域。如果配置文件中未设置 regions 参数,则默认情况下,aws 模块将从所有可用的 AWS 区域查询指标。如果指定了 endpoint,则 regions 成为必需的配置参数。

  • 延迟

某些 AWS 服务将监控指标发送到 CloudWatch,处理延迟时间大于 Metricbeat 收集周期。这将导致数据点丢失或无法被 Metricbeat 收集。在这种情况下,请指定 latency 参数,以便将收集开始时间和结束时间偏移给定的延迟量。

  • 数据粒度

AWS CloudWatch 允许通过在查询指标时设置“Period”来定义返回数据点的粒度。有关更多信息,请参阅 MetricDataQuery 参数

默认情况下,metricbeat 将设置“Period”为 Metricbeat 收集周期查询 CloudWatch。如果您希望为“Period”设置自定义值,请指定 data_granularity 参数。通过同时设置 perioddata_granularity,您可以分别控制希望指标收集的频率以及指标的粒度。

如果您担心通过 Metricbeat 发出的 CloudWatch API 调用带来的额外延迟会降低获取指标的成本,您可能需要考虑设置 data_granularity 并增加 Metricbeat 收集周期。例如,将 data_granularity 设置为 period 的当前值,并将 period 的值加倍,可能会导致 GetMetricData API 调用成本节省 50%。

  • 端点

大多数 AWS 服务提供可以用来发出请求的区域端点。区域端点的通用语法是 protocol://service-code.region-code.endpoint-code。一些服务,例如 IAM,不支持区域。这些服务的端点不包含区域。在 aws 模块中,endpoint 配置用于设置 endpoint-code 部分,例如 amazonaws.comamazonaws.com.cnc2s.ic.govsc2s.sgov.gov

如果指定了端点,则 regions 配置成为必需的。

  • include_linked_accounts

使用 include_linked_accounts 参数来启用从链接到主监控账户的不同账户中包含指标。通过将此参数设置为 true,用户可以从通过 CloudWatch 跨账户可观察性 链接的多个 AWS 账户收集指标。默认情况下,include_linked_accounts 参数设置为 true,这意味着只收集来自主监控账户和所有关联账户的指标。当设置为 false 时,该参数允许 CloudWatch 服务仅检索来自监控账户的指标。

注意: 用户应确保正确设置必要的 IAM 角色和策略,以便将监控账户和源账户链接在一起。有关更多详细信息,请参阅 将监控账户链接到源账户

  • tags_filter

要过滤的标签。如果配置中给出了标签,则只收集来自标签键和标签值与过滤器匹配的资源的指标。例如,如果标签参数在 AWS/ELB 命名空间下给出为 Organization=Engineering,则只收集来自具有标签名称等于 Organization 且标签值等于 Engineering 的 ELB 的指标。为了过滤同一键的不同值,请将值添加到值数组中(请参阅示例)。

注意:标签过滤仅适用于在指标集特定配置中指定了 resource_type 的指标集。

- module: aws
  period: 5m
  endpoint: amazonaws.com.cn
  regions: cn-north-1
  metricsets:
    - ec2
  tags_filter:
    - key: "Organization"
      value: ["Engineering", "Product"]
  • fips_enabled

强制使用 FIPS 服务端点。有关更多信息,请参阅 AWS 凭据选项

- module: aws
  period: 5m
  fips_enabled: true
  regions:
    - us-east-1
    - us-east-2
    - us-west-1
    - us-west-2
  metricsets:
    - ec2

aws 模块附带一个预定义的仪表板。例如

metricbeat aws overview

指标集编辑

目前,我们在 aws 模块中具有 billingcloudwatchdynamodbebsec2elbkinesis lambdamtestnatgatewayrdss3_daily_storages3_requestsnssqstransitgatewayusagevpn 指标集。

billing编辑

计费指标数据包括 AWS 账户中每个服务的估计费用以及 AWS 账户的估计总费用。估计费用每天计算并发送到 CloudWatch 多次。因此,aws 模块配置中的 period 设置为 12h

计费指标集附带一个预定义的仪表板

metricbeat aws billing overview

cloudwatch编辑

此指标集允许用户使用任何给定的命名空间或特定实例以及给定的周期查询 AWS CloudWatch 中的指标。请参阅 发布 CloudWatch 指标的 AWS 服务,以获取发布指标到 CloudWatch 的 AWS 服务列表。

dynamodb编辑

DynamoDB 定期将指标发送到 CloudWatch,以更好地监控 Web 应用程序或服务的性能。

dynamodb 指标集附带一个预定义的仪表板

metricbeat aws dynamodb overview

ebs编辑

对于 AWS EBS 卷中的基本监控,数据以 5 分钟为间隔自动提供,免费。这包括 EBS 支持实例的根设备卷的数据。用户还可以为预置 IOPS SSD (io1) 卷启用详细监控,以便自动将 1 分钟指标发送到 CloudWatch。aws 模块配置中的默认周期对于 ebs 指标集设置为 5m

ebs 指标集附带一个预定义的仪表板

metricbeat aws ebs overview

ec2编辑

默认情况下,Amazon EC2 每 5 分钟将指标数据发送到 CloudWatch。对于此基本监控,aws 模块配置中的 period 应大于或等于 300s。如果将 period 设置为小于 300s,则将多次收集相同的 cloudwatch 指标,这会导致额外费用,而不会获得更细粒度的指标。例如,在 US East (N. Virginia) 区域中,使用 GetMetricData 请求的每 1000 个指标将花费 0.01 美元。有关更多详细信息,请参阅 AWS CloudWatch 定价。为了避免不必要的费用,建议将 period 设置为 300s300s 的倍数,例如 600s900s。对于更细粒度的监控数据,您可以在实例上启用详细监控,以便每分钟获取指标。请参阅 启用详细监控,了解有关如何启用详细监控的说明。启用详细监控后,aws 模块配置中的 period 可以是大于 60s 的任何数字。由于 AWS 每分钟将指标数据发送到 CloudWatch,因此将 metricbeat 模块 period 设置为小于 60s 会导致额外的 API 请求,这意味着 AWS 上会产生额外的费用。为了避免不必要的费用,建议将 period 设置为 60s60s 的倍数,例如 120s180s

ec2 指标集附带一个预定义的仪表板

metricbeat aws ec2 overview

elb编辑

elb 指标集从经典负载均衡器、应用程序负载均衡器和网络负载均衡器收集 CloudWatch 指标。

只有当请求流经负载均衡器时,三种类型的弹性负载均衡才会将指标报告到 Cloudwatch。如果有请求流经负载均衡器,弹性负载均衡将在 60 秒的间隔内测量并发送其指标。如果没有请求流经负载均衡器,或者某个指标没有数据,则该指标不会被报告。因此,aws 模块配置中的 period 设置为 1m

elb 指标集附带一个预定义的仪表板

metricbeat aws elb overview

lambda编辑

当调用完成时,Lambda 会将一组指标发送到 CloudWatch 以进行该调用。aws 模块配置中的默认周期对于 lambda 指标集设置为 5m。lambda 指标集附带一个预定义的仪表板

metricbeat aws lambda overview

natgatewayedit

CloudWatch 收集来自 NAT 网关的信息并创建可读的近实时指标。此指标集使用户能够从 CloudWatch 收集这些指标以监控和排查其 NAT 网关。NAT 网关指标数据以 1 分钟间隔提供,因此,建议将 natgateway 指标集的 period 设置为 1m1m 的倍数。

rdsedit

建议将 rds 指标集的 period 设置为 60s60s 的倍数,因为 Amazon RDS 每分钟将指标和维度发送到 Amazon CloudWatch。

rds 指标集附带一个预定义的仪表板

metricbeat aws rds overview

s3_daily_storageedit

S3 存储桶的每日存储指标每天报告一次,无需额外费用。由于它们是每日指标,因此建议将 s3_daily_storage 指标集的 period 设置为 86400s86400s 的倍数。

s3_requestedit

请求指标以 1 分钟间隔提供,需要额外收费。s3_request 指标集将提供更细粒度的跟踪 S3 存储桶使用情况的数据。可以将 s3_request 指标集的 period 设置为 60s60s 的倍数。但由于查询这些指标需要额外收费,因此建议将 period 设置为 86400s。用户始终可以将其调整到他们想要的粒度。默认情况下,S3 存储桶未启用请求指标。请参阅 如何为 S3 配置请求指标,了解有关如何为每个 S3 存储桶启用请求指标的说明。

s3_daily_storage 和 s3_request 指标集附带一个预定义的组合仪表板

metricbeat aws s3 overview

sqsedit

Amazon SQS 队列的 CloudWatch 指标会自动收集并每 5 分钟推送到 CloudWatch,因此建议将 sqs 指标集的 period 设置为 300s300s 的倍数。

sqs 指标集附带一个预定义的仪表板

metricbeat aws sqs overview

transitgatewayedit

Amazon VPC 仅在请求流经传输网关时向 CloudWatch 报告指标。如果请求流经传输网关,Amazon VPC 会测量并以 60 秒间隔发送其指标。建议将 transitgateway 指标集的 period 设置为 1m1m 的倍数。

usageedit

CloudWatch 收集跟踪某些 AWS 资源用量的指标。这些指标对应于 AWS 服务配额。跟踪这些指标有助于主动管理配额。服务配额使用指标位于 AWS/Usage 命名空间中,每分钟收集一次。因此,aws 模块配置中使用指标集的 period 设置为 1m

使用指标集附带一个预定义的仪表板

metricbeat aws usage overview

vpnedit

CloudWatch 从 VPN 服务收集和处理原始数据,将其转换为可读的近实时指标,使用户能够更好地了解其 Web 应用程序和服务的性能。

AWS API 请求计数edit

本节介绍 aws 模块中每个指标集调用的 AWS API。这将有助于用户估计使用 aws 模块的成本。

注意:某些 AWS API 需要分页,例如 ListMetrics 和 GetMetricData。计数值取决于结果数。

ListMetrics 最大页面大小:500,基于 AWS API ListMetrics

GetMetricData 最大页面大小:100,基于 AWS API GetMetricData

AWS API 名称

AWS API 计数

频率

IAM ListAccountAliases

1

启动时执行一次

STS GetCallerIdentity

1

启动时执行一次

EC2 DescribeRegions

1

启动时执行一次

CloudWatch ListMetrics

总结果数 / ListMetrics 最大页面大小

每个区域每个收集周期

CloudWatch GetMetricData

总结果数 / GetMetricData 最大页面大小

每个区域每个命名空间每个收集周期

billingebselbsnsusagelambdacloudwatch 指标集相同。

AWS 凭据配置edit

要配置 AWS 凭据,请将凭据放入 Metricbeat 配置中,或使用共享凭据文件,如下面的示例所示。

配置参数edit

  • access_key_id: 访问密钥的第一部分。
  • secret_access_key: 访问密钥的第二部分。
  • session_token: 使用临时安全凭据时需要。
  • credential_profile_name: 共享凭据文件中的配置文件名称。
  • shared_credential_file: 共享凭据文件的目录。
  • role_arn: 要假设的 AWS IAM 角色。
  • external_id: 在另一个帐户中假设角色时使用的外部 ID,请参阅 AWS 文档以了解外部 ID 的使用情况
  • proxy_url: 用于连接到 AWS Web 服务的代理的 URL。语法为 http(s)://<IP/Hostname>:<port>
  • fips_enabled: 启用此选项会指示 Metricbeat 使用服务的 FIPS 端点。Metricbeat 使用的所有服务都与 FIPS 兼容,除了 tagging,但只有某些区域与 FIPS 兼容。请参阅 https://aws.amazon.com/compliance/fips/ 或相应的服务页面,https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html,了解 FIPS 端点和区域的完整列表。
  • ssl: 指定 SSL/TLS 配置。如果缺少 ssl 部分,将使用主机 CA 用于 HTTPS 连接。有关更多信息,请参阅 SSL
  • default_region: 如果未设置其他区域,则查询的默认区域。大多数 AWS 服务提供区域端点,可用于发出请求。某些服务(如 IAM)不支持区域。如果未通过任何其他方式(环境变量、凭据或实例配置文件)提供区域,将使用此处设置的值。
  • assume_role.duration: 请求的假设角色会话的持续时间。如果未设置,则默认为 15m。AWS 允许的最大会话持续时间介于 1 小时和 12 小时之间,具体取决于您的最大会话持续时间策略。
  • assume_role.expiry_window: expiry_window 将允许在会话过期之前刷新会话。这有助于防止过期的令牌导致请求因 ExpiredTokenException 错误而失败。

支持的格式edit

本节中的示例指的是 Metricbeat,但无论使用哪种 Beat,用于对 AWS 进行身份验证的凭据选项都相同。

  • 使用 access_key_idsecret_access_key 和/或 session_token

用户可以将凭据放入 Metricbeat 模块配置中,也可以使用环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 和/或 AWS_SESSION_TOKEN

如果在 Docker 上运行,则应将这些环境变量作为 docker 命令的一部分添加。例如,使用 Metricbeat

$ docker run -e AWS_ACCESS_KEY_ID=abcd -e AWS_SECRET_ACCESS_KEY=abcd -d --name=metricbeat --user=root --volume="$(pwd)/metricbeat.aws.yml:/usr/share/metricbeat/metricbeat.yml:ro" docker.elastic.co/beats/metricbeat:7.11.1 metricbeat -e -E cloud.auth=elastic:1234 -E cloud.id=test-aws:1234

示例 metricbeat.aws.yml 如下所示

metricbeat.modules:
- module: aws
  period: 5m
  access_key_id: ${AWS_ACCESS_KEY_ID}
  secret_access_key: ${AWS_SECRET_ACCESS_KEY}
  session_token: ${AWS_SESSION_TOKEN}
  metricsets:
    - ec2

也可以通过文件添加环境变量。例如

$ cat env.list
AWS_ACCESS_KEY_ID=abcd
AWS_SECRET_ACCESS_KEY=abcd

$ docker run --env-file env.list -d --name=metricbeat --user=root --volume="$(pwd)/metricbeat.aws.yml:/usr/share/metricbeat/metricbeat.yml:ro" docker.elastic.co/beats/metricbeat:7.11.1 metricbeat -e -E cloud.auth=elastic:1234 -E cloud.id=test-aws:1234
  • 使用 credential_profile_name 和/或 shared_credential_file

如果未提供 access_key_idsecret_access_keyrole_arn,则 metricbeat 将检查 credential_profile_name。如果您对不同的工具或应用程序使用不同的凭据,则可以使用配置文件在同一个配置文件中配置多个访问密钥。如果未提供 credential_profile_name,则将使用默认配置文件。

shared_credential_file 可选,用于指定共享凭据文件的目录。如果为空,将使用默认目录。在 Windows 中,共享凭据文件位于 C:\Users\<yourUserName>\.aws\credentials。对于 Linux、macOS 或 Unix,该文件位于 ~/.aws/credentials。以服务身份运行时,主路径取决于管理服务的用户的身份,因此可以使用 shared_credential_file 参数来避免歧义。有关更多详细信息,请参阅 创建共享凭据文件

  • 使用 role_arn

role_arn 用于指定要假设的 AWS IAM 角色,以生成临时凭据。如果提供了 role_arn,metricbeat 将检查是否提供了访问密钥。如果没有,metricbeat 将检查凭据配置文件名称。如果两者都没有提供,将使用默认凭据配置文件。请确保凭据是在凭据配置文件或访问密钥下提供的。

如果在 Docker 上运行,则需要通过卷挂载提供凭据文件。例如,使用 Metricbeat

docker run -d --name=metricbeat --user=root --volume="$(pwd)/metricbeat.aws.yml:/usr/share/metricbeat/metricbeat.yml:ro" --volume="/Users/foo/.aws/credentials:/usr/share/metricbeat/credentials:ro" docker.elastic.co/beats/metricbeat:7.11.1 metricbeat -e -E cloud.auth=elastic:1234 -E cloud.id=test-aws:1234

示例 metricbeat.aws.yml 如下所示

metricbeat.modules:
- module: aws
  period: 5m
  credential_profile_name: elastic-beats
  shared_credential_file: /usr/share/metricbeat/credentials
  metricsets:
    - ec2
  • 在 Metricbeat 配置中使用 AWS 凭据

    metricbeat.modules:
    - module: aws
      period: 300s
      metricsets:
        - ec2
      access_key_id: '<access_key_id>'
      secret_access_key: '<secret_access_key>'
      session_token: '<session_token>'

    或者

    metricbeat.modules:
    - module: aws
      period: 300s
      metricsets:
        - ec2
      access_key_id: '${AWS_ACCESS_KEY_ID:""}'
      secret_access_key: '${AWS_SECRET_ACCESS_KEY:""}'
      session_token: '${AWS_SESSION_TOKEN:""}'
  • 使用 IAM 角色 ARN

    metricbeat.modules:
    - module: aws
      period: 300s
      metricsets:
        - ec2
      role_arn: arn:aws:iam::123456789012:role/test-mb
  • 使用共享的 AWS 凭据文件

    metricbeat.modules:
    - module: aws
      period: 300s
      metricsets:
        - ec2
      credential_profile_name: test-mb
  • 使用 IAM 角色 ARN 和共享的 AWS 凭据文件

    metricbeat.modules:
    - module: aws
      period: 5m
      role_arn: arn:aws:iam::123456789012:role/test-mb
      shared_credential_file: /Users/mb/.aws/credentials_backup
      credential_profile_name: test
      metricsets:
        - ec2

AWS 凭据类型edit

可以使用两种不同类型的 AWS 凭据:访问密钥和临时安全凭据。

  • 访问密钥

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 是访问密钥的两个部分。它们是 IAM 用户或 AWS 帐户根用户的长期凭据。有关更多详细信息,请参阅 AWS 访问密钥和秘密访问密钥

  • IAM 角色 ARN

IAM 角色是您可以在您的账户中创建的 IAM 身份,它具有特定的权限,这些权限决定了该身份在 AWS 中可以执行哪些操作以及不能执行哪些操作。角色没有与之关联的标准长期凭据,例如密码或访问密钥。相反,当您假设一个角色时,它会为您提供角色会话的临时安全凭据。IAM 角色 Amazon 资源名称 (ARN) 可用于指定要假设以生成临时凭据的 AWS IAM 角色。有关更多详细信息,请参阅AssumeRole API 文档

以下是使用 AWS CLI 为 Metricbeat 设置 IAM 角色的步骤。请将 123456789012 替换为您的账户 ID。

步骤 1. 创建 example-policy.json 文件以包含所有权限

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "sqs:ReceiveMessage"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "sqs:ChangeMessageVisibility",
            "Resource": "arn:aws:sqs:us-east-1:123456789012:test-fb-ks"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sqs:DeleteMessage",
            "Resource": "arn:aws:sqs:us-east-1:123456789012:test-fb-ks"
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole",
                "sqs:ListQueues",
                "tag:GetResources",
                "ec2:DescribeInstances",
                "cloudwatch:GetMetricData",
                "ec2:DescribeRegions",
                "iam:ListAccountAliases",
                "sts:GetCallerIdentity",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        }
    ]
}

步骤 2. 使用 aws iam create-policy 命令创建 IAM 策略

$ aws iam create-policy --policy-name example-policy --policy-document file://example-policy.json

步骤 3. 创建 JSON 文件 example-role-trust-policy.json,它定义 IAM 角色的信任关系

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Principal": { "AWS": "arn:aws:iam::123456789012:root" },
        "Action": "sts:AssumeRole"
    }
}

步骤 4. 创建 IAM 角色并附加策略

$ aws iam create-role --role-name example-role --assume-role-policy-document file://example-role-trust-policy.json
$ aws iam attach-role-policy --role-name example-role --policy-arn "arn:aws:iam::123456789012:policy/example-policy"

完成这些步骤后,可以在 Metricbeat aws 模块中使用 IAM 角色 ARN 进行身份验证。

  • 临时安全凭据

临时安全凭据的有效期有限,包含访问密钥 ID、秘密访问密钥和安全令牌,这些通常从 GetSessionToken 返回。启用 MFA 的 IAM 用户需要在调用 GetSessionToken 时提交 MFA 代码。有关更多详细信息,请参阅临时安全凭据。可以使用 sts get-session-token AWS CLI 生成临时凭据。例如,使用启用 MFA 的

aws> sts get-session-token --serial-number arn:aws:iam::1234:mfa/[email protected] --token-code 456789 --duration-seconds 129600

由于临时安全凭据是短期凭据,因此在它们过期后,用户需要生成新的凭据并使用新凭据修改 aws.yml 配置文件。除非为 Metricbeat 启用了实时重新加载功能,否则用户需要在更新配置文件后手动重启 Metricbeat 才能继续收集 Cloudwatch 指标。如果在旧凭据过期之前没有使用新凭据更新配置文件,这将导致数据丢失。对于 Metricbeat,我们建议用户在配置文件中使用访问密钥以启用 aws 模块,从而无需生成新的临时凭据并频繁更新配置。

IAM 策略是定义 AWS 环境中对象权限的实体。需要将特定权限添加到 IAM 用户的策略中,以授权 Metricbeat 收集 AWS 监控指标。有关所需的权限,请参阅每个指标集下的文档。

在 EKS 上运行编辑

  • WebIdentity 身份验证流程

有关如何为服务账户创建 IAM 角色的文档,请参阅:https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html

创建 IRSA 后,可以使用它来注释 metricbeat 服务账户

apiVersion: v1
kind: ServiceAccount
metadata:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::<ACCOUNT_ID>:role/<IRSA_ID>
  name: metricbeat
  namespace: kube-system
  labels:
    k8s-app: metricbeat

为了启用 WebIdentity 身份验证流程,您需要向 IRSA 添加信任关系

    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::<ACCOUNT_ID>:oidc-provider/oidc.eks.<REGION>.amazonaws.com/id/<OIDC_PROVIDER_ID>"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "oidc.eks.REGION.amazonaws.com/id/<OIDC_PROVIDER_ID>:sub": "system:serviceaccount:kube-system:metricbeat",
          "oidc.eks.REGION.amazonaws.com/id/<OIDC_PROVIDER_ID>:aud": "sts.amazonaws.com"
        }
      }
    }

在这种情况下,无需将 role_arn 添加到模块配置中。

示例配置

AWS 模块支持在模块中描述的标准配置选项。以下是一个示例配置

metricbeat.modules:
- module: aws
  period: 300s
  credential_profile_name: test-mb
  metricsets:
    - ec2
  tags_filter:
    - key: "Organization"
      value: "Engineering"
- module: aws
  period: 300s
  credential_profile_name: test-mb
  metricsets:
    - sqs
  regions:
    - us-west-1
- module: aws
  period: 86400s
  metricsets:
    - s3_request
    - s3_daily_storage
  access_key_id: '${AWS_ACCESS_KEY_ID:""}'
  secret_access_key: '${AWS_SECRET_ACCESS_KEY:""}'
  session_token: '${AWS_SESSION_TOKEN:""}'
- module: aws
  period: 300s
  credential_profile_name: test-mb
  metricsets:
    - cloudwatch
  metrics:
    - namespace: AWS/EC2
      name: ["CPUUtilization"]
      dimensions:
        - name: InstanceId
          value: i-0686946e22cf9494a
    - namespace: AWS/EBS
    - namespace: AWS/ELB
      resource_type: elasticloadbalancing
      tags:
        - key: "Organization"
          value: "Engineering"
- module: aws
  period: 60s
  credential_profile_name: test-mb
  tags_filter:
    - key: "dept"
      value: "eng"
  metricsets:
    - elb
    - natgateway
    - rds
    - transitgateway
    - usage
    - vpn
- module: aws
  period: 1m
  latency: 5m
  include_linked_accounts: false
  metricsets:
    - s3_request

指标集

提供以下指标集