Kinesis 输入插件
编辑Kinesis 输入插件
编辑- 插件版本:v2.3.0
- 发布日期:2023-08-28
- 更新日志
有关其他版本,请参阅版本化的插件文档。
获取帮助
编辑如有关于插件的问题,请在Discuss论坛中开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵。
描述
编辑您可以使用此插件通过 AWS Kinesis 接收事件。此插件使用 Java Kinesis 客户端库。 https://github.com/awslabs/amazon-kinesis-client 上的文档将很有用。
可以通过环境变量或 IAM 实例角色指定 AWS 凭证。该库使用 DynamoDB 表进行工作进程协调,因此您需要授予对 Kinesis 流和该表的访问权限。DynamoDB 表的名称与 application_name
配置选项相同,默认为“logstash”。
该库还可以选择将工作进程统计信息发送到 CloudWatch。
用法
编辑input { kinesis { kinesis_stream_name => "my-logging-stream" codec => json { } } }
与 CloudWatch Logs 一起使用
编辑如果要读取 CloudWatch Logs 订阅流,还需要安装和配置 CloudWatch Logs 编解码器。
身份验证
编辑此插件使用默认的 AWS SDK 身份验证链 DefaultAWSCredentialsProviderChain 来确定客户端将使用哪个凭证,除非设置了 profile
,在这种情况下将使用 ProfileCredentialsProvider。
默认链按此顺序读取凭证
-
AWS_ACCESS_KEY_ID
/AWS_SECRET_KEY
环境变量 -
~/.aws/credentials
凭证文件 - EC2 实例配置文件
凭证需要访问以下服务
- AWS Kinesis
- AWS DynamoDB。客户端库在 DynamoDB 中存储用于工作进程协调的信息(偏移量和每个分区的活动工作进程)
- AWS CloudWatch。如果启用了指标,则凭证需要被授予 CloudWatch 更新权限。
有关默认链的更多信息,请参阅 AWS 文档。
Kinesis 输入配置选项
编辑此插件支持以下配置选项以及稍后描述的通用选项。
设置 | 输入类型 | 必需 |
---|---|---|
否 |
||
否 |
||
否 |
||
否 |
||
是 |
||
字符串,取值为 |
否 |
|
否 |
||
否 |
||
否 |
||
否 |
||
否 |
||
否 |
另请参阅通用选项,查看所有输入插件支持的选项列表。
initial_position_in_stream
编辑- 值类型是 字符串
- 默认值是
"TRIM_HORIZON"
initialPositionInStream 的值。接受 “TRIM_HORIZON” 或 “LATEST”。
metrics
编辑- 值可以是以下之一:``,
cloudwatch
- 默认值是
nil
工作进程指标跟踪。默认情况下,此设置处于禁用状态,将其设置为“cloudwatch”以启用 Kinesis 客户端库中的 cloudwatch 集成。
profile
编辑- 值类型是 字符串
- 此设置没有默认值。
用于身份验证的 AWS 配置文件名。这确保了使用 ~/.aws/credentials
AWS 身份验证提供程序。默认情况下,此设置为空,将使用默认链。
role_arn
编辑- 值类型是 字符串
- 此设置没有默认值。
要承担的 AWS 角色。例如,这可用于访问不同 AWS 账户中的 Kinesis 流。在创建默认凭证或配置文件凭证后,将承担此角色。默认情况下,此设置为空,不会承担角色。
additional_settings
编辑- 值类型是 字符串
- 此设置没有默认值
KCL 提供了多个配置选项,可以在 KinesisClientLibConfiguration 中设置。这些选项通过各种以 with
开头的函数调用进行配置。其中一些函数采用不支持的复杂类型。但是,您可以通过在 snake_case
中提供键值对来调用任何采用基本类型的 withX()
函数。
示例
要设置 dynamodb 读取和写入容量值,请使用以下函数:withInitialLeaseTableReadCapacity
和 withInitialLeaseTableWriteCapacity
。
additional_settings => {"initial_lease_table_read_capacity" => 25 "initial_lease_table_write_capacity" => 100}
通用选项
编辑所有输入插件都支持以下配置选项
codec
编辑- 值类型是 codec
- 默认值是
"plain"
用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前对其进行解码,而无需在 Logstash 管道中使用单独的过滤器。