AWS 模块
编辑AWS 模块
编辑此模块使用 GetMetricData API 定期从 AWS CloudWatch 获取 AWS 服务的监控指标。
默认情况下,所有指标均已启用。
此模块会产生额外的 CloudWatch API 请求 AWS 费用。有关更多详细信息,请参阅 AWS API 请求。
模块特定配置说明
编辑- AWS 凭证
为了进行 AWS API 调用,aws
模块需要 AWS 凭证配置。用户可以使用 AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
和/或 AWS_SESSION_TOKEN
,也可以使用共享的 AWS 凭证文件。有关更多详细信息,请参阅 AWS 凭证选项。
如果您使用 AWS CloudWatch 跨账户可观测性,则此处应使用监控账户的凭证,Metricbeat 将从监控账户和链接的源账户收集所有指标。
- regions
此模块还接受可选配置 regions
,以指定要从中查询指标的 AWS 区域。如果配置文件中未设置 regions
参数,则默认情况下,aws
模块将从所有可用的 AWS 区域查询指标。如果指定了 endpoint
,则 regions
将成为必需的配置参数。
- latency
某些 AWS 服务会将监控指标发送到 CloudWatch,处理延迟时间大于 Metricbeat 收集周期。这将导致数据点缺失或 Metricbeat 未收集任何数据点。在这种情况下,请指定一个 latency
参数,以便收集开始时间和结束时间将按给定的延迟量进行偏移。
- data_granularity
AWS CloudWatch 允许通过在查询指标时设置“周期”来定义返回数据点的粒度。有关更多信息,请参阅 MetricDataQuery 参数。
默认情况下,metricbeat 将查询 CloudWatch,并将“周期”设置为 Metricbeat 收集周期。如果您希望为“周期”设置自定义值,请指定一个 data_granularity
参数。通过将 period
和 data_granularity
一起设置,您可以分别控制希望收集指标的频率以及指标必须具有的粒度。
如果您担心由于 Metricbeat 发出的 CloudWatch API 调用而导致成本增加,并且以延迟检索指标作为权衡,则可以考虑设置 data_granularity
并增加 Metricbeat 收集周期。例如,将 data_granularity
设置为当前 period
的值,并将 period
的值加倍,可能会在 GetMetricData API 调用成本方面节省 50%。
- endpoint
大多数 AWS 服务都提供可用于发出请求的区域端点。区域端点的一般语法为 protocol://service-code.region-code.endpoint-code
。某些服务(如 IAM)不支持区域。这些服务的端点不包括区域。在 aws
模块中,endpoint
配置用于设置 endpoint-code
部分,例如 amazonaws.com
、amazonaws.com.cn
、c2s.ic.gov
、sc2s.sgov.gov
。
如果指定了端点,则需要 regions
配置。
- include_linked_accounts
include_linked_accounts
参数用于启用包含来自链接到主监控账户的不同账户的指标。通过将此参数设置为 true,用户可以从通过 CloudWatch 跨账户可观测性链接的多个 AWS 账户收集指标。默认情况下,include_linked_accounts
参数设置为 true,这意味着会收集来自主监控账户和所有链接账户的指标。设置为 false 时,该参数允许 CloudWatch 服务仅检索来自监控账户的指标。
如果您需要从特定的链接账户收集指标,请使用 owning_account
配置。
注意:用户应确保正确设置必要的 IAM 角色和策略,以便将监控账户和源账户链接在一起。有关更多详细信息,请参阅 将监控账户与源账户链接。
- owning_account
此配置与 include_linked_accounts
配置一起工作,并允许从特定的链接账户收集指标。该配置接受有效的账户 ID,并在内部映射到 ListMetrics API 的 OwningAccount
参数。
请注意,应启用 include_linked_accounts
(这是默认值)才能使用此参数。
include_linked_accounts: true owning_account: 111111111111
- tags_filter
要筛选的标签。如果在配置中给定了标签,则仅从具有标签键和标签值与筛选器匹配的资源收集指标。例如,如果在 AWS/ELB
命名空间下将 tags 参数指定为 Organization=Engineering
,则仅从标签名称等于 Organization
且标签值等于 Engineering
的 ELB 收集指标。为了筛选同一键的不同值,请将这些值添加到值数组(请参阅示例)
注意:标签筛选仅适用于在特定于 metricset 的配置中指定了 resource_type
的 metricset。
- 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
- apigateway_max_results
此配置与 AWS/APIGateway 命名空间一起工作。它定义了每页返回的最大结果数。默认值为 25,最大值为 500。请参阅 GetRestApisInput.Limit
- module: aws period: 10s regions: - us-east-1 metricsets: - cloudwatch metrics: - namespace: "AWS/ApiGateway" resource_type: "apigateway:restapis" apigateway_max_results: 40
aws 模块附带预定义的仪表板。例如
Metricsets
编辑目前,在 aws
模块中,我们有 billing
、cloudwatch
、dynamodb
、ebs
、ec2
、elb
、kinesis
lambda
、mtest
、natgateway
、rds
、s3_daily_storage
、s3_request
、sns
、sqs
、transitgateway
、usage
和 vpn
metricset。
billing
编辑账单指标数据包括 AWS 账户中每个服务的估计费用以及 AWS 账户的估计总费用。估计费用每天计算并多次发送到 CloudWatch。因此,aws 模块配置中的 period
设置为 12h
。
账单 metricset 附带预定义的仪表板
cloudwatch
编辑此 metricset 允许用户使用任何给定的命名空间或具有给定周期的特定实例从 AWS CloudWatch 查询指标。有关将指标发布到 CloudWatch 的 AWS 服务列表,请参阅 发布 CloudWatch 指标的 AWS 服务。
dynamodb
编辑DynamoDB 会定期将指标发送到 CloudWatch,以便更好地监控 Web 应用程序或服务的性能。
dynamodb metricset 附带预定义的仪表板
ebs
编辑对于 AWS EBS 卷中的基本监控,数据在 5 分钟周期内自动提供,且无需付费。这包括 EBS 支持的实例的根设备卷的数据。用户还可以为预配置的 IOPS SSD (io1) 卷启用详细监控,以自动将一分钟指标发送到 CloudWatch。aws 模块配置中的默认周期为 ebs metricset 设置为 5m
。
ebs metricset 附带预定义的仪表板
ec2
编辑默认情况下,Amazon EC2 每 5 分钟向 CloudWatch 发送指标数据。使用这种基本监控,aws 模块配置中的 period
应该大于或等于 300s
。如果 period
设置为小于 300s
,则会多次收集相同的 CloudWatch 指标,这会导致额外的费用,而不会获得更精细的指标。例如,在 美国东部(弗吉尼亚北部)
区域,使用 GetMetricData 请求 1000 个指标的成本为 0.01 美元。有关更多详细信息,请参阅 AWS CloudWatch 定价。为了避免不必要的费用,period
最好设置为 300s
或 300s
的倍数,例如 600s
和 900s
。对于更精细的监控数据,您可以启用实例上的详细监控,以每 1 分钟获取指标。有关如何启用详细监控的说明,请参阅 启用详细监控。启用详细监控后,aws 模块配置中的 period
可以是大于 60s
的任何数字。由于 AWS 以 1 分钟为周期向 CloudWatch 发送指标数据,因此将 Metricbeat 模块 period
设置为小于 60s
将导致额外的 API 请求,这意味着 AWS 上会产生额外费用。为了避免不必要的费用,period
最好设置为 60s
或 60s
的倍数,例如 120s
和 180s
。
ec2 指标集附带一个预定义的仪表板
elb
编辑elb 指标集从经典负载均衡器、应用程序负载均衡器和网络负载均衡器收集 CloudWatch 指标。
只有在请求流经负载均衡器时,这三种弹性负载均衡才会向 CloudWatch 报告指标。如果有请求流经负载均衡器,弹性负载均衡将以 60 秒的间隔测量并发送其指标。如果没有请求流经负载均衡器或某个指标没有数据,则不会报告该指标。因此,aws 模块配置中的 period
设置为 1m
。
elb 指标集附带一个预定义的仪表板
lambda
编辑当调用完成时,Lambda 会为该调用向 CloudWatch 发送一组指标。lambda 指标集的 aws 模块配置中的默认周期设置为 5m
。lambda 指标集附带一个预定义的仪表板
natgateway
编辑CloudWatch 从 NAT 网关收集信息并创建可读的、近乎实时的指标。此指标集使用户能够从 CloudWatch 收集这些指标,以监控和排查 NAT 网关的故障。NAT 网关指标数据以 1 分钟的间隔提供,因此,建议 natgateway
指标集的 period
为 1m
或 1m
的倍数。
rds
编辑建议 rds
指标集的 period
为 60s
或 60s
的倍数,因为 Amazon RDS 每分钟向 Amazon CloudWatch 发送指标和维度。
rds 指标集附带一个预定义的仪表板
s3_daily_storage
编辑S3 存储桶的每日存储指标每天报告一次,无需额外费用。由于它们是每日指标,因此建议 s3_daily_storage
指标集的 period
为 86400s
或 86400s
的倍数。
s3_request
编辑请求指标以 1 分钟的间隔提供,但会产生额外费用。s3_request 指标集将提供更精细的数据来跟踪 S3 存储桶的使用情况。可以将 s3_request
指标集的 period
设置为 60s
或 60s
的倍数。但是,由于查询这些指标会产生额外费用,因此建议将 period
设置为 86400s
。用户始终可以将其调整为他们想要的粒度。默认情况下,S3 存储桶未启用请求指标。有关如何为每个 S3 存储桶启用请求指标的说明,请参阅 如何为 S3 配置请求指标。
s3_daily_storage 和 s3_request 指标集附带一个预定义的组合仪表板
sqs
编辑Amazon SQS 队列的 CloudWatch 指标会自动收集并每 5 分钟推送到 CloudWatch,建议 sqs
指标集的 period
为 300s
或 300s
的倍数。
sqs 指标集附带一个预定义的仪表板
transitgateway
编辑只有在请求流经传输网关时,Amazon VPC 才会向 CloudWatch 报告指标。如果有请求流经传输网关,Amazon VPC 将以 60 秒的间隔测量并发送其指标。建议 transitgateway
指标集的 period
为 1m
或 1m
的倍数。
usage
编辑CloudWatch 收集跟踪某些 AWS 资源使用情况的指标。这些指标与 AWS 服务配额相对应。跟踪这些指标有助于主动管理配额。服务配额使用情况指标位于 AWS/Usage 命名空间中,并且每分钟收集一次。因此,使用情况指标集的 aws 模块配置中的 period
设置为 1m
。
usage 指标集附带一个预定义的仪表板
vpn
编辑CloudWatch 从 VPN 服务收集和处理原始数据,并将其转换为可读的、近乎实时的指标,使用户能够更好地了解其 Web 应用程序和服务的性能。
AWS API 请求计数
编辑本节旨在记录 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 ListMetrics |
结果总数 / ListMetrics 最大页面大小 * 唯一命名空间的数量 |
每个区域每个收集周期 |
CloudWatch GetMetricData |
结果总数 / GetMetricData 最大页面大小 |
每个区域每个命名空间每个收集周期 |
billing
、ebs
、elb
、sns
、usage
和 lambda
与 cloudwatch
指标集相同。
AWS 凭证配置
编辑要配置 AWS 凭证,请将凭证放入 Metricbeat 配置中,或使用共享凭证文件,如下面的示例所示。
配置参数
编辑- 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:请求的担任角色会话的持续时间。如果未设置,则默认为 15 分钟。AWS 允许的最大会话持续时间在 1 小时到 12 小时之间,具体取决于您的最大会话持续时间策略。
- assume_role.expiry_window:expiry_window 允许在会话过期之前刷新会话。这有利于防止过期的令牌导致请求失败,并出现 ExpiredTokenException。
支持的格式
编辑本节中的示例是指 Metricbeat,但使用 AWS 进行身份验证的凭证选项是相同的,无论使用哪个 Beat。
- 使用
access_key_id
、secret_access_key
和/或session_token
用户可以将凭证放入 Metricbeat 模块配置中,也可以改为使用环境变量 AWS_ACCESS_KEY_ID
、AWS_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_id
、secret_access_key
和 role_arn
,则 Metricbeat 将检查 credential_profile_name
。如果为不同的工具或应用程序使用不同的凭证,则可以使用配置文件在同一配置文件中配置多个访问密钥。如果未提供 credential_profile_name
,则将使用默认配置文件。
shared_credential_file
是可选的,用于指定共享凭证文件的目录。如果为空,则将使用默认目录。在 Windows 中,共享凭证文件位于 C:\Users\<您的用户名>\.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 凭证类型
编辑可以使用两种不同类型的 AWS 凭证:访问密钥和临时安全凭证。
- 访问密钥
AWS_ACCESS_KEY_ID
和 AWS_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"
完成这些步骤后,IAM 角色 ARN 可用于 Metricbeat aws
模块中的身份验证。
- 临时安全凭证
临时安全凭证具有有限的生命周期,由访问密钥 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 模块能够进行 AWS API 调用,而无需频繁生成新的临时凭证和更新配置。
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 include_linked_accounts: true # owning_account: 111111111111 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
以下指标集可用