on  it road.com

基于属性的过滤器

按任何属性过滤 rsyslog 消息,例如 timegenerated 或者 msg 。
我们可以使用多种基于属性的比较操作之一来比较属性与值。
比较操作包括 contains 、 isequal 和 startswith 。
以下示例过滤消息文本 (msg) 中包含字符串“error”的消息:

:msg, contains, “error”

基于设施/优先级的过滤器

基于facility/优先级的过滤器根据两个条件过滤 rsyslog 消息:

  1. facility
  2. priority(优先级)

设施指定产生消息的子系统。
工具的示例包括邮件、内核和 cron。
Priority 表示消息的优先级。
优先级的示例包括调试 (7) 、警告 (4) 和警报 (1) 。

设施优先级对称为选择器。
要创建选择器,请使用以下语法:

Facility.Priority

Facility

Facility 指定产生特定 rsyslog 消息的子系统,可以由以下关键字之一表示:

Facility子系统
auth/authpriv安全/授权消息
cron消息
daemon其他系统守护进程
kern内核消息
lpr行式打印机子系统
mail邮件系统
news网络新闻子系统
syslogrsyslogd 内部生成的消息
user用户级消息
uucpUUCP子系统
local0 through local7本地使用

优先级

优先级可以由这些关键字之一表示(按升序列出)。
根据给定的操作记录指定优先级和更高优先级的所有消息。

Priority(优先级)消息类型
debug调试级消息
info信息性消息
notice正常错误显着情况
warning警告条件
err错误条件
crit临界条件
alert必须立即采取行动。
emerg系统不稳定。

基于设施/优先级的选择器示例

以下是基于设施/优先级的选择器的示例。

  1. 要选择优先级为 err 和更高的所有邮件消息:
mail.err
  1. 可以使用特殊字符。
    使用星号 (*) 指定所有设施或者优先级。
    例如,要选择具有任何优先级的所有身份验证消息:
auth.*
  1. 使用逗号 (,) 指定多个设施和优先级。
    例如,要同时选择具有警告或者更高优先级的 uucp 和新闻设施:
uucp,news.warning
  1. 使用分号 (;) 在一行上定义多个选择器。
    例子:
*.info;mail.none;auth.none;cron.none
  1. 使用等号 (=) 指定单个优先级。
    忽略所有其他优先级。
    例如,要选择只有紧急优先级的 cron 消息:
cron.=emerg
  1. 在优先级前面加上感叹号 (!) 以选择除具有已定义优先级的消息之外的所有 rsyslog 消息。
    以下示例选择所有用户消息,但具有 info 或者 debug 优先级的消息除外:
user.!info,!debug

基于表达式的过滤器

使用 rsyslog 脚本语言根据算术、布尔或者字符串操作选择 rsyslog 消息。
下面显示了基于表达式的过滤器的基本语法:

if EXPRESSION then ACTION else ACTION
了解 rsyslog 过滤器选项

rsyslogd 守护进程提供了三种不同的方式来过滤 rsyslog 消息:

  1. 基于facility(设施)/priority(优先级)的过滤器
  2. 基于属性的过滤器
  3. 基于表达式的过滤器
日期:2020-09-17 00:14:41 来源:oir作者:oir