0
点赞
收藏
分享

微信扫一扫

Linux 7.X 操作系统message日志显示过滤规则

在Linux 7.X 中,可以使用rsyslog日志守护进程来过滤日志消息。

1.常见的过滤条件示例

示例1:按日志级别过滤

① 查看系统默认值
# cat /etc/rsyslog.conf
...省略若干内容...
*.info;mail.none;authpriv.none;cron.none /var/log/messages
...省略若干内容...

② 只显示某个级别以上到messages
a. 若要仅显示警告warn级别及以上的日志消息
# cat /etc/rsyslog.conf
...省略若干内容...
*.warn /var/log/messages
...省略若干内容...

b. 若要仅显示错误err级别的日志消息
# cat /etc/rsyslog.conf
...省略若干内容...
*.err /var/log/messages
...省略若干内容...

示例2:按日志来源过滤

① 打印仅显示特定程序(如sshd)生成的日志消息到messages
# cat /etc/rsyslog.conf
...省略若干内容...
if $programname == 'sshd' then /var/log/sshd.log
...省略若干内容...

② 不打印sshd服务和online_doc服务的日志到messages
# cat /etc/rsyslog.conf
...省略若干内容...
if $programname == 'sshd' then stop
if $programname == 'online_doc' then stop
*.info;mail.none;authpriv.none;cron.none /var/log/messages
...省略若干内容...

示例3:按文本内容过滤

① 打印仅显示包含特定文本内容"如: ERROR "的日志到messages
# cat /etc/rsyslog.conf
...省略若干内容...
if $msg contains 'ERROR' then /var/log/error.log
...省略若干内容...

② 不打印包含特定文本内容 '如:sshd和online_doc' 的日志到messages
# cat /etc/rsyslog.conf
...省略若干内容...
if $msg contains 'sshd' then stop
if $msg contains 'online_doc' then stop
*.info;mail.none;authpriv.none;cron.none /var/log/messages
...省略若干内容...

示例4:按设备过滤

①若要仅显示特定网络存储设备(如/dev/sda)生成的日志消息,可以使用
# cat /etc/rsyslog.conf
...省略若干内容...
if $fromhost-ip == '192.168.1.100' then /var/log/sda.log
...省略若干内容...

2.重启rsyslog服务生效

设置完成后,重启服务生效

# systemctl restart rsyslog.service

查看日志是否生效

# tail -f /var/log/messages

举报

相关推荐

0 条评论