Pulsar Consumer

支持的管道类型:

  •  Data Collector

Pulsar Consumer源从Apache Pulsar集群中的一个或多个主题读取消息。

Pulsar Consumer源订阅Pulsar主题,处理传入消息,然后在读取消息时将确认发送回Pulsar。

配置Pulsar Consumer源时,您将定义要连接到Pulsar的URL。您还可以定义要用于源端和主题的订阅名称和使用者名称。当管道启动时,Pulsar用指定的使用者名称创建使用者。如果订阅和主题不存在,Pulsar还将创建订阅和主题。

您可以将源配置为使用Pulsar安全功能。您还可以根据需要配置高级属性,例如要创建的订阅类型或要开始读取的初始偏移量。

Pulsar Consumer源可以包含记录头属性,使您能够在管道处理中使用有关记录的信息。

有关Pulsar主题,订阅和使用者的更多信息,请参阅Apache Pulsar文档。

主题选择器

Pulsar Consumer源可以订阅一个主题或多个主题。无论哪种情况,源端都使用一个线程进行读取。

注意:要并行阅读同一主题,请参阅主题的并行阅读。

要定义源端订阅的主题,请在“Pulsar”选项卡上配置“Topics Selector”属性。

源端提供了以下订阅主题的方法:

Single Topic
订阅一个主题。使用以下格式来指定主题名称:

{persistent|non-persistent}://<tenant>/<namespace>/<topic name>
例如,订阅名为持久的话题 my-sdc-topicmy-namespace 该范围内的命名空间my-tenant的租户,输入以下内容作为主题名称:

persistent://my-tenant/my-namespace/my-sdc-topic
如果仅输入主题名称,则Pulsar使用默认 persistent://public/default/位置。例如,要订阅名称空间中属于public 承租人的持久性主题default,只需输入主题名称,如下所示:

my-sdc-topic
如果指定的主题不存在,则Pulsar在管道启动时创建主题。
您可以使用表达式来定义主题名称。例如,要订阅以Data Collector主机名命名的主题,请输入以下内容作为主题名称:

persistent://my-tenant/my-namespace/${sdc:hostname()}
Topics List
订阅主题名称列表中定义的多个主题。使用“添加”图标添加其他主题名称。使用单个主题所需的相同格式定义每个主题名称。
Topics Pattern
订阅由命名模式定义的多个主题。使用以下格式来指定模式:

{persistent|non-persistent}://<tenant>/<namespace>/<regular expression>
例如,要预订名称以开头的所有持久主题 sdc-,请输入以下作为主题名称:

persistent://my-tenant/my-namespace/sdc-.*
此模式使用诸如sdc-topic或的 名称将源订阅给指定租户和名称空间中的所有主题sdc-data
重要:通过模式预订多个主题时,所有主题都必须位于同一命名空间中。

有关定义主题名称和订阅多个主题的更多信息,请参阅Apache Pulsar文档。

并行读取主题

Pulsar Consumer源可以订阅一个主题或多个主题。无论哪种情况,源端都使用一个线程从一个或多个主题中读取。要从同一主题执行并行读取,您可以使用订阅同一主题的Pulsar Consumer源配置多个管道。

要将多个源端配置为订阅同一主题,您需要确定这些源端是使用单个共享订阅,多个独占订阅还是多个故障转移订阅。共享订阅允许多个使用者加入到同一订阅。独占订阅仅允许单个消费者加入到订阅。故障转移订阅允许多个使用者加入到同一订阅,但是一次只有一个使用者接收消息。如果最初的主使用者断开连接,则消息将传递到下一个使用者。

有关Pulsar订阅​​模式的更多信息,请参阅Pulsar文档中的订阅模式。

您可以通过以下方式配置多个Pulsar Consumer源以订阅相同的Pulsar主题:

Single shared subscription
要将多个Pulsar Consumer源配置为使用同一共享订阅来订阅同一主题,请配置以下源端属性:

  • Subscription Name-在“Pulsar”选项卡上,将每个源端配置为使用相同的订阅名称。
  • Topic-在“Pulsar”选项卡上,将每个源端配置为使用相同的主题名称。
  • Subscription Type-在“Advanced”选项卡上,将每个源端配置为使用共享订阅类型。
Multiple exclusive subscriptions
要将多个Pulsar Consumer源配置为使用多个互斥订阅来订阅同一主题,请配置以下源端属性:

  • Subscription Name-在“Pulsar”选项卡上,将每个源端配置为使用唯一的订阅名称。
  • Topic-在“Pulsar”选项卡上,将每个源端配置为使用相同的主题名称。
  • Subscription Type-在“Advanced”选项卡上,将每个源端配置为使用独占订阅类型。
Multiple failover subscriptions
要将多个Pulsar Consumer源配置为使用多个故障转移订阅来订阅同一主题,请配置以下源端属性:

  • Subscription Name-在“Pulsar”选项卡上,将每对源端配置为使用唯一的订阅名称。

    例如,将管道A和管道B中的源端配置为使用subscription1。如果管道A的源端断开连接,则管道A中的源端用作主使用者,管道B的源端是接收消息的下一行。然后,将pipelineC和pipelineD中的源端配置为使用subscription2。

  • Topic-在“Pulsar”选项卡上,将每个源端配置为使用相同的主题名称。
  • 订Subscription Type-在“Advanced”选项卡上,将每个源端配置为使用故障转移订阅类型。

启用安全性

如果Pulsar集群使用安全功能,则必须将Pulsar Consumer源配置为使用相同的安全功能连接到Pulsar。

Pulsar集群可以使用以下安全功能:

TLS transport encryption
为TLS传输加密配置后,Pulsar集群将使用TLS加密Pulsar服务器与客户端之间的所有流量。Pulsar服务器使用密钥和证书,客户端使用该密钥和证书来验证服务器的身份。
Mutual TLS authentication
当配置为TLS传输加密时,可以将Pulsar集群配置为使用相互TLS身份验证。通过相互身份验证,客户端还使用服务器用来验证客户端身份的密钥和证书。
  1. 在阶段的“Pulsar”选项卡上,将“Pulsar URL”属性设置为代理服务的安全URL。

    URL使用以下格式:

    pulsar+ssl://<host name>:<broker service TLS port>/

    例如:

    pulsar+ssl://pulsar.us-west.example.com:6651/
  2. 在阶段的“Security选项卡上,选择“Enable TLS
  3. 将包含对Pulsar集群证书签名的证书颁发机构(CA)的PEM文件存储在Data Collector资源目录$SDC_RESOURCES中。
    有关为Pulsar集群创建证书的信息,请参阅 Pulsar文档
  4. 在阶段的“Security选项卡上,在“CA Certificate PEM 属性中输入CA证书PEM文件的名称。
  5. 如果还为Pulsar集群配置了相互TLS身份验证,请在阶段的“Security选项卡上选择“Enable Mutual Authentication” 。
  6. 创建客户端证书和客户端私钥PEM文件以供该阶段使用。
    有关为Pulsar创建客户端证书的信息,请参阅Pulsar文档。
  7. 将为该阶段创建的客户端证书和客户端私钥PEM文件存储在Data Collector 资源目录$SDC_RESOURCES中。
  8. 在阶段的“Security选项卡上,在“Client Certificate PEM和“Client Key PEM属性中输入客户端文件的名称。

偏移量管理

Pulsar Consumer源第一次接收到来自主题的消息时,将为该订阅和主题创建一个偏移量条目。偏移量条目由Pulsar创建和维护。

根据是否存在存储的偏移量条目,Pulsar Consumer源将开始在主题中接收消息:

没有存储的偏移
当订阅和主题组合不具有先前存储的偏移时,Pulsar Consumer源将根据在来源的“Advanced”选项卡上定义的初始偏移的值开始接收消息。
您将以下值用作初始偏移量:

  • Latest-在管道启动后开始阅读写入该主题的最新可用消息,而忽略该主题中所有现有的消息。这是默认的初始偏移量。
  • Earliest-开始阅读尚未确认的主题中的最早可用消息。
先前存储的偏移
当订阅和主题组合具有先前存储的偏移量时,Pulsar Consumer源将接收到从存储的偏移量之后的下一条未处理的消息开始的消息。例如,当您停止并重新启动管道时,处理将从最后提交的偏移量恢复。

记录头属性

Pulsar Consumer源包含消息的属性字段中(payload字段之外)的任何信息,这些信息在记录中作为记录头属性。

您可以使用record:attribute或 record:attributeOrDefault函数来访问属性中的信息。有关使用记录头属性的更多信息,请参见使用头属性。

数据格式

Pulsar Consumer源基于数据格式对数据的处理方式有所不同。Pulsar Consumer可以处理以下类型的数据:

Binary
生成一条记录,在记录的根部有一个单字节数组字段。
当数据超过用户定义的最大数据大小时,源端将无法处理数据。因为未创建记录,所以源端无法将记录传递到管道以将其写为错误记录。相反,源端会产生阶段错误。
Datagram
为每条消息生成一条记录。可以处理收集的消息,NetFlow 5和NetFlow 9消息以及以下类型的syslog消息:

  • RFC 5424
  • RFC 3164
  • 非标准通用消息,例如RFC 3339日期,没有版本数字
在处理NetFlow消息时,该阶段会根据NetFlow版本生成不同的记录。处理NetFlow 9时,将基于NetFlow 9配置属性生成记录。有关更多信息,请参见NetFlow数据处理。
Delimited
为每个分隔的行生成一条记录。您可以使用以下分隔格式类型:

  • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
  • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
  • MS Excel CSV -Microsoft Excel逗号分隔文件。
  • MySQL CSV -MySQL逗号分隔文件。
  • Tab-Separated Values -包含制表符分隔的值的文件。
  • PostgreSQL CSV -PostgreSQL逗号分隔文件。
  • PostgreSQL文本 -PostgreSQL文本文件。
  • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
  • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
您可以将列表或列表映射根字段类型用于分隔数据,并可以选择在标题行中包括字段名称(如有)。有关根字段类型的更多信息,请参见分隔数据根字段类型。
使用标题行时,可以启用对额外列的记录处理。额外列使用自定义的前缀和顺序递增的顺序整数,如命名 _extra_1, _extra_2。当您禁止额外列时,包含额外列的记录将发送到错误。
您也可以将字符串常量替换为空值。
当一条记录超过为该阶段定义的最大记录长度时,该阶段将根据为该阶段配置的错误处理来处理对象。
JSON
为每个JSON对象生成一条记录。您可以处理包含多个JSON对象或单个JSON数组的JSON文件。
当对象超过为源端定义的最大对象长度时,源端会根据为阶段配置的错误处理来处理对象。
Log
为每个日志行生成一条记录。
当一行超过用户定义的最大行时,源端将截断更长的行。
您可以将处理后的日志行作为字段包含在记录中。如果日志行被截断,并且您在记录中请求日志行,则源端包括被截断的行。
您可以定义要读取的日志格式或类型。
Protobuf
为每个protobuf消息生成一条记录。
Protobuf消息必须与指定的消息类型匹配,并在描述符文件中进行描述。
当记录数据超过1 MB时,源端将无法继续处理文件中的数据。源端根据文件错误处理属性处理文件,并继续读取下一个文件。
有关生成描述符文件的信息,请参阅Protobuf数据格式先决条件。
SDC Record
为每条记录生成一条记录。用于处理由Data Collector管道使用SDC记录数据格式生成的记录。
对于错误记录,源端提供从原始管道中的源端读取的原始记录,以及可用于更正记录的错误信息。
处理错误记录时,源端希望原始管道生成的错误文件名和内容。
Text
根据自定义分隔符为每行文本或每段文本生成一条记录。
当一条线或一段超出为源端定义的最大线长时,源端会截断它。源端添加了一个名为Truncated的布尔字段,以指示该行是否被截断。
有关使用自定义分隔符处理文本的更多信息,请参见使用自定义分隔符的文本数据格式。
XML
根据用户定义的分隔符元素生成记录。在根元素下直接使用XML元素或定义简化的XPath表达式。如果未定义分隔符元素,则源端会将XML文件视为单个记录。
默认情况下,生成的记录包括XML属性和名称空间声明作为记录中的字段。您可以配置阶段以将它们包括在记录中作为字段属性。
您可以在字段属性中包含每个解析的XML元素和XML属性的XPath信息。这还将每个名称空间放在xmlns记录头属性中。
注意: 只有在目标中使用SDC RPC数据格式时,字段属性和记录头属性才会自动写入目标系统。有关使用字段属性和记录头属性以及如何将它们包括在记录中的更多信息,请参见字段属性和记录头属性。
当记录超过用户定义的最大记录长度时,源端将跳过该记录并继续处理下一条记录。它将跳过的记录发送到管道以进行错误处理。
使用XML数据格式来处理有效的XML文档。有关XML处理的更多信息,请参见阅读和处理XML数据。
提示: 如果要处理无效的XML文档,则可以尝试将文本数据格式与自定义分隔符一起使用。有关更多信息,请参见 使用自定义分隔符处理XML数据。

配置Pulsar Consumer源

配置Pulsar Consumer源以读取来自Apache Pulsar的消息。

  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。
  2. 在“Pulsar”选项卡上,配置以下属性:
    Pulsar属性 描述
    Pulsar URL Pulsar Web服务或代理服务的URL。

    如果未为Pulsar集群启用TLS,请以以下格式输入Web服务或代理服务URL:

    • Web服务URL- http://<host name>:<web service port>。例如: http://pulsar.us-west.example.com:8080
    • 经纪人服务网址- pulsar://<host name>:<broker service port>。例如: pulsar://pulsar.us-west.example.com:6650

    如果为Pulsar集群启用了TLS,请以以下格式输入安全代理服务URL:

    pulsar+ssl://<host name>:<broker service TLS port>

    例如: pulsar+ssl://pulsar.us-west.example.com:6651

    Subscription Name 要为源端创建的订阅的名称。

    默认值为sdc-subscription。

    Keep Alive Interval (ms) 允许与Pulsar的连接保持空闲状态的毫秒数。在此时间段内,源端未收到任何消息后,将关闭连接。源端必须重新连接到Pulsar。

    默认值为30,000毫秒。

    Operation Timeout (ms) 允许Pulsar消费者创建、订阅和取消订阅操作完成之前将操作标记为失败的毫秒数。

    默认值为30,000毫秒。

    Consumer Name 要为源端创建的消费者的名称。

    输入使用者名称或定义一个计算得出该使用者名称的表达式。

    Topics Selector 订阅主题的方法:

    • Single Topic-按名称订阅单个主题。
    • Topics List-订阅在主题名称列表中定义的多个主题。
    • Topics Pattern-订阅由命名模式定义的多个主题。
    Topic 要订阅的单个主题的名称。输入以下格式的主题名称:

    {persistent|non-persistent}://<tenant>/<namespace>/<topic name>
    Topics List 要订阅的主题名称列表。输入以下格式的每个主题名称:

    {persistent|non-persistent}://<tenant>/<namespace>/<topic name>

    使用“添加”图标添加其他主题名称。您可以使用 简单或批量编辑模式来添加其他主题。

    Topics Pattern 要订阅的主题名称的格式。输入以下格式的格式:

    {persistent|non-persistent}://<tenant>/<namespace>/<regular expression>
    Max Batch Size (records) 一次处理的最大记录数。接受的值最高为Data Collector的最大批处理大小。

    默认值是1000。

    Batch Wait Time (ms) 发送部分或空批次之前要等待的毫秒数。
    Produce Single Record 为包含多个对象的记录生成单个记录。

    如果未选中,则当一个记录包含多个对象时,源端将生成多个记录。

  3. 要启用安全性,请单击“Security选项卡并配置以下属性:
    安全属性 描述
    Enable TLS 使舞台能够通过TLS加密安全地连接到Pulsar。
    Enable Mutual Authentication 使阶段可以使用相互TLS身份验证来安全地连接到Pulsar。
    CA Certificate PEM PEM文件的路径,该文件包含对Pulsar群集证书进行签名的证书颁发机构(CA)。

    输入文件的绝对路径或相对于Data Collector资源目录的路径:$ SDC_RESOURCES。

    Client Certificate PEM 如果启用了相互身份验证,则是包含为Data Collector创建的客户端证书的PEM文件的路径。

    输入文件的绝对路径或相对于Data Collector资源目录的路径:$SDC_RESOURCES。

    Client Key PEM 如果启用了相互身份验证,则是包含为Data Collector创建的客户端专用密钥的PEM文件的路径。

    输入文件的绝对路径或相对于Data Collector资源目录的路径:$SDC_RESOURCES。

  4. 在“Advanced选项卡上,可以选择配置高级属性。

    这些属性的默认值在大多数情况下都应该起作用:

    高级属性 描述
    Subscription Type 为Pulsar消费者创建的订阅类型:

    • Exclusive
    • Failover
    • Shared

    默认值为Exclusive。

    有关每种订阅类型的信息,请参阅Pulsar文档。

    Consumer Queue Size Pulsar可以添加到使用者队列的消息数。

    默认值为1,000条消息。

    Initial Offset 管道首次启动时使用的偏移值:

    • Earliest
    • Latest

    默认为Latest。

    Pattern Auto Discovery Period (minutes) 订阅由命名模式定义的主题时,是允许源端查找所有匹配主题的分钟数。

    默认值为一分钟。

    Consumer Priority Level 分配给Pulsar Consumer源的优先级。优先级较高的消费者会收到更多消息。

    默认值为0。

    Read Compacted 从压缩的持久化主题中读取消息,而不是从主题的完整消息积压中读取消息。

    启用后,源端仅读取主题中每个键的最新值。

    仅适用于持久化主题。

    Pulsar Configuration Properties

    要使用的其他Pulsar配置属性。使用简单或批量编辑模式,单击 添加图标以添加属性。定义Pulsar属性名称和值。

    使用Pulsar期望的属性名称和值。

  5. 在“Data Format选项卡上,配置以下属性:
    数据格式属性 描述
    Data Format 要读取的数据类型。使用以下选项之一:

    • Binary
    • Datagram
    • Delimited
    • JSON
    • Log
    • Protobuf
    • SDC Record
    • Text
    • XML
  6. 对于二进制数据,请在“Data Format选项卡上并配置以下属性:
    二进制属性 描述
    Max Data Size (bytes) 消息中的最大字节数。较大的消息无法处理或写入错误。
  7. 对于数据报数据,在“Data Format选项卡上,配置以下属性:
    数据报属性 描述
    Datagram Packet Format 数据包格式:

    • collectd
    • NetFlow
    • syslog
    • Raw/separated data
    TypesDB File Path 用户提供的types.db文件的路径。覆盖默认的types.db文件。

    仅用于collectd数据。

    Convert Hi-Res Time & Interval 将收集的高分辨率时间格式间隔和时间戳转换为UNIX时间(以毫秒为单位)。

    仅用于collectd数据。

    Exclude Interval 从输出记录中排除间隔字段。

    仅用于collectd数据。

    Auth File 可选身份验证文件的路径。使用认证文件接受签名和加密的数据。

    仅用于collectd数据。

    Record Generation Mode 确定要包含在记录中的值的类型。选择以下选项之一:

    • Raw Only
    • Interpreted Only
    • Both Raw and Interpreted

    仅适用于NetFlow 9数据。

    Max Templates in Cache 模板缓存中存储的最大模板数。有关模板的更多信息,请参见缓存NetFlow 9模板。

    对于无限的缓存大小,默认值为-1。

    仅适用于NetFlow 9数据。

    Template Cache Timeout (ms) 缓存空闲模板的最大毫秒数。超过指定时间未使用的模板将从缓存中逐出。有关模板的更多信息,请参见 缓存NetFlow 9模板。

    无限期缓存模板的默认值为-1。

    仅适用于NetFlow 9数据。

    Charset 要处理的消息的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  8. 对于分隔数据,在“Data Format选项卡上,配置以下属性:
    分隔属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Delimiter Format Type 分隔符格式类型。使用以下选项之一:

    • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
    • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
    • MS Excel CSV -Microsoft Excel逗号分隔文件。
    • MySQL CSV -MySQL逗号分隔文件。
    • Tab-Separated Values -包含制表符分隔的值的文件。
    • PostgreSQL CSV -PostgreSQL逗号分隔文件。
    • PostgreSQL Text -PostgreSQL文本文件。
    • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
    • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
    Header Line 指示文件是否包含标题行以及是否使用标题行。
    Allow Extra Columns 使用标题行处理数据时,允许处理的记录列数超过标题行中的列数。
    Extra Column Prefix 用于任何其他列的前缀。额外的列使用前缀和顺序递增的整数来命名,如下所示: <prefix><integer>

    例如,_extra_1。默认值为 _extra_

    Max Record Length (chars) 记录的最大长度(以字符为单位)。较长的记录不会被读取。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Delimiter Character 自定义分隔符格式的分隔符。选择一个可用选项,或使用“其他”输入自定义字符。

    您可以输入使用格式为Unicode控制符\uNNNN,其中N是数字0-9或字母AF十六进制数字。例如,输入 \u0000以使用空字符作为分隔符,或 \u2028使用行分隔符作为分隔符。

    默认为竖线字符(|)。

    Multi Character Field Delimiter 用于分隔多字符分隔符格式的字段的字符。

    默认值为两个竖线字符(||)。

    Multi Character Line Delimiter 以多字符分隔符格式分隔行或记录的字符。

    默认值为换行符(\ n)。

    Escape Character 自定义字符或多字符分隔符格式的转义字符。
    Quote Character 自定义或多字符分隔符格式的引号字符。
    Enable Comments 自定义分隔符格式允许注释的数据被忽略。
    Comment Marker 为自定义分隔符格式启用注释时,标记注释的字符。
    Ignore Empty Lines 对于自定义分隔符格式,允许忽略空行。
    Root Field Type 要使用的根字段类型:

    • List-Map-生成数据索引列表。使您能够使用标准功能来处理数据。用于新管道。
    • List-生成带有索引列表的记录,该列表带有标头和值的映射。需要使用分隔数据功能来处理数据。仅用于维护在1.1.0之前创建的管道。
    Lines to Skip 读取数据前要跳过的行数。
    Parse NULLs 将指定的字符串常量替换为空值。
    NULL Constant 代表空值的字符串常量。
    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  9. 对于JSON数据,在“Data Format选项卡上,配置以下属性:
    JSON属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    JSON Content JSON内容的类型。使用以下选项之一:

    • Array of Objects
    • Multiple Objects
    Maximum Object Length (chars) JSON对象中的最大字符数。

    较长的对象将转移到管道以进行错误处理。

    此属性可以受Data Collector解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  10. 对于日志数据,在“Data Format选项卡上,配置以下属性:
    日志属性 描述
    Log Format 日志文件的格式。使用以下选项之一:

    • 通用日志格式
    • 合并日志格式
    • Apache错误日志格式
    • Apache访问日志自定义格式
    • 正则表达式
    • Grok模式
    • Log4j
    • 通用事件格式(CEF)
    • 日志事件扩展格式(LEEF)
    Max Line Length 日志行的最大长度。源端将截断较长的行。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Retain Original Line 确定如何处理原始日志行。选择将原始日志行作为字段包含在结果记录中。

    默认情况下,原始行被丢弃。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
    • 当选择“Apache访问日志自定义格式”时,请使用Apache日志格式字符串定义“Custom Log Format
    • 选择“正则表达式”时,输入描述日志格式的正则表达式,然后将要包括的字段映射到每个正则表达式组。
    • 选择Grok Pattern时,可以使用 Grok Pattern Definition字段定义自定义grok模式。您可以在每行上定义一个模式。

      在 Grok Pattern字段中,输入用于解析日志的模式。您可以使用预定义的grok模式,也可以使用Grok Pattern Definition中定义的模式创建自定义grok模式 。

      有关定义grok模式和支持的grok模式的更多信息,请参见定义Grok模式。

    • 选择Log4j时,定义以下属性:
      Log4j属性 描述
      On Parse Error 确定如何处理无法解析的信息:

      • Skip and Log Error-跳过读取行并记录阶段错误。
      • Skip, No Error-跳过读取行并且不记录错误。
      • Include as Stack Trace-包含无法解析为先前读取的日志行的堆栈跟踪的信息。该信息将添加到最后一个有效日志行的消息字段中。
      Use Custom Log Format 允许您定义自定义日志格式。
      Custom Log4J Format 使用log4j变量定义自定义日志格式。
  11. 对于protobuf数据,在“Data Format选项卡上,配置以下属性:
    Protobuf属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Protobuf Descriptor File 要使用的描述符文件(.desc)。描述符文件必须位于Data Collector资源目录中$SDC_RESOURCES

    有关环境变量的更多信息,请参阅《 Data Collector环境配置》。有关生成描述符文件的信息,请参阅Protobuf数据格式先决条件。

    Message Type 读取数据时使用的消息类型的全限定名称。

    使用以下格式: <package name>.<message type>

    使用在描述符文件中定义的消息类型。

    Delimited Messages 指示一个文件是否可能包含多个protobuf消息。
  12. 对于文本数据,在“Data Format选项卡上,配置以下属性:
    文字属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Max Line Length 一行中允许的最大字符数。较长的行被截断。

    在记录中添加一个布尔字段,以指示该记录是否被截断。字段名称为“Truncated”。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Use Custom Delimiter 使用自定义分隔符来定义记录而不是换行符。
    Custom Delimiter 用于定义记录的一个或多个字符。
    Include Custom Delimiter 在记录中包括分隔符。
    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  13. 对于XML数据,在“Data Format选项卡上,配置以下属性:
    XML属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Delimiter Element

    用于生成记录的分隔符。省略分隔符会将整个XML文档视为一条记录。使用以下之一:

    • 在根元素下方的XML元素。

      使用不带尖括号(<>)的XML元素名称。例如,用msg代替<msg>。

    • 一个简化的XPath表达式,指定要使用的数据。

      使用简化的XPath表达式访问XML文档中更深的数据或需要更复杂访问方法的数据。

      有关有效语法的更多信息,请参见简化的XPath语法。

    Include Field XPaths 在字段属性中包括每个解析的XML元素的XPath和XML属性。还包括xmlns记录头属性中的每个名称空间。

    如果未选中,则此信息不包含在记录中。默认情况下,未选择该属性。

    注意: 只有在目标中使用SDC RPC数据格式时,字段属性和记录头属性才会自动写入目标系统。有关使用字段属性和记录标题属性以及如何将它们包括在记录中的更多信息,请参见字段属性和记录标题属性。
    Namespaces 解析XML文档时使用的命名空间前缀和URI。当所使用的XML元素包含名称空间前缀或XPath表达式包含名称空间时,定义名称空间。

    有关将名称空间与XML元素一起使用的信息,请参见将XML元素与名称空间一起使用。

    有关将名称空间与XPath表达式一起使用的信息,请参阅将XPath表达式与名称空间一起使用。

    使用简单或批量编辑模式,单击添加图标以添加其他名称空间。

    Output Field Attributes 在记录中包括XML属性和名称空间声明作为字段属性。如果未选择,则XML属性和名称空间声明作为字段包含在记录中。

    注意: 只有在目标中使用SDC RPC数据格式时,字段属性才会自动包含在写入目标系统的记录中。有关使用字段属性的更多信息,请参见字段属性。

    默认情况下,未选择该属性。

    Max Record Length (chars)

    记录中的最大字符数。较长的记录将转移到管道以进行错误处理。

    此属性可以受Data Collector解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。