AWS CloudWatch 输入
编辑AWS CloudWatch 输入编辑
aws-cloudwatch
输入可用于检索特定日志组中所有日志流的所有日志。 filterLogEvents
AWS API 用于列出指定日志组中的日志事件。Amazon CloudWatch Logs 可用于存储来自 Amazon Elastic Compute Cloud(EC2)、AWS CloudTrail、Route53 和其他来源的日志文件。
日志组是共享相同保留、监控和访问控制设置的一组日志流。您可以定义日志组并指定要放入每个组中的流。属于一个日志组的日志流数量没有限制。
日志流是共享相同来源的一系列日志事件。CloudWatch Logs 中的每个单独日志来源构成一个单独的日志流。
filebeat.inputs: - type: aws-cloudwatch log_group_arn: arn:aws:logs:us-east-1:428152502467:log-group:test:* scan_frequency: 1m credential_profile_name: elastic-beats start_position: beginning
aws-cloudwatch
输入支持以下配置选项以及稍后介绍的通用选项。
log_group_arn
编辑
要从中收集日志的日志组的 ARN。
log_group_name
编辑
要从中收集日志的日志组的名称。注意:提供 log_group_name 时,需要提供 region_name
。
log_group_name_prefix
编辑
一组日志组名称的前缀。注意:提供 log_group_name_prefix 时,需要提供 region_name
。 log_group_name
和 log_group_name_prefix
不能同时提供。将通过 number_of_workers
配置设置处理此前缀下日志组的工作程序数量。
region_name
编辑
指定的日志组或日志组前缀所属的区域。
number_of_workers
编辑
将处理具有给定 log_group_name_prefix
的日志组的工作程序数量。默认值为 1。
log_streams
编辑
Filebeat 从中收集日志事件的日志流名称字符串列表。
log_stream_prefix
编辑
一个字符串,用于过滤结果以仅包含名称以此前缀开头的日志流中的日志事件。
start_position
编辑
start_position
允许用户指定此输入应从 beginning
还是从 end
读取日志文件。
-
beginning
:从日志组的开头开始读取(默认)。 -
end
:仅读取从当前时间减去scan_frequency
开始的新消息
例如,如果 scan_frequency
等于 30s
并且当前时间戳为 2020-06-24 12:00:00
-
当
start_position = beginning
时- 第一次迭代:startTime=0, endTime=2020-06-24 12:00:00
- 第二次迭代:startTime=2020-06-24 12:00:00, endTime=2020-06-24 12:00:30
-
当
start_position = end
时- 第一次迭代:startTime=2020-06-24 11:59:30, endTime=2020-06-24 12:00:00
- 第二次迭代:startTime=2020-06-24 12:00:00, endTime=2020-06-24 12:00:30
scan_frequency
编辑
此配置参数设置 Filebeat 检查指定日志组中新日志事件的频率。默认 scan_frequency
为 1 分钟,这意味着 Filebeat 将休眠 1 分钟,然后再次查询新日志。
api_timeout
编辑
AWS API 可以采用的最长持续时间。如果超过超时时间,AWS API 将被中断。消息的默认 AWS API 超时为 120 秒。最小值为 0 秒。
api_sleep
编辑
这用于在同一收集期内 AWS FilterLogEvents
API 调用之间休眠。 FilterLogEvents
API 的配额为每秒 5 个事务 (TPS)/账户/区域。默认情况下,api_sleep
为 200 毫秒。仅当有多个 Filebeat 或多个 Filebeat 输入从同一区域和 AWS 账户收集日志时,才应调整此值。
latency
编辑
某些 AWS 服务将日志发送到 CloudWatch 的延迟时间比 aws-cloudwatch
输入 scan_frequency
更长。在这种情况下,请指定 latency
参数,以便将收集的开始时间和结束时间移动指定的延迟量。
aws credentials
编辑
为了进行 AWS API 调用,aws-cloudwatch
输入需要 AWS 凭证。有关更多详细信息,请参阅AWS 凭证选项。
AWS 权限编辑
IAM 用户需要特定的 AWS 权限才能访问 aws-cloudwatch
cloudwatchlogs:DescribeLogGroups logs:FilterLogEvents
指标编辑
此输入在HTTP 监控端点下公开指标。这些指标在 /inputs
路径下公开。它们可用于观察输入的活动。
指标 | 描述 |
---|---|
|
收到的 CloudWatch 日志事件数。 |
|
从多个 CloudWatch 日志组收集的日志。 |
|
从处理 CloudWatch 日志创建的事件数。 |
|
发出的 API 调用总数。 |
通用选项编辑
以下配置选项受所有输入支持。
enabled
编辑
使用 enabled
选项启用和禁用输入。默认情况下,enabled 设置为 true。
tags
编辑
Filebeat 包含在每个已发布事件的 tags
字段中的标记列表。标记可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤。这些标记将附加到常规配置中指定的标记列表。
示例
filebeat.inputs: - type: aws-cloudwatch . . . tags: ["json"]
fields
编辑
您可以指定可选字段以将其他信息添加到输出中。例如,您可以添加可用于过滤日志数据的字段。字段可以是标量值、数组、字典或这些值的任何嵌套组合。默认情况下,您在此处指定的字段将在输出文档中的 fields
子字典下分组。要将自定义字段存储为顶级字段,请将 fields_under_root
选项设置为 true。如果在常规配置中声明了重复字段,则其值将被此处声明的值覆盖。
filebeat.inputs: - type: aws-cloudwatch . . . fields: app_id: query_engine_12
fields_under_root
编辑
如果此选项设置为 true,则自定义 fields 将作为顶级字段存储在输出文档中,而不是分组在 fields
子字典下。如果自定义字段名称与 Filebeat 添加的其他字段名称冲突,则自定义字段将覆盖其他字段。
processors
编辑
要应用于输入数据的处理器列表。
有关在配置中指定处理器的信息,请参阅处理器。
pipeline
编辑
要为此输入生成的事件设置的摄取管道 ID。
管道 ID 也可以在 Elasticsearch 输出中配置,但此选项通常会生成更简单的配置文件。如果在输入和输出中都配置了管道,则使用输入中的选项。
keep_null
编辑
如果此选项设置为 true,则值为 null
的字段将在输出文档中发布。默认情况下,keep_null
设置为 false
。
index
编辑
如果存在,此格式字符串将覆盖此输入事件的索引(对于 elasticsearch 输出),或设置事件元数据的 raw_index
字段(对于其他输出)。此字符串只能引用代理名称和版本以及事件时间戳;要访问动态字段,请使用 output.elasticsearch.index
或处理器。
示例值:"%{[agent.name]}-myindex-%{+yyyy.MM.dd}"
可能会扩展为 "filebeat-myindex-2019.11.01"
。
publisher_pipeline.disable_host
编辑
默认情况下,所有事件都包含 host.name
。可以将此选项设置为 true
以禁用将此字段添加到所有事件。默认值为 false
。