错误记录处理

您可以在阶段级别和管道级别配置错误记录处理。您还可以指定记录的版本,以用作错误记录的基础。

当阶段处理记录发生错误时,Data Collector将根据阶段配置来处置记录。一种阶段选项是将记录传递到管道以进行错误处理。对于此选项,Data Collector根据管道错误记录处理配置来处理记录。

配置管道时,请注意阶段错误处理优先于管道错误处理。即,可以将管道配置为将错误记录写入文件,但是如果将阶段配置为丢弃错误记录,则将丢弃这些记录。您可以使用此功能来减少为检查和重新处理而保存的错误记录的类型。

请注意,缺少必填字段的记录不会进入阶段。它们直接传递到管道以进行错误处理。

管道错误记录处理

管道错误记录处理确定了Data Collector如何处理阶段发送到管道以进行错误处理的错误记录。它还处理特意从管道中排除的记录,例如没有必填字段的记录。

管道根据“Error Records”选项卡上的“Error Records”属性处理错误记录。当Data Collector遇到意外错误时,它将停止管道并记录该错误。

管道提供以下错误记录处理选项:

Discard
管道丢弃记录。Data Collector将该记录统计入错误记录计数和度量指标。
Send Response to Origin
管道将错误记录传回微服务源,以包含在对源REST API客户端的响应中。Data Collector包括错误记录计数和度量指标中的记录。仅在微服务管道中使用。
在Data Collector Edge管道中无效。
Write to Amazon S3
管道将错误记录和相关详细信息写入Amazon S3。Data Collector包括错误记录计数和度量指标中的记录。

您定义Amazon S3配置属性。

在Data Collector Edge管道中无效。

Write to Another Pipeline
管道将错误记录写入SDC RPC管道。Data Collector包括错误记录计数和度量指标中的记录。
当您写入另一个管道时,Data Collector实际上创建一个使用SDC RPC源端的管道,以将错误记录传递到另一个管道。
您需要创建一个SDC RPC目标端管道来处理错误记录。管道必须包括SDC RPC源端,该源端配置为从上述管道读取错误记录。
有关SDC RPC管道的更多信息,请参见SDC RPC管道概述。
在Data Collector Edge管道中无效。
Write to Azure Event Hub
管道将错误记录和相关详细信息写入Microsoft Azure事件中心。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的Azure事件中心的配置属性。
在Data Collector Edge管道中无效。
Write to Elasticsearch
管道将错误记录和相关详细信息写入Elasticsearch。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的Elasticsearch集群的配置属性。
在Data Collector Edge管道中无效。
Write to File
管道将错误记录和相关详细信息写入本地目录。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的目录和最大文件大小。错误文件是根据管道的File Prefix属性命名的。
目前集群管道不支持写入文件。
Write to Google Cloud Storage
管道将错误记录和相关详细信息写入Google Cloud Storage。Data Collector包括错误记录计数和度量标准中的记录。
您定义Google Cloud Storage配置属性。
在Data Collector Edge管道中无效。
Write to Google Pub/Sub
管道将错误记录和相关详细信息写入Google Pub/Sub。Data Collector包括错误记录计数和度量指标中的记录。
您定义Google Pub/Sub配置属性。
在Data Collector Edge管道中无效。
Write to Kafka
管道将错误记录和相关详细信息写入Kafka。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的Kafka集群的配置属性。
在Data Collector Edge管道中无效。
Write to Kinesis
管道将错误记录和相关详细信息写入Amazon Kinesis Streams。Data Collector包括错误记录计数和度量指标中的记录。
您可以定义要使用的Kinesis流的配置属性。
在Data Collector Edge管道中无效。
Write to MapR Streams
管道将错误记录和相关详细信息写入MapR流。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的MapR Streams集群的配置属性。
在Data Collector Edge管道中无效。
Write to MQTT
管道将错误记录和相关详细信息写入MQTT代理。Data Collector包括错误记录计数和度量指标中的记录。
您定义要使用的MQTT代理的配置属性。

阶段错误记录处理

大多数阶段包括错误记录处理选项。处理记录发生错误时,Data Collector将根据阶段的“General”选项卡上的“On Record Error”属性来处理记录。

阶段包括以下错误处理选项:

Discard
该阶段将静默丢弃该记录。Data Collector不会记录有关错误的信息,也不会记录遇到错误的特定记录。丢弃的记录不包括在监控模式错误记录计数或度量指标中。
Send to Error
该阶段将记录发送到管道以进行错误处理。管道根据管道错误处理配置处理记录。
监控管道时,可以在该阶段的“Error Records”选项卡上查看最新的错误记录以及它们遇到的问题。停止管道后,此信息将不可用。
Stop Pipeline
Data Collector停止管道并记录有关错误的信息。停止管道的错误在监控模式下显示为警报,并且在管道历史记录中显示错误。
目前集群模式管道不支持停止管道。

例子

Kafka Consumer源端阶段读取的JSON数据的最大对象长度为4096个字符,并且该阶段遇到一个具有5000个字符的对象。根据阶段配置,Data Collector可能丢弃记录、停止管道、或将记录传递给管道以进行错误记录处理。

将阶段配置为将记录发送到管道后,根据如何配置管道错误处理,将发生以下情况之一:

  • 当管道丢弃错误记录时,Data Collector会丢弃记录,而无需记录操作或原因。

    监控管道时,可以在该阶段的“Error Records”选项卡上查看最新的错误记录集以及有关错误的信息。但是在您停止管道后,此信息将变得不可用。

  • 当管道将错误记录写入目标端时,Data Collector会将错误记录和其他错误信息写入目标端。它还将错误记录包括在监控计数和指标中。

错误记录和版本

Data Collector创建错误记录时,它将保留触发错误的记录中的数据和属性,然后将与错误相关的信息添加为记录头属性。有关错误头属性和与记录关联的其他内部头属性的列表,请参见内部属性。

配置管道时,可以指定要使用的记录的版本:

  • 原始记录 – 由源端最初生成的记录。当您想要原始记录而不进行任何其他管道处理时,请使用此记录。
  • 当前记录 – 产生错误的阶段中的记录。根据发生的错误的类型,该记录可以在错误生成阶段进行不处理或部分处理。

    当您想要保留记录导致错误之前管道完成的任何处理时,请使用此记录。