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:                   #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

Rsyslog-legacy(旧版本语法)配置说明及举例的更多相关文章

  1. 新版本的bettercap不好用, 如何安装和编译旧版本的bettercap

    新版本的bettercap2.0以上是用go语言写的, 各种功能感觉还不太完善, 没有原来的用ruby写的好, 想着回退安装bettercap1.6旧版本 系统环境: kali 2017.2 下载源码 ...

  2. 下载旧版本的NDK

    在官网找不到旧版本的下载地址,只能取巧了. 写该随笔的时候,NDK最新的版本是r12,见 https://developer.android.com/ndk/downloads/index.html# ...

  3. ASP.NET 5 DNX SDK删除旧版本

    ASP.NET 5各种升级后旧版本的DNX不会删除,想删除旧版本的DNX,可以通过以下命令完成 首先打开CMD或者Powershell 1.先输入dnvm看看命令中是否有uninstall 2.如果没 ...

  4. Android新旧版本Notification

    Android新旧版本Notification 在notification.setLatestEventInfo() 过时了 以前: NotificationManager mn = (Notific ...

  5. 删除ubuntu旧版本内核

    方法一: 1.查看系统下可使用的内核有哪些 dpkg --get-selectiongs|grep linux-image liming@CM:~$ dpkg --get-selections|gre ...

  6. coreData旧版本增加字段,新版本是否可以继续使用旧版本内容的测试(MagicalRecord的使用)

    coreData使用第三方库MagicalRecord, 参考文章:http://blog.csdn.net/kuizhang1/article/details/21200367 coreData数据 ...

  7. C#winform程序安装时自动卸载新版本覆盖旧版本

    vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示  “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...

  8. 导入旧版本Android项目时的“Unable to resolve target ‘android

    在Ecplise + ATD + Android SDK的开发中,导入旧版本的Android项目时,往往会出现类似的如下错误 Error:Unable to resolve target 'andro ...

  9. IE下判断IE版本语法使用

    先摆一下判断IE版本语法 <!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见 <!--[if lte IE 7]> <![ ...

随机推荐

  1. PHP 扩展 trie-tree, swoole过滤敏感词方案

    在一些app,web中评论以及一些文章会看到一些*等,除了特定的不显示外,我们会把用户输入的一些敏感字符做处理,具体显示为*还是其他字符按照业务区实现. 下面简单介绍下业务处理. 原文地址:小时刻个人 ...

  2. nRF52832 BLE_DFU空中升级OTA(二)编译下载(SDK14.2.0)

    上一篇配置好了开发环境,现在就可以试着跑一下例程了,这里需要两个例程,一个是bootloader的,一个是应用程序的,其路径分别为: bootloader:SDK_14.2.0工程\examples\ ...

  3. python3 str各个功能记录

    capitalize() 将字符串的第一个字符转换为大写 center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格. c ...

  4. Leetcode---栈系列刷题(python3实现)----#496 下一个更大元素I

    给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集.找到 nums1 中每个元素在 nums2 中的下一个比其大的值. nums1 中数字 x 的下一个更 ...

  5. GC错误

    如果出现GC错误,可设置客户端 set mapreduce.map.java.opts 设置一下 R的GC错误,在顶端设置这个参数 options(java.parameters = "-X ...

  6. BZOJ 小Z的袜子 2038 国家集训队

    过程: 想了很久如何求组合数C(n,m),然而 YL 同学提醒了可以直接除以 2*n*(n - 1 ).改了之后果然对了,以为一定是一次性AC 了,然而 WA 了3次,尴尬 —— 神 TM,ZC 苟看 ...

  7. GD32F450 200M时USB不稳定

    使用GD32F450的demo修改usb驱动,发现120M和168M时正常,200M时很不稳定.怀疑USB时钟分频有问题,一查果然是,记录如下: 200M是库函数主时钟分频代码如下 static vo ...

  8. go-byte数组最大的长度

    本来想打算用go来处理一个1G左右的txt文本的,但是在去读取的时候就报内存溢出了,提示数组已经无法在分配. 用的是:ioutil.ReadFile 方法来读取文本,它的返回值是一个[]byte 数组 ...

  9. IDEA的基本配置

    一.安装 常规下载安装,换路径即可. 亲测可用破解方法:进入ide主页面,help-register-license server,然后输入 http://idea.iteblog.com/key.P ...

  10. 20155305 2016-2017-2 《Java程序设计》实验四 Android程序开发基础

    实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android.组件.布局管理器的使用: 掌握Android中事件处理机制 实验 ...