Actions:
Action 对象描述如何处理消息,它通过输出模块实现:
action 对象有不同的参数;
1.那些应用于所有actions和是特定的action,记录如下:
2. action 队列的参数, 它们也应用于所有参数,它们是具体队列的,
不是指定ation的(他们是相同的用于ruleset,比如).
特定action参数,那些是指定一个某种类型的actions.
一般动作参数:
name word
这个名字action,名字是用于统计收集和文档。
如果没有名字给定,一个是动态生成基于这个动作的发生 在rssylog 配置。
Actions顺序编号为1到n.
type 字符串强制的参数对于每个action,模块的名字应该被使用:
action.writeAllMarkMessages on/off,这个设置告诉如果标记的消息总是被写的(“on”, the default)
或者如果action 不会被执行。
默认情况下, recently 意味着在过去的20分钟。
如果设置是"on",mark 消息总是发送到actions,不管它们执行的多频繁。
在这种模式下,mark 消息可以用于一组心跳。
Useful Links 有用的Links:
Legacy Format
action.writeAllMarkMessages on/off 这个设置告诉如果mark 消息总是可写的("on",默认是)
或者只有action 最近没有被执行("off").
默认,recently 意味着在过去20分钟,如果这个设置是"on",
mark messages 总是发送到action,不管它们是如何被执行的。
在这种模式下, mark 消息可以用于作为一种heartbeat .
请注意 legacy action参数不影响RainerScript action objects.如果你定义例如:
$actionResumeRetryCount 10
action(type="omfwd" target="server1.example.net")
@@server2.example.net
传统的描述:
模板可以用在很多actions,如果被使用,指定的模板是用于产生消息内容(代替默认的模板).
指定一个模板,写一个; 在action 值立即跟着模板名字。
Beware: templates 必须定义在它们被使用前。
你可以有多个actions 用于一个单独的selector(或者更精确的一个单独的过滤器比如一个selector line).
每个action 必须在它自己行和行必须以一个 (‘&’) character 开始 没有过滤器
*.=crit :omusrmsg:rger
& root
& /var/log/critmsgs
普通文件:
通常消息是记录到真实的文件,这个文件通常是通过完整pathname指定的, 以"/"开始。
开始版本4.6.2和5.4.1 (V5之前版本不支持)相关的文件也可以被指定。
要做到这一点,那些鄙视开始一个.号
比如,使用 ”./file-in-current-dir.log” 来指定一个文件在当前的目录。
请注意 rsyslogd 通常改变它的工作目录到root,因此相关文件必须小心测试.
你可以用前缀在每个entry 使用-减号来忽略文件在每个记录。
如果你的系统是连接到一个可靠的UPS 和接收到大量的日志数据,
它可能是一个好的注意。
文件名字可以是静态的(总是相同的)或者动态(不同于基于消息接收).
later 是有用的如果你自动拆分消息到不同的文件基于一些消息标准。
比如,动态文件selectors 允许你拆分消息到不同的文件 基于主机。使用动态文件名字,
一切是自动的你需要任何过滤器:
它工作首先通过模板,你定义一个模板用于文件名。
一个例子可以看到上面的模板描述。我们使用“DynFile” template 定义。
动态文件是指明通过这顶一个问号? 代替一个斜杠,后面跟着模板名字。
因此,selector line 用于我们的dynamic file name 看起来如下:
*.* ?DynFile
当然你可以使用模板来指定格式输出:
*.* ?DynFile;MyTemplate
提醒一句: rsyslog 创建需要的文件,因此如果一个新的host是使用你的syslog server,
rsyslog 会自动创建一个新的文件:
创建目录页是支持的,比如你可以使用hostanme作为目录和程序名名字如下
$template DynFile,"/var/log/%HOSTNAME%/%programname%.log"
命名管道:
Remote Machine 远程机器:
Rsyslogd 提供完整的远程记录,即能够发送消息到一个远程host 运行rssylogd(8)。
接收远程主机的消息。
使用这个功能你可以控制所有的syslog 消息在一个主机,如果所有其他主机会远程记录
转发消息到另外主机,前缀主机名使用一个@符号。
一个单一的符号意味着消息会转发通过UDP 协议(syslog标准协议).
如果你前缀两个("@@"), 消息会传输通过TCP。
请注意基于syslog的plain tcp 不是官方支持的,但是最主要的syslogd 支持它( (e.g. syslog-ng or WinSyslog).
转发action 表明(@符号)可以跟着一个或者多个选项。
如果他们被给定,他们必须立即(没有空格)跟着最后的标志.
用户列表:
通常