Sqs 输出插件编辑

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

获取帮助编辑

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

描述编辑

将事件推送到 Amazon Web Services (AWS) Simple Queue Service (SQS) 队列。

SQS 是一个简单、可扩展的队列系统,是 Amazon Web Services 工具套件的一部分。虽然 SQS 与其他队列系统(如高级消息队列协议 (AMQP))类似,但它使用自定义 API 并要求您拥有 AWS 帐户。有关 SQS 的工作原理、定价计划以及如何设置队列的更多详细信息,请参阅 http://aws.amazon.com/sqs/

"消费者" 身份必须对队列具有以下权限

  • sqs:GetQueueUrl
  • sqs:SendMessage
  • sqs:SendMessageBatch

通常,您应该设置 IAM 策略,创建用户并将 IAM 策略应用于用户。有关设置 AWS 身份的更多详细信息,请参阅 http://aws.amazon.com/iam/。示例策略如下

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:GetQueueUrl",
        "sqs:SendMessage",
        "sqs:SendMessageBatch"
      ],
      "Resource": "arn:aws:sqs:us-east-1:123456789012:my-sqs-queue"
    }
  ]
}

批量发布编辑

此输出以批处理方式将消息发布到 SQS,以优化事件吞吐量并提高性能。这是使用 [SendMessageBatch](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html) API 完成的。当以批处理方式将消息发布到 SQS 时,必须遵守以下服务限制(请参阅 [Amazon SQS 中的限制](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-messages.html))。

  • 允许的最大单个消息大小为 256KiB。
  • 最大总有效负载大小(即批次中所有单个消息大小的总和)也为 256KiB。

此插件将动态调整发布到 SQS 的批次大小,以确保总有效负载大小不超过 256KiB。

此输出目前无法处理大于 256KiB 的消息。任何超过此大小的单个消息都将被丢弃。

Sqs 输出配置选项编辑

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

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

 

access_key_id编辑

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

此插件使用 AWS SDK 并支持多种获取凭据的方式,这些方式将按以下顺序尝试

  1. 静态配置,使用 logstash 插件配置中的 access_key_idsecret_access_key 参数
  2. aws_credentials_file 指定的外部凭据文件
  3. 环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  4. 环境变量 AMAZON_ACCESS_KEY_IDAMAZON_SECRET_ACCESS_KEY
  5. IAM 实例配置文件(在 EC2 内部运行时可用)

aws_credentials_file编辑

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

包含 AWS 凭据哈希的 YAML 文件的路径。仅当未设置 access_key_idsecret_access_key 时才会加载此文件。文件内容应如下所示

    :access_key_id: "12345"
    :secret_access_key: "54321"

batch_events编辑

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

每个批次中要发送的事件数。将其设置为 1 以禁用消息的批量发送。

endpoint编辑

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

要连接到的端点。默认情况下,它是使用 region 的值构造的。这在连接到与 S3 兼容的服务时很有用,但请注意,这些服务不能保证与 AWS SDK 正确配合使用。

message_max_size编辑

  • 值类型为 字节
  • 默认值为 "256KiB"

发送到 SQS 的任何消息的最大字节数。超过此大小的消息将被丢弃。请参阅 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-messages.html

proxy_uri编辑

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

如果需要,代理服务器的 URI

queue编辑

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

目标 SQS 队列的名称。请注意,这只是队列的名称,而不是 URL 或 ARN。

queue_owner_aws_account_id编辑

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

目标 SQS 队列的拥有者帐户 ID。需要在两个帐户上配置 IAM 权限才能正常工作。

region编辑

  • 值类型为 字符串
  • 默认值为 "us-east-1"

AWS 区域

role_arn编辑

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

要假定的 AWS IAM 角色(如果有)。这用于生成临时凭据,通常用于跨帐户访问。有关更多信息,请参阅 AssumeRole API 文档

role_session_name编辑

  • 值类型为 字符串
  • 默认值为 "logstash"

在假定 IAM 角色时要使用的会话名称。

secret_access_key编辑

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

AWS 密钥

session_token编辑

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

用于临时凭据的 AWS 会话令牌

use_aws_bundled_ca编辑

使用与 AWS SDK 一起提供的捆绑 CA 证书来验证 SSL 对等证书。对于默认证书不可用(例如 Windows)的情况,您可以将其设置为 true

通用选项编辑

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

设置 输入类型 必需

enable_metric

布尔值

id

字符串

enable_metric编辑

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

id编辑

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

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

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

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