Link Search Menu Expand Document Documentation Menu

死信队列

OpenSearch Data Prepper 管道支持死信队列(DLQ),用于卸载失败的事件并使其可供分析。

截至 Data Prepper 2.3,只有 s3 源支持 DLQ。

配置 DLQ 写入器

要为 s3 源配置 DLQ 写入器,请将以下内容添加到您的 pipeline.yaml 文件中

  sink:
    opensearch:
      dlq:
        s3:
          bucket: "my-dlq-bucket"
          key_path_prefix: "dlq-files/"
          region: "us-west-2"
          sts_role_arn: "arn:aws:iam::123456789012:role/dlq-role"

生成的 DLQ 文件以 DLQ 对象的 JSON 数组形式输出。写入 S3 DLQ 的任何文件都包含以下命名模式

dlq-v${version}-${pipelineName}-${pluginId}-${timestampIso8601}-${uniqueId}

命名模式中的以下信息将被替换

  • version: Data Prepper 版本。
  • pipelineName: pipeline.yaml 中指示的管道名称。
  • pluginId: 与 DLQ 事件关联的插件 ID。

配置

DLQ 支持以下配置选项。

选项 必需 类型 描述
bucket 字符串 DLQ 输出失败记录到的存储桶名称。
key_path_prefix 字符串 S3 存储桶中使用的 key_prefix。默认为 ""。支持时间值模式变量,例如 /%{yyyy}/%{MM}/%{dd},包括 Java DateTimeFormatter 中列出的任何变量。例如,使用 /%{yyyy}/%{MM}/%{dd} 模式时,您可以将 key_prefix 设置为 /2023/01/24
region 字符串 S3 存储桶的 AWS 区域。默认为 us-east-1
sts_role_arn 字符串 DLQ 为写入 AWS S3 存储桶而承担的 STS 角色。默认值为 null,这将使用凭据的标准 SDK 行为。要使用此选项,S3 存储桶必须配置 S3:PutObject 权限。

将 DLQ 与 OpenSearch 接收器一起使用时,您可以配置 max_retries 选项,以便在接收器达到最大重试次数时将失败的数据发送到 DLQ。

指标

DLQ 支持以下指标。

计数器

  • dlqS3RecordsSuccess: 衡量发送到 S3 的成功记录数。
  • dlqS3RecordsFailed: 衡量未能发送到 S3 的记录数。
  • dlqS3RequestSuccess: 衡量成功的 S3 请求数。
  • dlqS3RequestFailed: 衡量失败的 S3 请求数。

分布摘要

  • dlqS3RequestSizeBytes: 衡量 S3 请求有效负载大小(以字节为单位)的分布。

计时器

  • dlqS3RequestLatency: 衡量发送每个 S3 请求(包括重试)时的延迟。

DLQ 对象

DLQ 支持以下 DLQ 对象

  • pluginId: 发送至 DLQ 的事件的源插件 ID。
  • pluginName: 插件名称。
  • failedData: 包含失败对象及其选项的对象。此对象对于每个插件都是唯一的。
  • pipelineName: 事件失败的 Data Prepper 管道名称。
  • timestamp: 失败的时间戳,采用 ISO8601 格式。
剩余 350 字符

有问题?

想贡献吗?