GCP Pub/Sub 输入
编辑GCP Pub/Sub 输入编辑
使用 gcp-pubsub
输入从 Google Cloud Pub/Sub 主题订阅中读取消息。
例如,此输入可用于接收已导出到 Google Cloud Pub/Sub 主题的 Stackdriver 日志。
可以将多个 Filebeat 实例配置为从同一订阅中读取数据,以实现高可用性或提高吞吐量。
示例配置
filebeat.inputs: - type: gcp-pubsub project_id: my-gcp-project-id topic: vpc-firewall-logs-topic subscription.name: filebeat-vpc-firewall-logs-sub credentials_file: ${path.config}/my-pubsub-subscriber-credentials.json
配置选项编辑
gcp-pubsub
输入支持以下配置选项以及稍后描述的通用选项。
project_id
编辑
Google Cloud 项目 ID。 必填。
topic
编辑
Google Cloud Pub/Sub 主题名称。 必填。
subscription.name
编辑
要从中读取数据的订阅的名称。 必填。
subscription.create
编辑
一个布尔值,用于配置输入以在订阅不存在时创建订阅。 默认值为 true
。
subscription.num_goroutines
编辑
要创建用于从订阅中读取数据的 goroutine 数量。 这不会限制可以并发处理的消息数量,也不会限制输入将创建的最大 goroutine 数量。 即使只有一个 goroutine,也可能会同时处理多条消息,因为该 goroutine 可能会持续接收消息。 要限制并发处理的消息数量,请设置 subscription.max_outstanding_messages
。 默认为 1。
subscription.max_outstanding_messages
编辑
未处理消息的最大数量(未确认但尚未过期)。 如果该值为负数,则对未处理消息的数量没有限制。 由于存在内部队列,因此输入会阻塞,直到达到 queue.mem.flush.min_events
或 queue.mem.flush.timeout
。 为防止出现此阻塞,此选项必须至少为 queue.mem.flush.min_events
。 默认为 1600。
credentials_file
编辑
包含用于订阅的凭据和密钥的 JSON 文件的路径。 或者,您可以使用 credentials_json
配置选项或依赖Google 应用程序默认凭据 (ADC)。
credentials_json
编辑
包含用于订阅的凭据和密钥的 JSON blob。 如果您想将凭据数据嵌入到配置文件中或将信息放入密钥库中,则可以使用此选项作为 credentials_file
的替代方法。 您也可以使用Google 应用程序默认凭据 (ADC)。
通用选项编辑
所有输入都支持以下配置选项。
enabled
编辑
使用 enabled
选项启用和禁用输入。 默认情况下,enabled 设置为 true。
tags
编辑
Filebeat 包含在每个已发布事件的 tags
字段中的标签列表。 通过标签可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤。 这些标签将附加到常规配置中指定的标签列表中。
示例
filebeat.inputs: - type: gcp-pubsub . . . tags: ["json"]
fields
编辑
您可以指定可选字段以向输出添加其他信息。 例如,您可以添加可用于过滤日志数据的字段。 字段可以是标量值、数组、字典或它们的任何嵌套组合。 默认情况下,您在此处指定的字段将在输出文档中分组到 fields
子字典下。 要将自定义字段存储为顶级字段,请将 fields_under_root
选项设置为 true。 如果在常规配置中声明了重复的字段,则其值将被此处声明的值覆盖。
filebeat.inputs: - type: gcp-pubsub . . . fields: app_id: query_engine_12
fields_under_root
编辑
如果此选项设置为 true,则自定义字段将作为顶级字段存储在输出文档中,而不是分组到 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
。
指标编辑
此输入在HTTP 监控端点下公开指标。 这些指标在 /inputs
路径下公开。 它们可用于观察输入的活动。
指标 | 描述 |
---|---|
|
已成功确认的消息数。 |
|
确认失败的消息数。 |
|
已拒绝确认的消息数。 |
|
已处理的字节数。 |
|
处理事件所用时间的直方图(以纳秒为单位)。 |