基准测试输入

编辑

此功能处于测试阶段,可能随时更改。其设计和代码不如正式 GA 功能成熟,按原样提供,不提供任何担保。测试版功能不受正式 GA 功能支持 SLA 的约束。

基准测试输入会生成通用事件并将其发送到输出。当您想要对输出或输出设置之间的差异进行基准测试时,这非常有用。

示例配置

基本示例,尽可能快地无限生成事件

filebeat.inputs:
- type: benchmark
  enabled: true
  message: "test message"
  threads: 1

发送 1024 个事件并停止的示例

filebeat.inputs:
- type: benchmark
  enabled: true
  message: "test message"
  threads: 1
  count: 1024

每秒发送 5 个事件的示例

filebeat.inputs:
- type: benchmark
  enabled: true
  message: "test message"
  threads: 1
  eps: 5

配置选项

编辑

基准测试输入支持以下配置选项以及稍后描述的通用选项

message

编辑

这是 JSON 文档中 message 字段的值。

threads

编辑

这是将启动以生成消息的 goroutine 数量。通常情况下,1 个线程可以使输出饱和,但如有必要,可以增加此值。

count

编辑

这是要发送的消息数量。0 表示发送无限条消息。这与 eps 选项互斥。

这是每秒要发送的事件数量。0 表示尽可能快地发送。这与 count 选项互斥。

指标

编辑

此输入在HTTP 监控端点下公开指标。这些指标在 /inputs 路径下公开。它们可用于观察输入的活动。

指标 描述

events_published_total

已发布的事件数。

publishing_time

以纳秒为单位的经过时间直方图(发布程序的 Publish 时间)。

通用选项

编辑

所有输入都支持以下配置选项。

enabled
编辑

使用 enabled 选项启用和禁用输入。默认情况下,enabled 设置为 true。

tags
编辑

Filebeat 在每个已发布事件的 tags 字段中包含的一组标签。标签可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤。这些标签将附加到在常规配置中指定的标签列表中。

示例

filebeat.inputs:
- type: benchmark
  . . .
  tags: ["json"]
fields
编辑

您可以指定的可选字段,以向输出添加其他信息。例如,您可以添加可用于过滤日志数据的字段。字段可以是标量值、数组、字典或这些值的任何嵌套组合。默认情况下,您在此处指定的字段将分组在输出文档中的 fields 子字典下。要将自定义字段存储为顶级字段,请将 fields_under_root 选项设置为 true。如果在常规配置中声明了重复字段,则其值将被此处声明的值覆盖。

filebeat.inputs:
- type: benchmark
  . . .
  fields:
    app_id: query_engine_12
fields_under_root
编辑

如果将此选项设置为 true,则自定义fields 将存储在输出文档中的顶级字段中,而不是分组在 fields 子字典下。如果自定义字段名称与 Filebeat 添加的其他字段名称冲突,则自定义字段将覆盖其他字段。

processors
编辑

要应用于输入数据的处理器列表。

有关在配置中指定处理器的信息,请参阅处理器

pipeline
编辑

为此输入生成的事件设置的摄取管道 ID。

也可以在 Elasticsearch 输出中配置管道 ID,但这通常会导致更简单的配置文件。如果在输入和输出中都配置了管道,则使用输入中的选项。

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