• Action 动作


    Actions:
    
    对象动作描述对消息要怎么被处理,它们通过output 模板实现:
    
    这个action对象有不同的参数:
    
    Legacy Format
    
    请注意 legacy action 格式是很难来得到正确的,它是推荐使用RainerScript-Style
    
    action 格式尽可能的!
    
    使用legacy format 关键问题是一个单独的action 是定义通过多行配置行,
    
    可能遍布所有的rsyslog.cof.
    
    
    甚至 多行action定义会混杂(通常不是故意的).
    
    如果 legacy actions format 需要被使用 它是强烈推荐放置所有的配置语句固定在一个单独的action
    
    
    请注意legacy action 参数不影响 RainerScript action 对象,因此你可以定义如下:
    
    
    $actionResumeRetryCount 10
    action(type="omfwd" target="server1.example.net")
    @@server2.example.net
    
    server1的 “action.resumeRetryCount” 参数没有设置,代替的是 server2’s is设置的
    
    新的RainerScript action  格式的目的是避免混乱,参数的实际使用。
    
    因此,它会产生相反效果对于legacy action parameters 在一个 RainerScript definition. 
    
    Legacy Description:
    
    模板可以与很多actions结合,如果被使用,指定模板是用于生成消息内容(代替默认模板).
    
    为了指定一个模板,写一个;分号在action值跟在模板名字后面。
    
    
    $template testlog01,"/data01/%fromhost-ip%/%fromhost%.%$year%-%$month%-%$day%"
    
    注意: 模板必须是定义在被使用前。
    
    可以定义一些模板,使用它们在selector 行,定义更多的模板和使用它们在下面的selector lines.
    
    你可以有多个actions 对于一个单个selector(或者更加精确的一个这样的selector line 过滤器)
    
    
    每个action 必须在它自己的行和必须以&开始
    
    *.=crit :omusrmsg:rger
    & root
    & /var/log/critmsgs
    
    Regular File 常规文件:
    
    通常消息是记录到真正的文件。文件通常是通过全路径名指定,以斜杠/开始。
    
    
    从4.6.2和5.4.1(v5版本之前不支持这个) 相关的文件也可以被指定。
    
    为了这样做, 那些必须以一个点号开始。
    
    
    请注意,使用  ”./file-in-current-dir.log”来指定一个文件在当前的目录。
    
    
    
    请注意 rsyslogd 通常改变它的工作目录到root,因此相关的文件名必须小心测试.
    
    你可以前缀每个条目使用-减号来忽略同步文件。
    
    如果系统是连接到一个可靠的UPS ,你接收大量的额日志(例如防火墙日志)
    
    文件名可以是静态的(总是相同的)或者动态的(不同的基于接收到的消息).
    
    后面是有用的 如果你自动分散消息到不同文件基于一些消息标准。
    
    例如,动态文件selectors 允许你split 消息到不同的文件基于主机名。
    
    使用动态文件名字, 所有内容都是自动的不需要任何过滤器。
    
    它工作通过模板系统,首先,你定义一个模板用于文件名。
    
    
    一个例子可以从上面例子看到。 我们会使用“DynFile” 模板定义。
    
    动态文件是通过指定一个?代替slash,后面跟着模板名字。
    
    
    
        *.* ?DynFile
    
    这就是你要做的,Rsyslog 会自动生成文件名用于存储正确的消息到正确的文件。
    
    
    注意 负号也适用于动态文件 因此为了避免同步,可以使用
    
    
        *.* -?DynFile
    
    当然你可以使用模板指定输出格式:
    
    
        *.* ?DynFile;MyTemplate
    
    提醒一句:rsyslog 创建需要的文件, 所以 如果一个新的host 使用你的syslog server,rsyslog 会自动创建文件。
    
    
    创建目录页是支持的,比如 你可以使用hostname作为目录,程序名作文件名:
    
    
    
        $template DynFile,"/var/log/%HOSTNAME%/%programname%.log"
    
    
    Named Pipes
    
    rsyslog(8) 版本一句支持记录输出到一个命名管道(fifos)
    
    Remote Machine 远程主机:
    
    Rsyslogd 提供远程日志记录功能,即能够发送消息到一个远程主机。
    
    接收消息从远程主机
    
    使用这个功能你是可以控制所有的syslog 消息在一个机器上,
    
    如果所有其他机器会远程激励, 这是管理需要
    
    
    转发消息到另外的主机,预先考虑主机名和@符号。
    
    一个@意味着消息通过UDP协议转发(syslog标准).
    
    如果你准备2个@@符号,消息会通过TCP转发。
    
    注意 普通的TCP 基于syslog 没有正式规范,但是主要的syslogd 支持它(例如syslog-ng或者WinSyslog)
    
    z<number>
    
    使用zlib压缩消息,<number> 是压缩级别。

  • 相关阅读:
    安卓自动化测试添加用例执行回放
    【十二省2019】异或粽子
    【BZOJ4260】Codechef REBXOR
    【JSOI2015】字符串树
    【HAOI2017】供给侧改革
    【NOI2018】你的名字
    【十二省2019】字符串问题
    【LOJ#6041】事情的相似度
    【SP8093】JZPGYZ
    【BZOJ1396】识别子串
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349630.html
Copyright © 2020-2023  润新知