Actions 动作

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 表明(@符号)可以跟着一个或者多个选项。

如果他们被给定,他们必须立即(没有空格)跟着最后的标志.


用户列表:

通常 

原文地址:https://www.cnblogs.com/hzcya1995/p/13349672.html