赞
踩
公司一直使用的Filebeat进行日志采集
由于Filebeat采集组件一些问题,现需要使用iLogtail进行代替
现记录下iLogtail介绍和实际使用过程
这是iLogtail系列的第十一篇文章
Logtail采集数据的过程如下:
在服务器上安装Logtail及在日志服务控制台上创建Logtail采集配置后,日志服务会实时下发Logtail采集配置到Logtail,Logtail根据Logtail采集配置开始监听文件。Logtail根据Logtail采集配置中的日志路径和最大监控目录深度,逐层扫描符合规则的日志目录和文件。
将Logtail采集配置应用到机器组后,对应服务器上没有发生修改事件的日志文件会被判定为历史日志文件,Logtail监听到历史日志文件,并不会采集。当日志文件产生了修改事件,才会触发采集流程,Logtail开始读取文件。如果您要采集历史日志文件,请参见导入历史日志文件。
为保证采集日志的时效性以及稳定性,Logtail会对待采集的目录注册事件监听(Linux下使用Inotify)以及定期轮询。
Logtail监听到日志文件,并确认有更新后,开始读取。
说明 日志服务支持自定义首次读取大小。
说明 如果您修改了服务器上的时间,请手动重启Logtail,否则会导致日志时间不正确、意外丢弃日志等现象。
Logtail读取日志后,对日志内容进行分行、解析、设置时间字段。
如果Logtail采集配置中指定了行首正则表达式,则Logtail根据行首正则表达式对每次读取的日志进行分行,切分成多条日志;如果没有指定行首正则表达式,则将一行日志作为一条日志处理。
说明 如果您的正则表达式比较复杂,可能会导致CPU占用率过高,请使用合理高效的正则表达式。
如果解析失败,会根据Logtail采集配置中是否开启丢弃解析失败日志的功能进行处理。
处理日志后,根据Logtail采集配置中的过滤器配置过滤日志。
只有符合过滤器配置的日志被采集。
为降低网络请求次数,在日志处理、过滤完毕后,会在Logtail内部缓存一段时间后进行聚合打包,再发送到日志服务。缓存数据后,触发打包日志发送到日志服务的条件如下:
Logtail将采集到的日志聚合并发送到日志服务。如果数据发送失败,Logtail自动根据错误信息决定重试或放弃发送。
错误信息 | 说明 | Logtail处理方式 |
---|---|---|
401错误 | Logtail没有权限采集数据。 | 直接丢弃日志包。 |
404错误 | Logtail采集配置中指定的Project或Logstore不存在。 | 直接丢弃日志包。 |
403错误 | Shard Quota超出限制。 | 等待3秒后重试。 |
500错误 | 服务端异常。 | 等待3秒后重试。 |
说明 如果要调整数据的发送速度和最大并发数,您可以设置启动参数配置文件中的max_bytes_per_sec参数和send_request_concurrency参数。具体操作,请参见设置Logtail启动参数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。