Elasticsearch
Last updated
Was this helpful?
Last updated
Was this helpful?
es 输出插件可将您的记录输出到 数据库中。以下说明假定您在您的环境中运行了具有完全可操作的 Elasticsearch 服务。
Key
Description
default
Host
目标 ES 实例 IP 地址或主机名
127.0.0.1
Port
目标 ES 实例的 TCP 端口
9200
Path
ES 在 HTTP 查询路径 /_bulk
上接受新数据。但也可以在反向代理的子路径提供 ES 服务。该选项在 Bluent Bit 侧定义了这种路径。它在索引 HTTP POST URI 中添加路径前缀
空字符串
Buffer_Size
4KB
Pipeline
较新版本的 Elasticsearch 允许设置称为 pipeline 的过滤器。出于性能原因,强烈建议在 Fluent Bit 端进行解析和过滤,避免使用 pipeline
AWS_Auth
Enable AWS Sigv4 Authentication for Amazon ElasticSearch Service
Off
AWS_Region
Specify the AWS region for Amazon ElasticSearch Service
HTTP_User
可选的用于 Elastic X-pack 访问的用户
HTTP_Passwd
HTTP_User
中定义用户的密码
Index
Index 索引名称
fluentbit
Type
Type 类型名称
flb_type
Logstash_Format
启用 Logstash 格式兼容性。此选项采用布尔值: True/False,On/Off
Off
Logstash_Prefix
启用 Logstash_Format
后,索引名称由前缀和日期组成。例如: 如果 Logstash_Prefix
等于 "mydata",则索引将变为 "mydata-YYYY.MM.DD"。附加的最后一个字符串是生成数据的日期
logstash
Logstash_DateFormat
%Y.%m.%d
Time_Key
启用 Logstash_Format
后,每条记录将获得一个新的 timestamp 字段。Time_Key
属性定义该字段的名称
@timestamp
Time_Key_Format
启用 Logstash_Format
后,此属性定义时间戳格式
%Y-%m-%dT%H:%M:%S
Include_Tag_Key
是否将记录的标签附加到记录中
Off
Tag_Key
启用 Include_Tag_Key
后,此属性定义附加到记录中的标签的键名
_flb-key
Generate_ID
启用后,自动为记录生成 _id
。这样可以防止向 ES 输出时出现重复记录
Off
Replace_Dots
启用后,用下划线替换字段的点,在 Elasticsearch 2.0-2.3 需要此配置
Off
Trace_Output
启用后,打印 ES API 调用到标准输出(仅用于 diag)
Off
Current_Time_Index
使用当前时间来生成索引而不使用消息记录
Off
Logstash_Prefix_Key
当配置此选线时: 将查找属于该键的记录中的值,并覆盖 Logstash_Prefix
以生成索引。如果在记录中未找到键/值,则 Logstash_Prefix
选项将用作备选。不支持嵌套键(如果需要,您可以使用 Nest 过滤器插件删除嵌套)
要将记录输出到 Elasticsearch 服务中,您可以从命令行或通过配置文件运行插件:
es 插件可以通过两种方式从命令行读取参数,通过 -p 参数或直接通过服务 URI 进行设置。URI 格式如下:
使用指定的格式,您可以通过以下方式启动 Fluent Bit:
这与如下命令行是类似的:
在您的主配置文件中,添加如下 Input 和 Output 配置段:
某些输入插件可能会生成字段名称中包含点的消息,从 Elasticsearch 2.0 不再允许这样做,因此当前 es 插件将其替换为下划线,例如:
变为
从 Elasticsearch 6.0 开始,您不能在单个索引中创建多个类型。这意味着您无法再按以下方式设置配置:
如果您看到类似如下的错误消息,则需要修改配置,从而在每个索引上使用单一的类型(Type)
Rejecting mapping update to [search] as the final mapping would have more than 1 type
Amazon ElasticSearch Service 添加了必须使用 AWS Sigv4 对 HTTP 请求进行签名的安全层。Fluent Bit v1.4 引入了对Amazon ElasticSearch Service 的实验性支持。
要使用 Amazon ElasticSearch Service,您必须将凭证指定为环境变量:
配置示例:
注意,Port
设置为 443
,并启用了 tls
。
如果此功能尚未满足您的需求,则可以使用如下代理作为替代解决方法:
可以在以下位置找到有关 AWS Sigv4 和 ElasticSearch 的更多详细信息:
指定用于从 Elasticsearch HTTP 服务读取响应的缓冲区大小。此选项对于需要读取完整响应的调试目的很有用,请注意响应大小取决于插入的记录数而增加。要设置无限数量的内存,请将此值设置为 False,否则该值必须符合中定义的规范
指定时间格式(基于 ) 以生成索引名称的第二部分
如果不是很了解 Elastic,index
(索引) 和 type
(类型) 参数可能会令人困惑,如果您以前使用过关系型数据库,则它们可以比作 database
(数据库) 和 table
(表) 概念。另请参见下面的 。
Elasticsearch 输出插件支持 TLS/SSL,有关可用属性和配置的详细信息,请参阅 部分。
有关详细信息,请阅读.
虽然通常将 AWS 相关凭据设置为环境变量是安全的,但最佳实践是从标准 AWS 来源之一获取凭据(如 )。因此,此功能可能不适用于生产环境。Fluent Bit 和 AWS 正在共同努力以在 Fluent Bit v1.5 中提供对所有标准 AWS 凭证来源的全面支持。