stop() {
echo -n $"Shutting down system logger: "
killproc -p "${PIDFILE}" -d 30 $exec
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
} prog=rsyslog
exec=/sbin/rsyslogd
lockfile=/var/lock/subsys/$prog imfile: Text File Input Module 文本文件输入模块 这个模块提供转换任何标准输入文件为一个syslog消息。 一个标准的文本文件是一个文件有可打印的字符串组成 文件是按行读取,任何行读取后被传递到rsyslog的规则引擎。 规则引擎应用过滤条件和选择哪个actions需要来进行。 空行是不被处理的,因为它们会导致空的rsyslog记录,它们只是被忽略 当新的行被写入时,它们从文件里取出被处理根据选定的模式, 这个发生通过inotify 或者基于一个轮询间隔。 特别是在轮询模式下,文件读取不立即发生,但是会有轻微的延迟(由于处理队列和内部处理)在inotify mode. 文件监控支持文件循环,为了全面工作,rsyslogd 必须运行当文件是被循环。 然后,任何留下的行从老的文件被读取和被处理 ,一个新的文件是被处理从头开始。 如果 rsyslogd 停止在循环期间,读取新的文件,但是任何没有被报告的行从之前的文件是不会在获取 当rsyslogd 被停止当监控一个文件时,它记录最后处理的位置然后继续从那时候开始处理。 因此没有数据会丢失在重启期间 Metadata 元数据 imfile 模块支持消息元数据,它支持下面的数据项: filename 文件名 消息来自文件的名称, 这是很有用的 当使用通配符在文件监控里,因为 它只唯一的方式知道消息来自哪里。 值可以被访问使用 %$!metadata!filename% property. 元数据目前是唯一的如果启用,默认的 它是启用的用于input() 语句包含通配符 对于所有其他,默认是禁用的。它可以显示的打开或者关闭通过 addMetadata input() parameter, State Files 状态文件 rsyslog 必须跟踪文件的哪个部分已经被处理了, 这个是在所谓的 “state files”完成。 那些文件总是被创建在rsyslog 的工作目录。 为了避免重复状态文件的问题,rsyslog 自动的生成状态文件命名根据下面的规则: 字符串"imfile-state:"是被增加在实际文件名称前, 包含了完整的路径: 全名是添加到字符串后,但是所有的/是被替换为-便于处理 作为一个具体的例子, 考虑 文件 /var/log/applog 被监控, 相应的状态文件会被命名为imfile-state:-var-log-applog. jrhwpt01:/# find . -name "imfile-state*"
./imfile-state:-var-log-nginx-access.log
./imfile-state:-var-log-nginx-error.log 注意 是可以设置一个固定的状态文件通过过时的“stateFile” parameter. 它是被建议避免这个, 因为用户必须照顾名字冲突。 最重要的是,如果 "stateFile" 被设置用于文件监控通配符,相同的状态文件被用于所有的那些文件的发生。 总之,这个通常不会工作会导致名字冲突 Module Parameters 模块参数; mode ["inotify"/"polling"]
Default: “inotify” Available since: 8.1.5 这个指定如果imfile 是运行在 inotify (“inotify”) or polling轮询模式。 传统上,imfile 使用轮询方式,它是更加资源紧张的(更慢的)相比inotify 模式。 建议用户开启"polling" 模式只有它们遇到奇怪的文件在inotify 模式。 轮询间隔 module(load="imfile" PollingInterval="5") Default: 10 默认10 这个设置指定对文件进行轮询获得新数据的间隔,显而易见,它的效果只有当imfile是运行在polling 模式 时间单位是秒,在每个轮询间隔, 所有的文件是被处理以循环的方式 一个短的轮询间隔提供了更加快速的消息转发,但是需要更多的系统资源。 虽然它是可能的, 我们强链推荐不要设置polling interval 到0秒。 那样会让rsyslogd 变成一个CPU dog, 占用相当多的资源。它是被支持的, 然而, 对于一些极端的情况,这个level 是需要的。 即使你需要快速响应,1秒应该足够好了。 Input Parameters Input 参数:
input(type="imfile"
File="/var/log/nginx/access.log"
Tag="zjzc-frontend01-access"
Severity="info"
Facility="local5") File [/path/to/file] input(type="imfile"
File="/usr/local/apache-tomcat-7.0.55_8082/logs/localhost_access_log.*.txt"
Tag="zjzc-api-access01"
Severity="info"
Facility="local5") (需要的参数) 这个是被监控的文件,到目前为止,这个必须是一个绝对路径. 注意 通配符是被支持的在文件名字级别 Tag (所需的参数) tag 可以用于消息来自这个文件,如果你看到在标签后的:(冒号) 你指定像(like ‘tag=”myTagValue:”’). Facility 设备: syslog 设备可以被分配到行读取,可以被指定以文件形式 格式(e.g. “local0”, “local1”, ...) 默认是 “local0”. Severity [syslogSeverity] syslog 严重性 可以被废品到行读取,模式是notice Persist State Interval [lines] 坚持状态区间 指定状态文件写的频率 当处理input file时。 默认是0,意味着 新的state file 只有当监控的文件被关闭才会写(结束rsyslog 执行). 任何其他值 n意味着 状态文件是被写入 每次 n文件行被处理, 这个设置可以用于保护消息重复由于致命错误(断电) 注意这个设置影响imfile 性能,尤其当设置为一个小的值,频繁写状态文件是非常耗时的 $InputFilePersistStateInterval 1 #回写偏移量数据到文件间隔时间(秒) startmsg.regex [POSIX ERE regex] 这个允许 处理多行消息,当设置,一个消息是终止当下一个开始, startmsg.regex 包含表达式 表示消息的开始。 这个参数是用于正则表达式 readMode [mode] 读模式 这个提供支持用于处理多行消息的标准类型。 它是不够灵活的相比startmsg.regex但是提供了更高的性能相比正则处理,注意readMode 和startmsg.regex 不能都被定义用于相同的输入 值范围是从0-2, 确定多行检测方法 0 (默认的)每行是一个新的消息 escapeLF [on/off] (requires v7.5.3+) 这个唯一有意思是如果多行消息是被处理的, LF 字符嵌入到syslog 消息导致大量的问题, 因为大多数工具,甚至 legacy syslog TCP protocol 不期望那些。 如果设置为on,这个选项 避免这种问题通过正确的转义LF字符串为4字节的顺序"#012" MaxLinesAtOnce [number] 一次最多行 这是一个传统的设置只有在轮询模式下支持,在inotify mode, 它是固定为0,所有尝试配置一个不同的值都会被忽略, 会产生一个错误 请注意 将来imfile 版本可能不支持整个参数,推荐不要使用它 在polling 模式,如果设置为0, 每个文件会完全被处理,然后处理切换到下一个文件。 MaxSubmitAtOnce [number] 每次最大提交数量 这是一个专家选项,它可以用于设置最大数量批量输入大小,infile可以生成。 默认是1024, 这是适用于广泛的应用 deleteStateOnFileDelete [on/off] (requires v8.5.0+) 默认 on 这个参数控制如果状态文件被删除 如果它们相关的主要文件是被删除,通常, 这是一个好的注意,因为其他问题会发生如果一个新的文件具有相同的名字被创建。在这种情况下,imfile会从删除的文件最后的位置开始读取,这通常是你不想要的 reopenOnTruncate [on/off] (requires v8.16.0+)
Default: off 这是一个实验性的东西告诉rsyslog 重新input file 当它被truncated(inode 没有改变 但是文件大小是小于当前偏移量在内存里) input(type="imfile"
File="/var/log/nginx/scan.log"
Tag="uat-scan"
Severity="info"
PersistStateInterval="1"
reopenOnTruncate="on"
Facility="local5")

rsyslog imfile 模块说明的更多相关文章

  1. rsyslog & syslog详解

    前言: rsyslog 是一个 syslogd 的多线程增强版.syslog是Linux系统默认的日志守护进程.默认的syslog配置文件是/etc/syslog.conf文件.程序,守护进程和内核提 ...

  2. rsyslog详解实战和避坑

    目标是要把线上环境的debug日志及集中化收集起来,一方面是方便开发调试:一方面是避免直接到线上环境查看,存在安全隐患. 常用可选方案: rsyslog发送端 + rsyslog接收端: 直接存在接收 ...

  3. 手工配置rsyslog配置文件详解

    手工配置 如果您无法通过脚本生成配置文件,这份指导将帮助您通过简单的复制.粘贴手动完成配置. 假定您已拥有root或sudo权限,是在通用的Linux平台使用5.8.0或更高版本的rsyslog,rs ...

  4. Linux 之 rsyslog 系统日志转发(转载)

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  5. rsyslog 传输mysql 日志

    在另外一种环境中,让我们假定你已经在机器上安装了一个名为"foobar"的应用程序,它会在/var/log下生成foobar.log日志文件.现在,你想要将它的日志定向到rsysl ...

  6. Linux 之 rsyslog 系统日志转发

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  7. Linux下rsyslog日志收集服务环境部署记录

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  8. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  9. ELK+zookeeper+kafka+rsyslog集群搭建

    前言 环境困境: 1.开发人员无法登陆服务器 2.各系统都有日志,日志数据分散难以查找 3.日志数据量大,查询忙,不能实时 环境要求: 1.日志需要标准化   集群流程图:   角色:   软件: 以 ...

随机推荐

  1. swift实现ios类似微信输入框跟随键盘弹出的效果

    封面(图文无关) 为什么要做这个效果 在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会跟随键盘一起向下收回,二者完全无缝连 ...

  2. jdbc连接数据库和jdbc-odbc桥接方式连接数据库

    //这种方式为jdbc直接连接,需要添加jar文件 1 package com.howe2; import java.sql.*; public class test2 { public static ...

  3. mui实现支付宝支付功能

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>H ...

  4. 织梦DEDECMS {dede:field name='position'/}标签增加其它属性的

    在默认情况下,织梦(DedeCms)系统当前位置的调用标签为: {dede:field name='position'/} 在这种默认的情况下,生成后的代码大致为如下格式: 主页 > 应用软件 ...

  5. css3 3D变换和动画

    3D变换和动画 建立3D空间,transform-style: preserve-3d perspective: 100px; 景深 perspective-origin:center center ...

  6. SpringBoot入门系列:第一篇 Hello World

    跟随SpringBoot的文档(http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-d ...

  7. DHCP租约时间工作原理

    问题:    很多用户在使用路由器的DHCP服务器过程中都有一个疑问,DHCP有个设置项目是设置DHCP地址的租约时间,如果设置的比较短,是否会出现租约时间到了以后会重新去获取ip地址,造成用户断网? ...

  8. 监听UITabBarItem来拦截是否要跳转

    情景是这样的: 我需要在用户点击"我的"的时候, 判断是否已经登录, 如果没有, 就不进入该界面, 而是跳转到用户登录界面, 所以这里我需要进行UITabBarItem点击事件的拦 ...

  9. icon font

    简而言之,就是: 使用 特殊字符 + (使用@font-face)自定义的字体 来代替图片文件显示图标. 关于@font-face, 参考来自W3CPLUS 的详细解释: css3 @font-fac ...

  10. STL-空间配置器(allocator)

    STL的空间配置器作为STL六大部件的重要组成部分,它总是隐藏在一切组件的背后.它主要负责动态空间的分配.释放等管理工作.整个STL的操作对象(所有的数值)都存放在容器之内,而容器一定需要配置空间以置 ...