Elastic Workplace Search 输出插件

编辑

Elastic Workplace Search 输出插件编辑

有关其他版本,请参阅 版本化插件文档

获取帮助编辑

如果您对插件有任何疑问,请在 Discuss 论坛中发布主题。对于错误或功能请求,请在 Github 中创建问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述编辑

此输出允许您将事件发送到 Elastic Workplace Search 解决方案。在从 Logstash 管道接收一批事件后,插件会将事件转换为文档,并使用 Workplace Search 批量 API 在一个请求中索引多个事件。

Workplace Search 不允许字段以 @timestamp 开头。默认情况下,在将事件发送到 Workplace Search 之前,将从每个事件中删除 @timestamp@version 字段。如果您想保留 @timestamp 字段,可以使用 timestamp_destination 选项将时间戳存储在其他字段中。

此 gem 不支持编解码器自定义。

Workplace Search 输出配置选项编辑

此插件支持以下配置选项,以及后面描述的 通用选项

另请参阅 通用选项,了解所有输出插件支持的选项列表。

 

access_token编辑

  • 值类型为 密码
  • 没有默认值

源访问令牌。访问 Workplace Search 仪表板中的源概述页面,以查找与您的源关联的令牌。

document_id编辑

Workplace Search 文档的 ID。这可以是插值值,例如 myapp-%{sequence_id}。重复使用 ID 将导致文档被重写。

source编辑

您在 Workplace Search 中创建的源的 ID。 source 字段支持 sprintf 格式,允许从每个事件的字段值中派生源 ID,例如 %{source_id}

无效的源 ID 会导致摄取停止,直到字段值可以解析为有效的源 ID。如果插值字段值解析为没有匹配源的值,或者如果事件中缺少该字段并且根本无法解析,则可能会发生这种情况。

考虑在配置中添加“默认”源类型,以在事件中缺少该字段时捕获错误。

示例

input {
  stdin {
    codec => json
  }
}

filter {
  if ![source_id] {
    mutate {
      add_field => {"source_id" => "default"}
    }
  }
}

output {
  elastic_workplace_search {
    source => "%{[source_id]}"
    access_token => "abracadabra"
    url => "http://workplace.search.com:3002"
  }
}

ssl_certificate_authorities编辑

  • 值类型为列表 of 路径
  • 此设置没有默认值

用于验证服务器证书的 .cer 或 .pem 文件。

您不能同时使用此设置和 ssl_truststore_path

ssl_cipher_suites编辑

  • 值类型为列表 of 字符串
  • 此设置没有默认值

要使用的密码套件列表,按优先级排序。支持的密码套件因 Java 和协议版本而异。

ssl_supported_protocols编辑

  • 值类型为 字符串
  • 允许的值为:'TLSv1.1''TLSv1.2''TLSv1.3'
  • 默认值取决于所使用的 JDK。使用最新 Logstash 时,默认值为 ['TLSv1.2', 'TLSv1.3']'TLSv1.1' 不被认为是安全的,仅为旧版应用程序提供。

建立与 Elasticsearch 集群的连接时要使用的允许 SSL/TLS 版本列表。

对于 Java 8,'TLSv1.3' 仅从 8u262(AdoptOpenJDK)开始受支持,但要求您在 Logstash 中设置 LS_JAVA_OPTS="-Djdk.tls.client.protocols=TLSv1.3" 系统属性。

如果您将插件配置为在任何最新的 JVM(例如与 Logstash 打包在一起的 JVM)上使用 'TLSv1.1',则该协议默认情况下处于禁用状态,需要通过更改 $JDK_HOME/conf/security/java.security 配置文件中的 jdk.tls.disabledAlgorithms 手动启用。也就是说,需要从列表中删除 TLSv1.1

ssl_truststore_password编辑

  • 值类型为 密码
  • 此设置没有默认值。

设置信任库密码

ssl_truststore_path编辑

  • 值类型为 路径
  • 此设置没有默认值。

用于验证服务器证书的信任库。它可以是 .jks.p12

您不能同时使用此设置和 ssl_certificate_authorities

ssl_truststore_type编辑

  • 值可以是以下任何一个:jkspkcs12
  • 如果未提供,则将从信任库文件名推断出该值。

信任库文件的格式。它必须是 jkspkcs12

ssl_verification_mode编辑

  • 值可以是以下任何一个:fullnone
  • 默认值为 full

定义如何验证 TLS 连接中另一方提供的证书

full 验证服务器证书的颁发日期是否在 not_before 和 not_after 日期范围内;链接到受信任的证书颁发机构 (CA),并且具有与证书中的名称匹配的主机名或 IP 地址。

none 不执行证书验证。

将证书验证设置为 none 会禁用 SSL/TLS 的许多安全优势,这非常危险。有关禁用证书验证的更多信息,请阅读 https://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf

timestamp_destination编辑

@timestamp 字段的值移动到哪里。

所有 Logstash 事件都包含 @timestamp 字段。Workplace Search 不支持以 @timestamp 开头的字段,默认情况下,将删除 @timestamp 字段。

要保留时间戳字段,请将此值设置为要复制 @timestamp 的字段的名称。

urledit

  • 值类型为 字符串
  • 默认值为 https://127.0.0.1:3002

API 端点的值,以 URL 的形式表示。

示例

本地实例

http://workplace.company.com:3002

Elastic Cloud 实例

https://7c455f508468426cb53912be65548117.ent-search.eu-west-1.aws.cloud.es.io

通用选项edit

以下配置选项受所有输出插件支持

设置 输入类型 必需

enable_metric

布尔值

id

字符串

enable_metricedit

禁用或启用此特定插件实例的指标日志记录。默认情况下,我们会记录所有可能的指标,但您可以为特定插件禁用指标收集。

idedit

  • 值类型为 字符串
  • 此设置没有默认值。

在插件配置中添加一个唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用。例如,如果您有两个 elastic_workplace_search 输出。在这种情况下,添加一个命名 ID 将有助于在使用监控 API 时监控 Logstash。

output {
  elastic_workplace_search {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。