Kinesis 输入插件
编辑Kinesis 输入插件
编辑- 插件版本:v2.3.0
- 发布日期:2023-08-28
- 变更日志
对于其他版本,请参阅 版本化插件文档。
安装
编辑对于默认情况下未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-input-kinesis
轻松安装。有关更多详细信息,请参阅 使用插件。
获取帮助
编辑有关插件的问题,请在 Discuss 论坛中发起主题。对于错误或功能请求,请在 Github 中提交问题。有关 Elastic 支持的插件列表,请查阅 Elastic 支持矩阵。
描述
编辑您可以使用此插件通过 AWS Kinesis 接收事件。此插件使用 Java Kinesis 客户端库。位于 https://github.com/awslabs/amazon-kinesis-client 的文档将很有用。
AWS 凭证可以通过环境变量或 IAM 实例角色来指定。该库使用 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}