通用表达式语言输入

编辑

使用 cel 输入通过各种有效负载从文件路径或 HTTP API 读取消息,使用 通用表达式语言 (CEL)mito CEL 扩展库。

CEL 是一种非图灵完备语言,可以在输入中执行表达式计算,这可能包括使用 mito 扩展库的文件和 API 端点。 cel 输入定期运行一个 CEL 程序,该程序将获得一个可能由用户配置的执行环境,并发布程序评估结果产生的事件集。可选地,CEL 程序可以返回将在 CEL 程序的下次执行中提供的游标状态。游标状态可用于控制程序的行为。

此输入支持

  • 身份验证

    • 基本身份验证
    • 摘要身份验证
    • OAuth2
  • 以可配置的间隔检索
  • 分页
  • 重试
  • 速率限制
  • 代理

示例配置

filebeat.inputs:
# Fetch your public IP every minute.
- type: cel
  interval: 1m
  resource.url: https://api.ipify.org/?format=json
  program: |
    bytes(get(state.url).Body).as(body, {
        "events": [body.decode_json()]
    })

或者等效地使用 ipify.org 的文本格式

filebeat.inputs:
# Fetch your public IP every minute.
- type: cel
  interval: 1m
  resource.url: https://api.ipify.org/?format=text
  program: |
    {
        "events": [{"ip": string(get(state.url).Body)}]
    }
filebeat.inputs:
- type: cel
  resource.url: https://127.0.0.1:9200/_search
  state:
    scroll: 5m
  program: |
    (
        !has(state.cursor) || !has(state.cursor.scroll_id) ?
            post(state.url+"?scroll=5m", "", "")
        :
            post(
                state.url+"/scroll?"+{"scroll_id": [state.cursor.scroll_id]}.format_query(),
                "application/json",
                {"scroll": state.scroll}.encode_json()
            )
    ).as(resp, bytes(resp.Body).decode_json().as(body, {
            "events": body.hits.hits,
            "cursor": {"scroll_id": body._scroll_id},
    }))

执行

编辑

为输入提供的执行环境包括 mito 库提供的函数、宏和全局变量。单个 JSON 对象作为输入提供,可通过 state 变量访问。 state 包含一个字符串 url 字段,并且可能包含通过输入的 state 配置配置的其他任意字段。如果 CEL 程序在程序执行之间保存游标状态,则配置的 state.cursor 值将在执行之前被保存的游标替换。

启动时,state 将类似于以下内容

{
    "url": <resource address>,
    "cursor": { ... },
    ...
}

state.url 字段将存在,并且可能为 HTTP 端点或文件路径。CEL 程序负责处理从文件 URL 中删除方案(如果存在)。state.url 字段可以在程序执行期间发生变异,但变异的状态不会在重启之间持久化。 state.url 字段必须存在于返回值中,以确保它在下次评估中可用,除非程序在其中硬编码了资源地址或它可从游标中获得。

对象的根目录中可能存在其他字段,如果程序容忍它,则游标值可能不存在。只有游标在重启后持久化,但在处理循环的每次迭代之间,状态中的所有字段都将保留,除了生成的 events 数组,如下所示。

如果游标存在,程序应根据其值执行和处理请求。如果游标不存在,程序必须具有确定要发出哪些请求的替代逻辑。

在程序执行完成后,它应该返回一个结构如下所示的单个对象

{
    "events": [ 
        {...},
        ...
    ],
    "cursor": [ 
        {...},
        ...
    ],
    "url": <resource address>,
    "status_code": <HTTP request status code if a network request>,
    "header": <HTTP response headers if a network request>,
    "rate_limit": <HTTP rate limit map if required by API>, 
    "want_more": false 
}

events 字段必须存在,但可以为空或 null。如果它不为空,它必须只包含对象作为元素。该字段应为数组,但在 CEL 程序中出现错误条件的情况下,可以返回单个对象而不是数组;这将被包装为数组以进行发布,并且将记录错误。如果单个对象包含一个键“error”,则错误值将用于更新输入的状态以报告给 Elastic Agent。这可以用于更快地响应 API 故障。

如果存在 cursor,它必须是单个对象或与 events 长度相同的数组;cursor 的每个元素 *i* 将是获取 events 数组中事件 *i* 及其后续事件的详细信息。如果 cursor 是一个单个对象,它将是获取 events 数组中最后一个事件之后的事件的详细信息,并且仅在成功发布 events 数组中的所有事件后才会保留。

如果存在 rate_limit,它必须是具有数字字段 rateburst 的映射。 rate_limit 字段还可以具有字符串 error 字段和其他将被记录的字段。如果它具有 error 字段,则 rateburst 将不会用于设置速率限制行为。 LimitOkta 速率限制策略 以及 草稿速率限制策略 文档展示了如何构造此字段。

如果存在“want_more”字段且为真,并且返回了一个非零 events 数组,则使用新状态重复评估,在删除 events 字段后。如果在评估失败后存在“want_more”字段,则将其设置为 false。

如果程序没有与 HTTP API 端点交互,则可以省略 status_codeheaderrate_limit 值,因此不需要它们来参与程序控制。

调试状态日志记录

编辑

CEL 输入将在以 DEBUG 级别记录时记录评估后的完整状态。这将包括 state 对象中保留的任何敏感或机密信息,因此在生产环境中,当 state 对象中保留敏感信息时,不应使用 DEBUG 级别日志记录。请参阅 redact 配置参数以获取排除 DEBUG 日志中敏感字段的设置。

CEL 扩展库

编辑

如上所述,cel 输入提供函数、宏和全局变量来扩展语言。

除了上面列出的包中提供的扩展之外,还提供了全局变量 useragent,它使用户 CEL 程序能够访问 filebeat 用户代理字符串。默认情况下,此值将分配给所有请求的用户代理标头,除非 CEL 程序已设置用户代理标头值。希望不提供用户代理的程序应将此标头设置为空字符串 ""

主机环境变量通过全局映射 env 提供。只有通过 allowed_environment 配置列表列入白名单的环境变量对 CEL 程序可见。

CEL 环境使用此处定义的版本启用 可选类型此处

此外,它还支持通过基本身份验证、摘要身份验证或 OAuth2 进行身份验证。

带有身份验证的示例配置

filebeat.inputs:
- type: cel
  auth.basic:
    user: [email protected]
    password: P@$$W0₹D
  resource.url: https://127.0.0.1
filebeat.inputs:
- type: cel
  auth.digest:
    user: [email protected]
    password: P@$$W0₹D
  resource.url: https://127.0.0.1
filebeat.inputs:
- type: cel
  auth.oauth2:
    client.id: 12345678901234567890abcdef
    client.secret: abcdef12345678901234567890
    token_url: https://127.0.0.1/oauth2/token
  resource.url: https://127.0.0.1
filebeat.inputs:
- type: cel
  auth.oauth2:
    client.id: 12345678901234567890abcdef
    client.secret: abcdef12345678901234567890
    token_url: https://127.0.0.1/oauth2/token
    user: [email protected]
    password: P@$$W0₹D
  resource.url: https://127.0.0.1

输入状态

编辑

cel 输入在请求之间保持运行时状态。CEL 程序可以访问此状态,并且它可能包含任意对象。

状态必须包含一个 url 字符串,并且可以包含用户希望存储在其中的任何对象。

所有对象都存储在运行时,除了 cursor,它的值在重启之间持久化。

配置选项

编辑

cel 输入支持以下配置选项以及稍后描述的 通用选项

interval

编辑

重复请求之间的时间间隔。如果启用了分页,它可能会根据初始请求发出其他分页请求。默认值:60s

program

编辑

每个轮询周期执行的 CEL 程序。此字段是必需的。

max_executions

编辑

max_executions 是 CEL 程序可以使用 want_more 字段请求重新运行的最大次数。这用于确保意外的无限循环不会停止处理。当执行预算超出时,将在下一个间隔重新开始执行,并在日志中写入警告。默认值:1000。

state

编辑

state 是一个可选对象,在第一次执行时传递给 CEL 程序。它作为 state 变量提供给正在执行的程序。在输入的生命周期中,它会提供给程序的后续执行,作为先前执行的返回值,但 state.events 字段除外。除了 state.cursor 字段外,state 在重启时不会持久化。

state.cursor

编辑

游标是一个可作为 state.cursor 获取的对象,可以在其中存储任意值。游标状态在输入重启之间保留,并在请求的每个事件发布后更新。当使用游标时,CEL 程序必须为程序返回的每个事件创建一个游标状态,或者创建一个反映完整事件集游标的单个游标。

filebeat.inputs:
# Fetch your public IP every minute and note when the last request was made.
- type: cel
  interval: 1m
  resource.url: https://api.ipify.org/?format=json
  program: |
    bytes(get(state.url).Body).as(body, {
        "events": [body.decode_json().with({
            "last_requested_at": has(state.cursor) && has(state.cursor.last_requested_at) ?
                state.cursor.last_requested_at
            :
                now
        })],
        "cursor": {"last_requested_at": now}
    })

allowed_environment

编辑

将对 CEL 执行环境可见的主机环境变量列表。默认情况下,没有环境变量可见。

filebeat.inputs:
# Publish the list of files in $PATH every minute.
- type: cel
  interval: 1m
  resource.url: ""
  allowed_environment:
    - PATH
  program: |
{
  "events": {
    "message": env.?PATH.orValue("").split(":")
      .map(p, try(dir(p)))
      .filter(d, type(d) != type(""))
      .flatten()
      .collate("name")
  }
}

regexp

编辑

一组命名的正则表达式,可以使用 regexp 扩展库在 CEL 程序执行期间使用。正则表达式使用的语法为 RE2

filebeat.inputs:
- type: cel
  # Define two regular expressions, 'products' and 'solutions' for use during CEL execution.
  regexp:
    products: '(?i)(Elasticsearch|Beats|Logstash|Kibana)'
    solutions: '(?i)(Search|Observability|Security)'

XML 文档可能需要其他类型信息才能启用正确的解析和摄取。此信息可以使用 xsd 选项作为 XML 模式定义 (XSD) 提供给 XML 文档。提供 XSD 信息的键可以通过 decode_xml CEL 扩展访问。

filebeat.inputs:
- type: cel
  # Provide an XSD, 'order', for use during CEL execution (truncated for example).
  xsd:
    order: |
       <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
         <xs:element name="order">
           <xs:complexType>
             <xs:sequence>
               <xs:element name="sender" type="xs:string"/>
               <xs:element name="address">
                 <xs:complexType>
                   <xs:sequence>
                     <xs:element name="name" type="xs:string"/>
                     <xs:element name="company" type="xs:string"/>

auth.basic.enabled

编辑

设置为 false 时,禁用基本身份验证配置。默认值:true

如果 enabled 设置为 false 或缺少 auth.basic 部分,则禁用基本身份验证设置。

auth.basic.user

编辑

用于身份验证的用户。

auth.basic.password

编辑

要使用的密码。

auth.digest.enabled

编辑

设置为 false 时,禁用摘要身份验证配置。默认值:true

如果 enabled 设置为 false 或缺少 auth.digest 部分,则禁用摘要身份验证设置。

auth.digest.user

编辑

用于身份验证的用户。

auth.digest.password

编辑

要使用的密码。

auth.digest.no_reuse

编辑

设置为 true 时,不会重用摘要身份验证质询。

auth.oauth2.enabled

编辑

设置为 false 时,禁用 oauth2 配置。默认值:true

如果 enabled 设置为 false 或缺少 auth.oauth2 部分,则禁用 OAuth2 设置。

auth.oauth2.provider

编辑

用于配置支持的 oauth2 提供程序。每个支持的提供程序都需要特定的设置。默认情况下未设置。支持的提供程序包括:azuregoogleokta

auth.oauth2.client.id

编辑

用作身份验证流程一部分的客户端 ID。除了使用 google 作为提供程序外,它始终是必需的。以下提供程序需要此项:defaultazureokta

auth.oauth2.client.secret

编辑

用作身份验证流程一部分的客户端密钥。除了使用 googleokta 作为提供程序外,它始终是必需的。以下提供程序需要此项:defaultazure

auth.oauth2.user

编辑

用作身份验证流程一部分的用户。它对于身份验证 - 授予类型密码是必需的。它仅适用于提供程序 default

auth.oauth2.password

编辑

用作身份验证流程一部分的密码。它对于身份验证 - 授予类型密码是必需的。它仅适用于提供程序 default

用户和密码对于授予类型密码是必需的。如果不使用用户和密码,则它将自动使用 token_urlclient credential 方法。

auth.oauth2.scopes

编辑

将在 oauth2 流程期间请求的一系列范围。对于所有提供程序,它都是可选的。

auth.oauth2.token_url

编辑

将在 oauth2 流程期间用于生成令牌的端点。如果未指定提供程序,则需要此项。

对于 azure 提供程序,需要 token_urlazure.tenant_id 之一。

auth.oauth2.endpoint_params

编辑

将发送到 token_url 的每个请求的一组值。每个参数键可以具有多个值。可以为除 google 之外的所有提供程序设置。

- type: cel
  auth.oauth2:
    endpoint_params:
      Param1:
        - ValueA
        - ValueB
      Param2:
        - Value

auth.oauth2.azure.tenant_id

编辑

在使用 azure 提供程序时用于身份验证。由于它用于生成 token_url 的过程中,因此不能与之结合使用。它不是必需的。

有关在哪里查找它的信息,您可以参考 https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal

auth.oauth2.azure.resource

编辑

在使用 azure 提供程序时访问的 WebAPI 资源。它不是必需的。

auth.oauth2.google.credentials_file

编辑

Google 的凭据文件。

一次只能设置一个凭据设置。如果未提供任何凭据,则会尝试通过 ADC 从环境加载默认凭据。有关如何提供 Google 凭据的更多信息,请参阅 https://cloud.google.com/docs/authentication

auth.oauth2.google.credentials_json

编辑

您的凭据信息(原始 JSON 格式)。

一次只能设置一个凭据设置。如果未提供任何凭据,则会尝试通过 ADC 从环境加载默认凭据。有关如何提供 Google 凭据的更多信息,请参阅 https://cloud.google.com/docs/authentication

auth.oauth2.google.jwt_file

编辑

Google 的 JWT 帐户密钥文件。

一次只能设置一个凭据设置。如果未提供任何凭据,则会尝试通过 ADC 从环境加载默认凭据。有关如何提供 Google 凭据的更多信息,请参阅 https://cloud.google.com/docs/authentication

auth.oauth2.google.jwt_json

编辑

JWT 帐户密钥文件(原始 JSON 格式)。

一次只能设置一个凭据设置。如果未提供任何凭据,则会尝试通过 ADC 从环境加载默认凭据。有关如何提供 Google 凭据的更多信息,请参阅 https://cloud.google.com/docs/authentication

auth.oauth2.google.delegated_account

编辑

用于创建凭据的委托帐户的电子邮件(通常是管理员)。与 auth.oauth2.google.jwt_fileauth.oauth2.google.jwt_json 结合使用。

auth.oauth2.okta.jwk_file

编辑

您的 Okta 服务应用程序的 RSA JWK 私钥文件,用于与 Okta Org 身份验证服务器交互以使用 okta.* 范围生成令牌。

一次只能设置一个凭据设置。有关更多信息,请参阅 https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/

auth.oauth2.okta.jwk_json

编辑

您的 Okta 服务应用程序的 RSA JWK 私钥 JSON,用于与 Okta Org 身份验证服务器交互以使用 okta.* 范围生成令牌。

一次只能设置一个凭据设置。有关更多信息,请参阅 https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/

auth.oauth2.okta.jwk_pem

编辑

您的 Okta 服务应用程序的 RSA JWK 私钥 PEM 块,用于与 Okta Org 身份验证服务器交互以使用 okta.* 范围生成令牌。

一次只能设置一个凭据设置。有关更多信息,请参阅 https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/

resource.url

编辑

HTTP API 的 URL。必需。

可以通过在 URL 方案中添加 +unix+npipe 来通过 unix 套接字和 Windows 命名管道访问 API 端点,例如 http+unix:///var/socket/

resource.timeout

编辑

在声明 HTTP 客户端连接超时之前的持续时间。有效的时间单位为 nsusmssmh。默认值:30s

resource.ssl

编辑

这指定 SSL/TLS 配置。如果缺少 ssl 部分,则主机 CA 用于 HTTPS 连接。有关更多信息,请参阅 SSL

resource.keep_alive.disable

编辑

这指定是否禁用 HTTP 端点的保持活动连接。默认值:true

resource.keep_alive.max_idle_connections

编辑

所有主机上的空闲连接的最大数量。零表示没有限制。默认值:0

resource.keep_alive.max_idle_connections_per_host

编辑

每个主机保持的空闲连接的最大数量。如果为零,则默认为 2。默认值:0

resource.keep_alive.idle_connection_timeout

编辑

空闲连接在关闭自身之前保持空闲的最大时间量。有效的时间单位为 nsusmssmh。零表示没有限制。默认值:0s

resource.retry.max_attempts

编辑

HTTP 客户端的最大重试次数。默认值:5

resource.retry.wait_min

编辑

尝试重试之前等待的最小时间。默认值:1s

resource.retry.wait_max

编辑

尝试重试之前等待的最大时间。默认值:60s

resource.redirect.forward_headers

编辑

设置为 true 时,在重定向的情况下转发请求标头。默认值:false

resource.redirect.headers_ban_list

编辑

redirect.forward_headers 设置为 true 时,将转发此列表中定义的标头之外的所有标头。默认值:[]

resource.redirect.max_redirects

编辑

请求要跟随的最大重定向次数。默认值:10

resource.rate_limit.limit

编辑

指定最大总体资源请求速率的响应值。

resource.rate_limit.burst

编辑

最大突发大小。突发是指在整体速率限制之上可以发出的最大资源请求数。

resource.tracer.enable

编辑

可以在 CEL 程序中将 HTTP 请求和响应记录到本地文件系统,以调试配置。通过将 resource.tracer.enabled 设置为 true 并设置 resource.tracer.filename 值来启用此选项。可以使用其他选项来调整日志轮转行为。要删除现有日志,请将 resource.tracer.enabled 设置为 false,而无需取消设置文件名选项。

启用此选项会影响安全性,仅应用于调试。

resource.tracer.filename

编辑

为了区分不同输入实例生成的跟踪文件,可以在文件名中添加占位符 *,它将被替换为输入实例 ID。例如,http-request-trace-*.ndjson。将 resource.tracer.filenameresource.tracer.enable 设置为 false 一起设置会导致删除与文件名选项匹配的任何现有跟踪日志。

resource.tracer.maxsize

编辑

此值设置日志文件在轮转之前将达到的最大大小(以兆字节为单位)。默认情况下,日志在轮转之前允许达到 1MB。

resource.tracer.maxage

编辑

这指定保留已轮转日志文件的日期数。如果未设置,则无限期保留日志文件。

resource.tracer.maxbackups

编辑

要保留的旧日志数。如果未设置,则根据 resource.tracer.maxage 设置保留所有旧日志。

resource.tracer.localtime

编辑

是否使用主机本地时间而不是 UTC 来为已轮转日志文件名设置时间戳。

resource.tracer.compress

编辑

这决定是否应压缩已轮转的日志。

redact

编辑

在调试级别日志记录期间,state 对象和结果评估结果包含在日志中。这可能导致泄露机密信息。为了防止这种情况,可以从记录的 state 中删除或屏蔽字段。 redact 配置允许用户配置此字段屏蔽行为。出于安全原因,如果缺少 redact 配置,则会记录警告。

在不需要屏蔽的情况下,应使用空的 redact.fields 配置来消除记录的警告。

- type: cel
  redact:
    fields: ~

例如,如果在 CEL 程序中使用了用户构建的基本身份验证请求,则可以如下屏蔽密码

filebeat.inputs:
- type: cel
  resource.url: https://127.0.0.1:9200/_search
  state:
    user: [email protected]
    password: P@$$W0₹D
  redact:
    fields:
      - password
    delete: true

请注意,auth 配置层次结构下的字段不会公开到 state,因此不需要屏蔽。因此,在可能的情况下,最好将这些字段用于身份验证,而不是上面显示的请求构建。

redact.fields

编辑

这指定在调试日志记录之前要屏蔽的 state 中的字段。此数组中列出的字段将被替换为 * 或完全从发送到调试日志的消息中删除。

redact.delete

编辑

这指定是将字段替换为 * 还是完全从发送到调试日志的消息中删除。如果 delete 为 true,则将删除字段,而不是替换。

指标

编辑

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

指标 描述

resource

输入资源的 URL 或路径。

cel_executions

CEL 程序已执行的次数。

batches_received_total

接收到的事件数组数。

events_received_total

接收到的事件数。

batches_published_total

发布的事件数组数。

events_published_total

发布的事件数。

cel_processing_time

成功 CEL 程序处理时间的直方图(以纳秒为单位)。

batch_processing_time

成功批处理时间的直方图(以纳秒为单位)(非空批次的接收时间到 ACK 时间)。

http_request_total

已处理的请求总数。

http_request_errors_total

请求错误总数。

http_request_delete_total

DELETE 请求总数。

http_request_get_total

GET 请求总数。

http_request_head_total

HEAD 请求总数。

http_request_options_total

OPTIONS 请求总数。

http_request_patch_total

PATCH 请求总数。

http_request_post_total

POST 请求总数。

http_request_put_total

PUT 请求总数。

http_request_body_bytes_total

请求正文大小的总和。

http_request_body_bytes

请求正文大小的直方图。

http_response_total

接收到的响应总数。

http_response_errors_total

响应错误总数。

http_response_1xx_total

1xx 响应总数。

http_response_2xx_total

2xx 响应总数。

http_response_3xx_total

3xx 响应总数。

http_response_4xx_total

4xx 响应总数。

http_response_5xx_total

5xx 响应总数。

http_response_body_bytes_total

响应正文大小的总和。

http_response_body_bytes

响应正文大小的直方图。

http_round_trip_time

往返时间的直方图。

开发者工具

编辑

Elastic Mito 存储库中提供了一个独立的 CEL 环境,它实现了 CEL 输入的大多数注释表达式语言功能。可以使用此工具帮助开发输入将使用的 CEL 程序。可以通过运行 go install github.com/elastic/mito/cmd/mito@latest 从源代码安装,并且需要 Go 工具链。

通用选项

编辑

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

enabled
编辑

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

tags
编辑

Filebeat 包含在每个发布事件的 tags 字段中的一组标签。标签使在 Kibana 中选择特定事件或在 Logstash 中应用条件过滤变得容易。这些标签将附加到通用配置中指定的标签列表中。

示例

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

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

filebeat.inputs:
- type: cel
  . . .
  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