基准测试输入

编辑

此功能为 Beta 版本,可能会发生更改。其设计和代码不如正式 GA 功能成熟,因此按“原样”提供,不提供任何保证。Beta 功能不受官方 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

以纳秒为单位的已用时间直方图(publisher.Publish 的时间)。

通用选项

编辑

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

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 子字典下。如果自定义字段名称与 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