点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
1. 读取的策略分为两种:轮询和inotify
轮询:imfile在不指定策略的前提下,默认为轮询,即一定时间间隔内检查文件变化,所以会有一定的延迟; inotify:基于文件监控系统的机制,监控文件发生修改、新增、删除等操作,当文件发生变化时,触发该机制,对文件进行读取。
1)版本:8.25.0及以前 仅在文件名部分支持通配符,在目录名称中不支持
/var/log/*.log /var/log/*/syslog.log
2)版本:8.25.0以后文件名和路径支持通配符
/var/log/*.log /var/log/*/syslog.log /var/log/*/*.log

参数说明:
File:被监控的文件。必须是绝对地址,文件名支持通配符。 Tag:标记信息,会记录到每行被读取到的日志中。 Facility:要分配给从此文件读取的消息的系统日志工具。可以指定为文本形式(例如local0, local1, ...)或数字(例如 16 表示local0),建议采用文本形式,默认为local0。 Severity:要分配给读取的行的系统日志严重性。可以以文本形式(例如info, warning, ...)或数字(例如 6 表示info)指定。建议采用文本形式。默认为notice。 PersistStateInterval:指定在处理输入文件时应多久写入一次状态文件。该缺省值是0,任何其他值 n 意味着至少在每次处理 n 个文件行时写入状态文件。此设置可用于防止由于致命错误(如电源故障)而导致消息重复。 readMode:这为处理某些标准类型的多行消息提供了支持。 该值的范围为 0-2,决定了多线检测方法。 0 -(默认)基于行(每行是一条新消息); 1 - 基于段落(日志消息之间有一个空行); 2 - 基于缩进(新的日志消息从一行的开头开始。如果一行以空格或制表符“t”开头,它就是它之前的日志消息的一部分)。
module(load="imfile" PollingInterval="5")
input(type="imfile"
File="/app/udal/dbproxy_****/logs/udal_monitor_slow_sql.log"
Tag="teledb#133. ****
Severity="info" Facility="local6")


本文作者:胡京康(上海新炬王翦团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




