Rsyslog-legacy(旧版本语法)配置说明及举例

1、 RULES-书写规则

格式:日志设备(类型).日志级别             日志处理方式

(1)日志类型分类

auth

pam产生的日志

authpriv

ssh,ftp等登录信息的验证信息

cron

时间任务相关

kern

内核

lpr

打印

mail

邮件

mark(syslog)

rsyslog服务内部的信息,时间标识

news

新闻组

user

用户程序产生的相关信息

uucp

unix主机之间相关的通讯

local 1~7

自定义的日志设备(类型)

 

(2)日志级别分类

debug

有调试信息的,日志信息最多

info

一般信息的日志,最常用

notice

最具有重要性的普通条件的信息

warning

警告级别

err

错误级别,阻止某个功能或模块不能正常工作的信息

crit

严重级别,阻止整个系统或整个软件不能正常工作的信息

alert

需要立即修改的信息

emerg

内核崩溃等严重信息

none

什么都不记录

 备注:从上到小,级别由低到高,记录的信息也越来越少。

(3)连接符号

.xxx

表示大于等于xxx级别的信息

.=xxx

表示等于xxx级别的信息

.!xxx

表示在xxx之外的等级的信息

 

(4)演示

 

记录到普通文件或设备文件

*.*   /var/log/file.log                                #绝对路径

*.*   /dev/pts/0

转发到远程

*.*   @192.168.0.1                                   #UDP

*.*   @@192.168.0.1:10514                   #TCP

发送给用户(在线用户才生效)

*.*    root

*.*    root,test                                            #多个用户使用英文逗号分开

*.*    *                                                         #*表示所有在线用户

忽略,丢弃

local3.*   ~                  #忽略所有local3类型的所有级别的日志        

执行脚本

local3.*   ^/tmp/a.sh          #^后跟可执行脚本或程序的绝对路径

                                                                     #日志内容可作为脚本的第一个参数

触发报警

.. note::

 

备注:日志记录的顺序有先后关系

2、实例

(1)过滤日志,由:号开头

:msg,contains,       "error"     /var/log/error.log               

:msg,contains,        "error"    ~

:msg,contains,        "user vicky"     ~

:msg, contains,       "module-alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write"    ~

local3.*                   ~

&                             ~                  #忽略所有日志

 (2)使用模板来定义日志格式

  • 默认模板格式:
$template myFormat, "%rawmsg%\n"
  • 定义模板格式:

  详见文档rsyslog的模板

  • 为规则使用模板:
cron.*          /var/log/cron;myFormat          #分号后面添加模板名

(3)远程发送和接收

*.*   @192.168.0.1                          #UDP

*.*   @@192.168.0.1:10514                   #TCP

client端:配置发送到哪里,有无端口,使用什么协议发送

server端:配置使用什么协议监听哪个端口,收到的日志保存到哪里

(4)作为server端,将不同client端发送过来的日志保存到不同的文件

:FROMHOST-IP,isequal,          "192.168.0.3"                   /var/log/host3.log

:FROMHOST-IP,isequal,          "192.168.0.133"               /var/log/host133.log

:FROMHOST-IP,startwith,      "192.168.1."                      /var/log/network1.log

:FROMHOST-IP,startwith,      "192.168.2."                      /var/log/network2.log

 

posted @ 2017-04-27 17:22  cherish_leon  阅读(1130)  评论(0编辑  收藏  举报