日志服务 LogListener 限制说明

LogListener 采集数据时在文件采集、配置、资源、性能、错误处理等方面的能力与限制,以及相关使用说明。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

一、文件采集限制

项目 能力与限制
文件编码 支持 UTF8、GBK 格式编码。注意:GBK 编码格式需要 LogListener 2.6.2及以上版本。
软链接 支持。
单条日志大小 单行日志大小限制为1MB,若日志超过1MB 时,会截断只保留前1MB。多行日志按行首正则表达式划分后(判断首行时,会读取\\n 前的数据进行判断),单条日志最大限制为2MB。若日志超过2MB后,会截断只保留前2MB。
正则表达式 正则表达式类型支持 Perl 兼容正则表达式。
首次日志采集行为 LogListener 支持全量采集/增量采集策略:全量采集:首次安装启动 LogListener 后,会采集所有符合条件的日志,包括已经没有写入的文件。增量采集:首次安装启动 LogListener 后,存量文件会从最新位置开始采集。注意:增量/全量采集需要 LogListener 2.6.2及以上版本。
日志文件轮转 支持。(推荐轮转后的文件名,不要被采集通配路径覆盖到)注意:文件轮转后60秒内,若无新增日志写入轮转后的日志文件,轮转后的日志文件将不会再被采集,否则将持续采集轮转后的日志文件。
日志解析失败时采集行为 推荐开启解析失败上传功能,开启后将会把解析失败的日志按照单行全文格式上传至预设索引中。否则,解析失败日志将被丢弃。
文件打开行为 LogListener 会在采集读取文件时打开,读取完毕后关闭。
过滤规则 单、多行全文采集最多可配置1条过滤规则。
 分隔符、正则提取模式、JSON 格式最多可以配置5条过滤规则。
Key 字段长度 分隔符、正则提取模式 Key 字段长度最多为128Byte。
Key-Value 组个数 所有解析模式下,提取 Key-Value 组的个数最多为1000个,超过部分将会被丢弃。
LogListener 最大连接数 LogListener 最大连接数限制:1024。
内存占用 LogListener 的内存占用,正常情况最多50MB。
CPU 占用 LogListener 的 CPU 使用在5MB/s日志量下,业务进程合计不超过单核的20%。
采集配置生效延时 更新采集配置之后会有1分钟的生效延时。
日志文件 LogListener 运行的采集目标日志文件大小建议小于500MB。

二、Checkpoint 管理

项目 能力与限制
Checkpoint 保存位置 LogListener < 3.4.0:保存路径默认为 LogListener 安装目录下 data 目录,可通过 LogListener 配置文件中的 checkpoint_cache_file 参数修改。LogListener ≥ 3.4.0:保存路径固定为 LogListener 安装目录下的 data/checkpoint 目录,不支持通过配置参数修改。
Checkpoint 保存策略 LogListener 存有两份 checkpoint 元数据:一份只记录已上传完成的位点信息,实时持久化到磁盘上。一份同时记录了已完成位点信息与已采集但尚未完成的位点信息,周期性持久化到磁盘上。程序退出时也会优先进行持久化。

三、资源、性能限制

项目 能力与限制
默认 CPU 核数限制 LogListener 仅支持单核运行。
默认 CPU 资源限制 LogListener 默认未做 CPU 资源限制,若需限制,可参见 LogListener 配置指南,修改 LogListener 配置文件中的 cpu_usage_thres 最大 CPU 利用率。目前 LogListener 的实现架构,如未做 CPU 资源限制,其最高能够达到的单核 CPU 使用率为110%左右(业务线程最大100%, 管控线程10%左右)。
默认线程数限制 LogListener 2.x.x 版本仅支持单线程运行。LogListener 3.x.x 版本支持多线程能力。
默认内存资源限制 LogListener 默认内存阈值设置为2G,若需限制,可参见 LogListener 配置指南,修改 LogListener 配置文件中的max_mem 修改最大内存占用。建议不低于300M。
默认带宽资源限制 LogListener 默认未限制带宽资源,若需限制,可参见 LogListener 配置指南,修改 LogListener 配置文件中的 max_send_rate,对程序使用的网络带宽进行限制。
资源超限处理策略 若 LogListener 占用相关 CPU 和内存资源超过最大限制的时间超过5分钟,则采集程序会强制自动重启。
日志压缩 采集日志默认会压缩后上传,若不需要压缩,可参见 LogListener 配置指南,修改 LogListener 配置文件中的 request_compression 关闭压缩上传。
监控目录数 默认最大监控目录数5000,如超出可能会引起采集失败。
监控文件数 推荐最大监控文件数10000,如超出可能会引起采集失败。
监控事件数 Polling 模式下,推荐最大事件数10000,如超出可能会引起采集失败。

四、错误处理

项目 能力与限制
网络错误处理 非需要特殊处理的异常(如日志主题删除),其它错误都会进行重试(网络异常、超时、频控、欠费等)。
超时最大重试时间 若数据持续发送失败超过1小时,则丢弃该数据。默认行为是间隔重试,且重试间隔时间会越来越长,直至超过超时最大尝试时间。
重试次数 可通过 loglistener.conf 配置文件设置,默认不配置。此时默认会一直重试,直至超过最大重试时间,之后丢弃。如果配置了重试次数,则按照重试次数进行重试,超过最大次数则丢弃。
换行符缺失 采集时,若单条日志结尾缺少换行符,采集器将等待五分钟, 若五分钟内没有检测到换行符,将自动填充换行符,并继续往下采集。

五、文件采集规则

项目 能力与限制
日志上传策略 LogListener 会将同一文件的日志自动聚合上传,聚合条件为:10000条日志、日志集合总大小达到1M或者日志采集时间超过3秒,任一条件满足则触发上传行为。
文件采集的处理策略 单个目标文件(采集路径所能匹配到的一个文件)只支持上传日志到一个日志主题中,不支持多个 topic 的采集路径覆盖到同一个文件。如果想要将一个文件上传到多个日志主题中,可以通过软链接进行;对同一个目标文件创建多个软链接,不同的日志主题采集不同的软链接。
日志采集延迟 实时采集情况下,会在1分钟之内完成数据采集、传输、存储落盘,达到控制台可检索的效果。如果日志生产量巨大,或者将采集程序使用的资源限制的较小,会有一定的采集延迟。

六、日志主题相关规则

项目 能力与限制
采集配置数量限制 一个日志主题可关联的采集配置数量上限为100个。

七、机器组相关规则

项目 能力与限制
机器组逻辑 目前机器组分为两类,这两类使用方法是相互独立的,且两种用法是不兼容的,如果混合使用,采集机器将拉取不到正确的采集配置,造成不采集的现象。IP 机器组,机器 IP 需要在控制台上手动加入机器组,对应机器上 loglistener.conf 的 group_label 需为空。机器标识类型机器组:在控制台设置机器标识,对应机器上 loglistener.conf 的 group_label 需要设置为相同的机器标识。
机器组与日志主题的关系 单个日志主题,可以绑定多个机器组。单个机器组,可以绑定到多个日志主题上。
机器组与采集机器的关系 单台采集机器可以关联多个机器组,关联的机器组数量不受限制。
机器标识限制 单个机器标识最长为128个字符。单个机器标识类型机器组默认最多可以配置50个机器标识。如需提高配额,可 提交申请 调整。

八、采集路径/采集黑名单用法

项目 能力与限制
采集黑名单 此功能是用来指定采集路径下,需要忽略采集的内容,目前采集黑名单分为两类:文件路径模式:采集路径下,需要忽略采集的完整文件路径,支持通配模式。目录路径模式:采集路径下,需要忽略采集的目录前缀,支持通配模式。注意:FILE/PATH 模式可以同时使用。采集黑名单是在采集路径下进行排除,因此无论是文件路径模式,还是目录路径模式,其指定路径要求为采集路径的子集。
赞 (0)
上一篇 5天前
下一篇 5天前