Jms 输入插件

编辑

对于其他版本,请参阅版本化插件文档

获取帮助

编辑

有关插件的问题,请在Discuss论坛中发起一个主题。对于错误或功能请求,请在Github中提出问题。有关 Elastic 支持的插件列表,请参阅Elastic 支持矩阵

描述

编辑

从 Jms Broker 读取事件。支持 Jms 队列和主题。

有关 Jms 的更多信息,请参阅https://javaee.github.io/tutorial/jms-concepts.html。有关所使用的 Ruby Gem 的更多信息,请参阅http://github.com/reidmorrison/jruby-jms

JMS 配置可以完全在 Logstash 配置文件中完成,也可以在 Logstash 配置文件和指定的 yaml 文件混合完成。不需要在连接工厂上调用特定于实现的方法的简单配置可以完全在 Logstash 配置中指定,而更复杂的配置应该同时使用 yaml 文件和 Logstash 配置的组合。

与 Elastic Common Schema (ECS) 的兼容性

编辑

JMS 数据是特定于应用程序的。字段的 ECS 合规性取决于用例。该插件包含基于ECS 兼容模式更改的合理默认值。禁用 ECS 兼容性时,标头、属性和有效负载将定位于事件的根级别,以保持与此插件的传统用法兼容。当以 ECS 版本为目标时,标头和属性将以 @metadata 子字段为目标,除非另有配置,以避免与 ECS 字段冲突。请参阅headers_targetproperties_targettarget

仅使用 Logstash 配置的示例配置

编辑

配置可以完全在 Logstash 配置中配置,也可以通过 Logstash 配置和 yaml 文件的组合配置,这对于在多个输入和输出之间共享相似的配置非常有用。如果需要,也可以使用 JNDI 配置 JMS 插件。

非 JNDI 连接的 Logstash 配置

编辑
 input
 {
    jms {
        broker_url => 'failover:(tcp://host1:61616,tcp://host2:61616)?initialReconnectDelay=100' 
        destination => 'myqueue' 
        factory => 'org.apache.activemq.ActiveMQConnectionFactory' 
        pub_sub => false 
        use_jms_timestamp => false 
        # JMS provider credentials if needed 
        username => 'username'
        password => 'secret'
        # JMS provider keystore and truststore details 
        keystore => '/Users/logstash-user/security/keystore.jks'
        keystore_password => 'another_secret'
        truststore => '/Users/logstash-user/security/truststore.jks'
        truststore_password => 'yet_another_secret'
        # Parts of the JMS message to be included 
        include_headers => false
        include_properties => false
        include_body => true
        # Message selector
        selector => "string_property = 'this' OR int_property < 3" 
        # Connection factory specific settings
        factory_settings => { 
                              exclusive_consumer => true
        }
        # Jar Files to include
        require_jars => ['/usr/share/jms/activemq-all-5.15.9.jar'] 
    }
  }

要连接的 Broker 的 URL。请查阅您的 JMS 提供程序文档以获取此处使用的确切语法,包括如何启用故障转移。

插件将侦听来自事件的主题或队列的名称。

用于创建与您的 JMS 提供程序的连接的 Java 连接工厂的完整名称(包括包名称)。

确定事件源是队列还是主题,对于主题设置为 true,对于队列设置为 false

确定是否使用 JMSTimestamp 标头来填充 @timestamp 字段。

如果需要,连接到 JMS 提供程序时使用的凭据。

如果需要,连接到 JMS 提供程序时使用的密钥库和信任库。

要包含在事件中的 JMS 消息的部分 - 标头、属性和消息正文可以包含或排除在事件之外。

消息选择器:使用此选项来筛选要处理的消息。整个选择器查询应使用双引号括起来,字符串属性值应使用单引号括起来,数字属性值不应使用引号括起来。有关确切的语法,请参阅 JMS 提供程序文档。

可以在此处添加直接在 ConnectionFactory 对象上设置的其他设置。

JMS 提供程序所需的 jar 列表。路径应该是 JMS 提供程序所需的所有 jar 文件的完全限定位置。此列表还可以包括依赖项 jar 以及来自 JMS 提供程序的特定 jar。

JNDI 连接的 Logstash 配置

编辑
 input {
    jms {
        # Logstash Configuration Settings. 
        include_headers => false
        include_properties => false
        include_body => true
        use_jms_timestamp => false
        destination => "myqueue"
        pub_sub => false
        # JNDI Settings
        jndi_name => /jms/cf/default 
        jndi_context => { 
         'java.naming.factory.initial' => com.solacesystems.jndi.SolJNDIInitialContextFactory
         'java.naming.security.principal' => solace-cloud-client@user
         'java.naming.provider.url' => tcp://address.messaging.solace.cloud:20608
         'java.naming.security.credentials' => verysecret
        }
        # Jar files to be imported
        require_jars=> ['/usr/share/jms/commons-lang-2.6.jar', 
                        '/usr/share/jms/sol-jms-10.5.0.jar',
                        '/usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar',
                        '/usr/share/jms/commons-lang-2.6.jar]'
    }
 }

配置设置。请注意,此处未定义 broker_urlusernamepassword,这些是在 jndi_context 哈希中定义的。

此连接的 JNDI 名称。

JNDI 上下文设置哈希。包含有关如何连接到 JNDI 服务器的详细信息。有关特定于实现的详细信息,请参阅您的 JMS 提供程序文档。

JMS 提供程序所需的 jar 列表。路径应该是 JMS 提供程序所需的所有 jar 文件的完全限定位置。此列表还可以包括依赖项 jar 以及来自 JMS 提供程序的特定 jar。

使用 Logstash 配置和 Yaml 文件的示例配置

编辑

非 JNDI 连接

编辑

本节包含有关使用 Logstash 配置和 yaml 文件组合连接到不使用 JNDI 的 JMS 提供程序的示例配置

非 JNDI 连接的 Logstash 配置(对于包括 yaml 的配置)

编辑
 input {
    jms {
        # Logstash Configuration File Settings 
        include_headers => false
        include_properties => false
        include_body => true
        use_jms_timestamp => false
        destination => "myqueue"
        pub_sub => false
        # JMS Provider credentials 
        username => xxxx
        password => xxxx
        # Location of yaml file, and which section to use for configuration
        yaml_file => "~/jms.yml"  
        yaml_section => "mybroker" 
    }
 }

配置设置

连接的用户名和密码。

包含 ConnectionFactory 定义的 yaml 文件的完整路径。

此插件定义的 ConnectionFactory 的 yaml 文件中的节名称

非 JNDI 连接的 Yaml 文件

编辑
mybroker: 
  :broker_url: 'ssl://127.0.0.1:61617' 
  :factory: org.apache.activemq.ActiveMQConnectionFactory 
  :exclusive_consumer: true 
  :require_jars: 
    - /usr/share/jms/activemq-all-5.15.9.jar
    - /usr/share/jms/log4j-1.2.17.jar

此 Broker 定义的节名称。这应该是 Logstash 配置文件中 yaml_section 的值。请注意,多个节可以共存于同一个 yaml 文件中。

Broker 的完整 URL。有关详细信息,请参阅您的 JMS 提供程序文档。

用于创建与您的 JMS 提供程序的连接的 Java 连接工厂的完整名称(包括包名称)。

与指定的连接工厂一起使用的特定于实现的配置参数。在 <3> 中。每个 JMS 提供程序都有自己的一组可以在此处使用的参数。这些参数将映射到提供的连接工厂上的 set 方法,并且可以使用蛇形驼峰大小写提供。在上面的 <4> 中,exclusive_consumer 属性将调用提供的连接工厂上的 setExclusiveConsumer。有关特定于实现的详细信息,请参阅您的 JMS 提供程序文档。

JMS 提供程序所需的 jar 列表。路径应该是 JMS 提供程序所需的所有 jar 文件的完全限定位置。此列表还可以包括依赖项 jar 以及来自 JMS 提供程序的特定 jar。

JNDI 连接

编辑

本节包含有关使用 Logstash 配置和 yaml 文件组合连接到使用 JNDI 的 JMS 提供程序的示例配置

JNDI 连接的 Logstash 配置(对于包括 yaml 的配置)

编辑
 input {
    jms {
        # Logstash specific configuration settings 
        include_headers => false
        include_properties => false
        include_body => true
        use_jms_timestamp => false
        destination => "myqueue"
        pub_sub => false
        # Location of yaml file, and which section to use for configuration
        yaml_file => "~/jms.yml"  
        yaml_section => "mybroker" 
    }
 }

配置设置

包含 ConnectionFactory 定义的 yaml 文件的完整路径。

此插件定义的 ConnectionFactory 的 yaml 文件中的节名称

JNDI 连接的 Yaml 文件

编辑
solace: 
  :jndi_name: /jms/cf/default 
  :jndi_context: 
    java.naming.factory.initial: com.solacesystems.jndi.SolJNDIInitialContextFactory
    java.naming.security.principal: solace-cloud-client@user
    java.naming.provider.url: tcp://address.messaging.solace.cloud:20608
    java.naming.security.credentials: verysecret
  :require_jars: 
    - /usr/share/jms/commons-lang-2.6.jar
    - /usr/share/jms/sol-jms-10.5.0.jar
    - /usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar
    - /usr/share/jms/commons-lang-2.6.jar

此 Broker 定义的节名称。这应该是 Logstash 配置文件中 yaml_section 的值。

可以在其中找到工厂的 JNDI 条目的名称

JNDI 上下文设置。包含有关如何连接到 JNDI 服务器的详细信息。有关特定于实现的详细信息,请参阅您的 JMS 提供程序文档。

JMS 提供程序所需的 jar 列表。路径应该是 JMS 提供程序所需的所有 jar 文件的完全限定位置。此列表还可以包括依赖项 jar 以及来自 JMS 提供程序的特定 jar。

Jar 文件

编辑

为了与 JMS Broker 通信,插件必须加载每种客户端类型所需的 jar 文件。这可以在 yaml 文件中设置,也可以在不需要 yaml 文件时在主配置中设置。require_jars 设置应包含客户端所需的每个 jar 文件的完整路径。例如

Logstash 配置

编辑
 input {
    jms {
              :
              [snip]
         require_jars => ['/usr/share/jms/commons-lang-2.6.jar',
                          '/usr/share/jms/sol-jms-10.5.0.jar',
                          '/usr/share/jms/geronimo-jms_1.1_spec-1.1.1.jar',
                          '/usr/share/jms/commons-lang-2.6.jar']
    }
 }

故障排除

编辑

本节包含用户在将此插件与他们的 JMS 提供程序集成时可能遇到的一些常见问题。

缺少 Jar 文件

编辑

最常见的问题是缺少 jar 文件,这些 jar 文件可能是由 JMS 供应商提供的 jar 文件,也可能是 JMS 供应商要求运行的 jar 文件。此问题可能会以不同的方式体现,具体取决于发现缺少 jar 文件的位置。

示例日志输出

  Failed to load JMS Connection, likely because a JMS Provider is not on the Logstash classpath or correctly
  specified by the plugin's `require_jars` directive
  {:exception=>"cannot load Java class javax.jms.DeliveryMode"
  JMS Consumer Died {:exception=>"Java::JavaxNaming::NoInitialContextException",
                     :exception_message=>"Cannot instantiate class:"
  warning: thread "[main]<jms" terminated with exception (report_on_exception is true):
  java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableException
  JMS Consumer Died {:exception=>"Java::JavaxJms::JMSException", :exception_message=>"io/netty/channel/epoll/Epoll",
  :root_cause=>{:exception=>"Java::JavaLang::NoClassDefFoundError", :exception_message=>"io/netty/channel/epoll/Epoll"}

如果发生任何这些问题,请检查 Logstash 配置或 yaml 配置文件中的 require_jars 列表。

设置系统属性

编辑

许多 JMS 提供程序允许或期望设置系统属性,以在使用 JMS 时配置某些属性,例如,Apache qpid JMS 客户端允许将连接工厂查找存储在那里,而 Solace JMS 客户端允许将许多属性(例如,连接重试次数)设置为系统属性。设置的任何系统属性都应在 Logstash jvm.options 文件中设置。

同一 Logstash 进程中的多个 JMS 输入/输出

编辑

如果存在以下情况,则不支持在同一 Logstash 进程中使用多个 JMS 消费者和生产者

  • 任何消费者/生产者的系统属性都需要不同
  • 任何消费者/生产者都需要不同的密钥库或信任库

消息选择器意外地筛选掉所有消息

编辑

不正确的消息选择器语法可能产生两种影响 - 要么语法不正确,JMS 提供程序的选择器分析器将引发异常导致插件失败,要么语法将被接受,但消息将被静默删除 - 这可能会在选择器定义中错误地引用字符串属性时发生。所有选择器定义都必须在 Logstash 配置文件中使用双引号括起来,字符串属性值必须使用单引号括起来,数字属性值根本不使用引号。

无法使用 MissingConverterException 创建事件

编辑

来自某些 JMS 提供程序的消息可能包含 Logstash 无法解释的标头或属性,这可能会导致诸如以下之类的错误消息

[2019-11-25T08:04:28,769][ERROR][logstash.inputs.jms      ] Failed to create event {:message=>Java::ComSolacesystemsJmsMessage::SolTextMessage: ...
Attributes: {:jms_correlation_id=>"xxxx", :jms_delivery_mode_sym=>:non_persistent, :jms_destination=>"destination", :jms_expiration=>0, :jms_message_id=>"xxxxxx", :jms_priority=>0, :jms_redelivered=>false, :jms_reply_to=>#<Java::ComSolacesystemsJmsImpl::SolTopicImpl:0xdeadbeef>, :jms_timestamp=>1574669008862, :jms_type=>nil}
Properties: nil, :exception=>org.logstash.MissingConverterException: Missing Converter handling for full class name=com.solacesystems.jms.impl.SolTopicImpl, simple name=SolTopicImpl, :backtrace=>["org.logstash.Valuefier.fallbackConvert(Valuefier.java:98)..."]}
:exception=>org.logstash.MissingConverterException: Missing Converter handling for full class name=com.solacesystems.jms.impl.SolTopicImpl

要解决此问题,请使用 skip_headersskip_properties 配置设置来避免尝试处理消息中违反规则的标头或属性。

在上面显示的示例中,此属性导致 MissingConverterException

jms_reply_to=>#<Java::ComSolacesystemsJmsImpl::SolTopicImpl:0xdeadbeef>

为了避免此错误,配置应包括以下行

skip_headers => ["jms_reply_to"]

Jms 输入配置选项

编辑

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

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

 

broker_url

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

连接到JMS提供程序时使用的URL。这仅与非JNDI配置相关。

destination

编辑
  • 这是一个必需的设置。
  • 值类型为字符串
  • 此设置没有默认值。

要使用的目标队列或主题的名称。

如果目标设置似乎无法正常工作,请尝试以下格式:<JMS模块名称>!<JMS队列名称>

durable_subscriber

编辑
  • 值类型为布尔值
  • 默认值为false
  • 需要将pub_sub设置为true

将此值设置为true将使对主题的订阅变为“持久”,从而允许在Logstash未运行时到达指定主题的消息仍然可以被读取。如果不设置此值,则在Logstash未主动侦听时发送到主题的任何消息都将丢失。持久订阅者指定一个唯一的标识,该标识包括主题(destination),客户端ID(durable_subscriber_client_id)和订阅者名称(durable_subscriber_subscriber_name)。有关这些设置的任何其他要求/限制,请参阅您的JMS提供程序文档。

  • 请注意,一个持久订阅一次只能有一个活动的订阅者。
  • 请注意,仅当pub_sub设置为true时才允许此设置,否则会生成配置错误

durable_subscriber_client_id

编辑
  • 值类型为字符串
  • 如果设置了durable_subscriber,则此设置的默认值为Logstash,否则此设置无效

这表示持久订阅的客户端ID的值,并且仅当durable_subscriber设置为true时才使用。

durable_subscriber_name

编辑
  • 值类型为字符串
  • 如果设置了durable_subscriber,则此设置的默认值将与destination设置的值相同,否则此设置无效。

这表示持久订阅的订阅者名称的值,并且仅当durable_subscriber设置为true时才使用。有关此设置的约束和要求,请参阅您的JMS提供程序文档。

ecs_compatibility

编辑
  • 值类型为字符串
  • 支持的值为

    • disabled:不使用与ECS兼容的字段名称(字段可能设置在事件的根目录)
    • v1v8:避免可能与Elastic Common Schema冲突的字段名称(例如,JMS特定属性)
  • 默认值取决于Logstash运行的版本

    • 当Logstash提供pipeline.ecs_compatibility设置时,其值将用作默认值
    • 否则,默认值为disabled

控制此插件与Elastic Common Schema(ECS)的兼容性。此设置的值会影响headers_targetproperties_target默认值。

factory

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

用于创建与您的 JMS 提供程序的连接的 Java 连接工厂的完整名称(包括包名称)。

factory_settings

编辑
  • 值类型为哈希
  • 此设置没有默认值。

要在JMS提供程序的连接工厂上设置的特定于实现的配置值的哈希值。每个JMS提供程序都有自己的一组可以在此处使用的参数。这些参数映射到所提供连接工厂上的set方法,并且可以以snakecamel大小写形式提供。例如,包含exclusive_consumer => true的哈希会在所提供的连接工厂上调用setExclusiveConsumer(true)。有关特定于实现的详细信息,请参阅您的JMS提供程序文档。

headers_target

编辑
  • 值类型为字符串
  • 默认值取决于是否启用了ecs_compatibility

    • 禁用ECS兼容性:此设置没有默认值
    • 启用ECS兼容性:`"[@metadata][input][jms][headers]"`

如果要设置include_headers,将在其下添加JMS标头的字段名称。

include_body

编辑

在事件中包含JMS消息正文。支持TextMessage,MapMessage和BytesMessage。

如果JMS消息是TextMessage或BytesMessage,则该值将位于事件的“message”字段中。如果JMS消息是MapMessage,则默认情况下,所有键/值对都将添加到事件的顶层。为避免污染顶层命名空间,在接收MapMessage时,请使用target

不支持StreamMessage和ObjectMessage。

include_header

编辑

注意:此选项已弃用,将在Logstash的下一个主要版本中删除。请改用include_headers

include_headers

编辑

JMS消息分为三个部分

  • 消息标头(必需)
  • 消息属性(可选)
  • 消息正文(可选)

您可以告诉输入插件应将哪些部分包括在Logstash生成的事件中。

在事件中包含标准JMS消息头字段值。示例标头

    {
        "jms_message_id" => "ID:amqhost-39547-1636977297920-71:1:1:1:1",
        "jms_timestamp" => 1636977329102,
        "jms_expiration" => 0,
        "jms_delivery_mode" => "persistent",
        "jms_redelivered" => false,
        "jms_destination" => "topic://41ad5342149901ad",
        "jms_priority" => 4,
        "jms_type" => "sample",
        "jms_correlation_id" => "28d975cb-14ff-4285-841e-05ef1e0a7ab2"
    }

include_properties

编辑

在事件中包含JMS消息属性字段值。

interval

编辑
  • 值类型为数字
  • 默认值为10

轮询间隔(以秒为单位)。这是在向消耗的队列询问之间休眠的时间。此参数在订阅主题的情况下没有影响。

jndi_context

编辑
  • 值类型为哈希
  • 此设置没有默认值。

仅在使用JNDI查找时使用。如果使用JNDI,则键值对用于确定如何连接JMS消息代理。有关此处要使用的正确值,请查阅您的JMS提供程序文档。

jndi_name

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

仅在使用JNDI查找时使用。可以在其中找到Factory的JNDI条目的名称。

keystore

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

如果您需要使用自定义密钥库(.jks),请在此处指定。这不适用于.pem密钥

keystore_password

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

在此处指定密钥库密码。请注意,大多数使用keytool创建的.jks文件都需要密码

oracle_aq_buffered_messages

编辑

接收Oracle AQ缓冲的消息。在此模式下,将不会接收持久的Oracle AQ JMS消息。仅用于Oracle AQ

password

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

连接到JMS提供程序时要使用的密码。

properties_target

编辑
  • 值类型为字符串
  • 默认值取决于是否启用了ecs_compatibility

    • 禁用ECS兼容性:此设置没有默认值
    • 启用ECS兼容性:`"[@metadata][input][jms][properties]"`

如果要设置include_properties,将在其下添加JMS属性的字段名称。

pub_sub

编辑

是否应使用发布-订阅(主题)样式。请注意,如果pub_sub设置为true,则threads必须设置为1。

require_jars

编辑
  • 值类型为数组
  • 此设置没有默认值。

如果您不使用yaml配置,请使用工厂或jndi_name。要为指定的JMS提供程序加载的可选Jar文件名数组。通过使用此选项,不必在启动Logstash之前将所有JMS提供程序特定的jar文件放入Java CLASSPATH中。

runner

编辑
  • 已弃用警告:此配置项已弃用,可能在以后的版本中不可用。

selector

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

JMS消息选择器。与消息标头或属性结合使用,以筛选要处理的消息。仅处理与此处指定的查询匹配的消息。有关正确的JMS消息选择器语法,请咨询您的JMS提供程序。

skip_headers

编辑
  • 值类型为数组
  • 此设置没有默认值。

如果设置了include_headers,则可以在此处指定要跳过处理的标头列表。

skip_properties

编辑
  • 值类型为数组
  • 此设置没有默认值。

如果设置了include_properties,则可以在此处指定要跳过处理的属性列表。

system_properties

编辑
  • 值类型为哈希
  • 此设置没有默认值。

JMS提供程序需要的任何系统属性都可以在此处的哈希中或在jvm.options中设置

target

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

将MapMessage数据分配到的字段名称。如果未指定,数据将存储在事件的根目录中。

对于TextMessage和BytesMessage,target无效。请改用编解码器设置,例如codec => json { target => "[jms]" }

threads

编辑
  • 值类型为数字
  • 默认值为1

如果pub_sub设置为true,则此值必须1。否则将抛出配置错误!

timeout

编辑
  • 值类型为数字
  • 默认值为60

初始连接超时(以秒为单位)。

truststore

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

如果您需要使用自定义信任库(.jks),请在此处指定。这不适用于.pem证书。

truststore_password

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

在此处指定信任库密码。

  • 注意,大多数使用keytool创建的.jks文件都需要密码。

use_jms_timestamp

编辑

将JMSTimestamp标头字段转换为事件的@timestamp值

username

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

用于连接到JMS提供程序的用户名。

yaml_file

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

Yaml配置文件

yaml_section

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

Yaml配置文件节名称。有关一些已知的示例,请参阅jms.yml示例

通用选项

编辑

所有输入插件都支持这些配置选项

设置 输入类型 必需

add_field

哈希

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为哈希
  • 默认值为{}

向事件添加字段

codec

编辑

用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前对其进行解码,而无需在 Logstash 管道中设置单独的过滤器。

enable_metric

编辑

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

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

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

input {
  jms {
    id => "my_plugin_id"
  }
}

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

tags

编辑
  • 值类型为 数组
  • 此设置没有默认值。

向您的事件添加任意数量的标签。

这有助于以后的处理。

type

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

为此输入处理的所有事件添加一个 type 字段。

类型主要用于过滤器激活。

该类型作为事件本身的一部分存储,因此您也可以使用该类型在 Kibana 中搜索它。

如果您尝试在已经具有类型的事件上设置类型(例如,当您将事件从 shipper 发送到 indexer 时),则新的输入不会覆盖现有类型。在 shipper 上设置的类型会在该事件的整个生命周期内保留,即使发送到另一个 Logstash 服务器也是如此。