iLogtail

1752
下载
iLogtail 是阿里云日志服务(Log Service)中的一款高性能、可扩展的日志采集工具。它被设计用于实时收集、解析和传输各类日志数据,支持多种数据源和复杂的日志处理场景,广泛应用于分布式系统、Web 服务器、应用程序等环境中的日志管理。

ElasticSearch


简介

flusher_elasticsearch flusher插件可以实现将采集到的数据,经过处理后,发送到 ElasticSearch,需要 ElasticSearch 版本至少为 8

版本

Alpha

配置参数

参数类型是否必选说明
TypeString插件类型,固定为flusher_elasticsearch
AddressesString数组ElasticSearch 地址
ConvertStructilogtail数据转换协议配置
Convert.ProtocolStringilogtail数据转换协议,elasticsearch flusher 可选值:custom_single,custom_single_flatten,otlp_log_v1。默认值:custom_single
Convert.EncodingStringilogtail flusher数据转换编码,可选值:jsonnoneprotobuf,默认值:json
Convert.TagFieldsRenameMap对日志中tags中的json字段重命名
Convert.ProtocolFieldsRenameMapilogtail日志协议字段重命名,可当前可重命名的字段:contents,tagstime
IndexString插入数据目标索引
AuthenticationStructElasticSearch 连接访问认证配置
Authentication.PlainText.UsernameStringElasticSearch 用户名
Authentication.PlainText.PasswordStringElasticSearch 密码
Authentication.TLS.EnabledBoolean是否启用 TLS 安全连接,
Authentication.TLS.CAFileStringTLS CA 根证书文件路径
Authentication.TLS.CertFileStringTLS 连接证书文件路径
Authentication.TLS.KeyFileStringTLS 连接私钥文件路径
Authentication.TLS.MinVersionStringTLS 支持协议最小版本,可选配置:1.0, 1.1, 1.2, 1.3,默认:1.2
Authentication.TLS.MaxVersionStringTLS 支持协议最大版本,可选配置:1.0, 1.1, 1.2, 1.3,默认采用:crypto/tls支持的版本,当前1.3
HTTPConfig.MaxIdleConnsPerHostInt每个host的连接池最大空闲连接数
HTTPConfig.ResponseHeaderTimeoutString读取头部的时间限制,可选配置NanosecondMicrosecondMillisecondSecondMinuteHour

样例

常规索引

采集/home/test-log/路径下的所有文件名匹配*.log规则的文件,并将采集结果发送到 ElasticSearch。

enable: true
inputs:
- Type: input_file
FilePaths:
- /home/test-log/*.log
flushers:
- Type: flusher_elasticsearch
Addresses:
- http://192.XX.XX.1:9092
- http://192.XX.XX.2:9092
Index: default
Authentication:
PlainText:
Username: user
Password: 123456
HTTPConfig:
MaxIdleConnsPerHost: 10
ResponseHeaderTimeout: Second

动态索引

采集结果支持写入ElasticSearch动态索引,例如,数据写入到一个名字包含当前日期的索引,可以这样写(只提供flushers),更多关于动态索引格式化的信息请参考这里

flushers:
- Type: flusher_elasticsearch
Addresses:
- http://192.XX.XX.1:9092
- http://192.XX.XX.2:9092
Index: log_%{+yyyyMMdd}
Authentication:
PlainText:
Username: user
Password: 123456

数据平铺写入

ilogtail 1.8.0新增数据平铺协议custom_single_flattencontentstagstime三个convert层的协议字段中数据做一级打平。
当前convert协议在单条数据处理仅支持json编码,因此custom_single_flatten需要配合json编码一起使用。

enable: true
inputs:
- Type: input_file
FilePaths:
- /home/test-log/*.log
flushers:
- Type: flusher_elasticsearch
Addresses:
- http://192.XX.XX.1:9092
- http://192.XX.XX.2:9092
Convert:
Protocol: custom_single_flatten
Encoding: json
Index: default

非平铺前写入ElasticSearch的数据格式

{
"contents": {
"class": "org.springframework.web.servlet.DispatcherServlet@initServletBean:547",
"application": "springboot-docker",
"level": "ERROR",
"message": "Completed initialization in 9 ms",
"thread": "http-nio-8080-exec-10",
"@time": "2022-07-20 16:55:05.415"
},
"tags": {
"k8s.namespace.name":"java_app",
"host.ip": "192.168.6.128",
"host.name": "master",
"log.file.path": "/data/test.log"
},
"time": 1664435098
}

使用平铺协议后custom_single_flattenjson全部被一级平铺。

{
"class": "org.springframework.web.servlet.DispatcherServlet@initServletBean:547",
"application": "springboot-docker",
"level": "ERROR",
"message": "Completed initialization in 9 ms",
"thread": "http-nio-8080-exec-10",
"@time": "2022-07-20 16:55:05.415",
"k8s.namespace.name":"java_app",
"host.ip": "192.168.6.128",
"host.name": "master",
"log.file.path": "/data/test.log",
"time": 1664435098
}

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32