on it road.com
基于属性的过滤器
按任何属性过滤 rsyslog 消息,例如 timegenerated 或者 msg 。
我们可以使用多种基于属性的比较操作之一来比较属性与值。
比较操作包括 contains 、 isequal 和 startswith 。
以下示例过滤消息文本 (msg) 中包含字符串“error”的消息:
:msg, contains, “error”
基于设施/优先级的过滤器
基于facility/优先级的过滤器根据两个条件过滤 rsyslog 消息:
- facility
- priority(优先级)
设施指定产生消息的子系统。
工具的示例包括邮件、内核和 cron。
Priority 表示消息的优先级。
优先级的示例包括调试 (7) 、警告 (4) 和警报 (1) 。
设施优先级对称为选择器。
要创建选择器,请使用以下语法:
Facility.Priority
Facility
Facility 指定产生特定 rsyslog 消息的子系统,可以由以下关键字之一表示:
Facility | 子系统 |
---|---|
auth/authpriv | 安全/授权消息 |
cron | 消息 |
daemon | 其他系统守护进程 |
kern | 内核消息 |
lpr | 行式打印机子系统 |
邮件系统 | |
news | 网络新闻子系统 |
syslog | rsyslogd 内部生成的消息 |
user | 用户级消息 |
uucp | UUCP子系统 |
local0 through local7 | 本地使用 |
优先级
优先级可以由这些关键字之一表示(按升序列出)。
根据给定的操作记录指定优先级和更高优先级的所有消息。
Priority(优先级) | 消息类型 |
---|---|
debug | 调试级消息 |
info | 信息性消息 |
notice | 正常错误显着情况 |
warning | 警告条件 |
err | 错误条件 |
crit | 临界条件 |
alert | 必须立即采取行动。 |
emerg | 系统不稳定。 |
基于设施/优先级的选择器示例
以下是基于设施/优先级的选择器的示例。
- 要选择优先级为 err 和更高的所有邮件消息:
mail.err
- 可以使用特殊字符。
使用星号 (*) 指定所有设施或者优先级。
例如,要选择具有任何优先级的所有身份验证消息:
auth.*
- 使用逗号 (,) 指定多个设施和优先级。
例如,要同时选择具有警告或者更高优先级的 uucp 和新闻设施:
uucp,news.warning
- 使用分号 (;) 在一行上定义多个选择器。
例子:
*.info;mail.none;auth.none;cron.none
- 使用等号 (=) 指定单个优先级。
忽略所有其他优先级。
例如,要选择只有紧急优先级的 cron 消息:
cron.=emerg
- 在优先级前面加上感叹号 (!) 以选择除具有已定义优先级的消息之外的所有 rsyslog 消息。
以下示例选择所有用户消息,但具有 info 或者 debug 优先级的消息除外:
user.!info,!debug
基于表达式的过滤器
使用 rsyslog 脚本语言根据算术、布尔或者字符串操作选择 rsyslog 消息。
下面显示了基于表达式的过滤器的基本语法:
if EXPRESSION then ACTION else ACTION
rsyslogd 守护进程提供了三种不同的方式来过滤 rsyslog 消息:
- 基于facility(设施)/priority(优先级)的过滤器
- 基于属性的过滤器
- 基于表达式的过滤器
日期:2020-09-17 00:14:41 来源:oir作者:oir