配置:

rsyslogd 配置通过rsyslog.conf file,典型的在/etc下。默认的,

rsyslogd 读取/etc/rsyslog.conf 文件,这个可以通过命令行选项改变

注意 配置可以通过在线rsyslog 配置创建工具生成

配置文件例子可以在rsyslog wiki找到, 同时保留rsyslog 配置片段在你的脑子里。

基本结构:

本节描述 rsyslog 配置基本的工作,想象rsyslog 作为一个大的logging和事件处理工具。

它可以被认为是一个框架具有一些基本的处理,是固定的数据流方式,

但是是高度可定制的在消息流的细节上。在配置过程中,

这个定制是通过定义和自定义rsyslog 对象实现的。

消息流和对象的快速概述:

Message 进入rsyslog 在input 模块的帮助下, 然后,它们可以被传递给规则

在规则被有条件的应用下, 当一个规则匹配, 消息是被传输到action,

然后对消息做一些处理 比如,写到文件,数据库或者转发到远程主机

处理原则

1.输入提交接收到的消息到规则集 

如果规则集没有明确的限制,默认规则集被使用

2. 默认的,这里有一个规则集(RSYSLOG_DefaultRuleset)

3.额外的规则及可以用户自定义

4.每个规则集包含0个或者多个规则

虽然允许0个规则在一个规则集,但是先让没有意义

5.一个过滤器的规则集合一个动作列表

6.过滤器提供yes/no 决定和 从而控制流能力

7.如果一个过滤器(filter say yes),相应的action列表是被执行。

如果不匹配,没有什么发生

8.规则是按顺序被评估从第一个到最后一个规则在给定的规则集。

从无关的规则集 没有规则会被评估

9. 所有的规则总是被完全评估的,无论是否匹配一个过滤器或者不匹配(我们不会在第一次匹配停止)

如果消息处理应该停止,“discard” action (波浪符号或者停止命令代表)

必须明确被执行。如果 discard被执行,消息处理立即停止,不会评估任何其他规则

10.一个action 列表包含一个或者多个actions

11.在一个action 列表没有进一步过滤是可能的

12. 在一个列表有一个以上的action, &字符必须放在过滤器位置,这个必须立即按照以前的action

13.actions 有action请求本身组成(e.g. ”:omusrmsg:”) 以及所有定义的action配置语句

14. 如果旧的格式被使用,$Action 指令必须被指定在action之前

配置文件

在启动时, rsyslog 读取它的配置从rsyslog.conf 文件,

文件包含引用到其他配置文件

一个不同的"root"配置文件可以通过-f 选项加载,这个通常在一些init脚本或者类似的设备里

语句类型:

Rsyslog 同时支持3种不同类型的配置语句:

sysklogd - t 这是普通的旧的格式, 无处不在 仍旧相当有用对于简单的使用情况。

注意 一些很少的结构是不在被支持了,因为它们不兼容新的功能,这些在兼容性里会提到

legacy rsyslog - 那个语句以$符号开始,它们设置一些配置参数和修改例如 操作的方式。

这是唯一的格式支持在V6版本以前。 但是它仍旧完全被支持在V6和以上版本。

注意一些plugins 和功能可能只能通过legacy format (因为plugins 需要被显示的升级来使用新的style 格式,

不是所有的插件)

RainerScript  最新的样式,这是最好的和最精确的格式用于很多复杂的情况。

rsyslog.conf 文件有语句组成,对于老的样式(ysklogd & legacy rsyslog),

按行。

对于新的样式(RainerScript)  行空间是无关紧要的,

最重要的是, 这意味着新的style actions 和所有其他对象可以分散到多行 当用户需要时

推荐的语句类型:

通常 推荐使用 RainerScript 类型语句,因为它们提供了干净的容易的来读取 控制流程以及对于哪个参数是主动的会没有疑问。

它们也没有副作用对于include 文件,可以是一个主要的障碍对于 legacy rsyslog statements.

对于每个简单的事情 sysklogd 语句类型仍旧是推荐的,尤其是如果 全部配置包含一些简单的事情。

mail.info /var/log/mail.log
mail.err @server.example.net 这是很难被击败的在简单性上,仍旧被教在很多地方 作为一个规则翻阅,RainerScript 配置语句应该被使用当: 配置参数是需要的(例如 动作 legacy statements 类型) 它通常不推荐使用rsyslog legacy config format(那些指定以$符号开始) 然而, 一些少的设置和模块没有被转换到RainerScript。在这些情况下, legacy syntax必须被使用。 Comments 有2种类型的注释: #-Comments 以#号开始,运行到行结束 处理顺序: 指令是被处理从 rsyslog.conf 的顶部到底部,顺序很重要。 比如, 如果你停止处理消息,显然所有的语句在停止语句后不会被评估 流程控制语句: 数据处理语句: 数据操作是通过设置完成,unset和reset 语句 Inputs 每个input 需要一个input 模块来被加载和一个侦听定义它。 详细的细节可以在rsyslog 模块文件里找到,一旦加载, inputs 通过input()对象 input(type="imfile"
File="/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out"
Tag="zjzc-api01"
Severity="info"
Facility="local5") Outputs 输出也被称为"actions", 一个小的actions集 是预加载(像output file writer, 是用于几乎所有的在rsyslog.conf),其他必须被load 就像inputs

1.Basic Structure的更多相关文章

  1. Vue: webpack js basic structure

    vue webpack所用基础包: nom install vue vue-loader webpack webpack-cli webpack-dev-server vue-template-com ...

  2. react: nextJs koa project basic structure

    1.init nextJs project npm init npm install react react-dom next config script in package.json " ...

  3. Finger Trees: A Simple General-purpose Data Structure

    http://staff.city.ac.uk/~ross/papers/FingerTree.html Summary We present 2-3 finger trees, a function ...

  4. 链表的基本操作(Basic Operations on a Linked List)

    链表可以进行如下操作: 创建新链表 增加新元素 遍历链表 打印链表 下面定义了对应以上操作的基本函数. 创建新链表 新链表创建之后里面并没有任何元素,我们要为数据在内存中分配节点,再将节点插入链表.由 ...

  5. Python basic (from learn python the hard the way)

    1. How to run the python file? python ...py 2. UTF-8 is a character encoding, just like ASCII. 3. ro ...

  6. Making my own Autonomous Robot in ROS / Gazebo, Day 1: Building the static model

    Day 1: Setting up ROS: Indigo OS: Ubuntu 14.04 OS: Gazebo 7.0.0 Initialize the workspace To create t ...

  7. squid源码安装下的conf文件默认值和提示

    #    WELCOME TO SQUID 3.0.STABLE26#    ----------------------------##    This is the default Squid c ...

  8. <<Numerical Analysis>>笔记

    2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...

  9. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework的依赖注入和控制反转

    Dependency Injection and Inversion of Control 1.概述: 1.1相关概念 bean:由IoC容器所管理的对象,也即各个类实例化所得对象都叫做bean 控制 ...

随机推荐

  1. 从无到有开发连麦直播技术<转>

    转贴地址:http://blog.csdn.net/heisedelangzi/article/details/52400333 从无到有开发连麦直播技术点整理-AnyRTC 直播关键字 采集.前处理 ...

  2. ASIHTTPRequest 详解 例子

    目录 目录 发起一个同步请求 创建一个异步请求 队列请求 请求队列上下文 ASINetworkQueues, 它的delegate提供更为丰富的功能 取消异步请求 安全的内存回收建议 向服务器端上传数 ...

  3. Android SHA1与Package获取方式

    获取应用包名 打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应用包名. 如下图所示,红框中的内容: 获取 Sha1 值 开发模式(d ...

  4. 百度——LBS.云 v2.0——创建自己的地理云数据

    随着云技术和地理信息(GIS)技术的发展,今年终于进入了.地理分享的新纪元.百度提供了LBS的云存储.真是个不错的功能.下面让我们来看看如何使用吧. 1.注册百度开发者账号(此处略去88个字) 2.创 ...

  5. [转] 使用Spring Boot和Gradle创建项目

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...

  6. Android(java)学习笔记256:JNI之NDK的概念

    1.交叉编译 (1)概念 在一个平台(硬件)和os(软件)环境下,编译出另一种平台和os下可以运行的二进制代码. e.g:     电脑端                               ...

  7. 配置keil MDK和keil C51共存

    配置keil MDK和keil C51共存:1.首先安装keilMDK或者安装KeilC51其中一个:2.安装到D:\keil路径下,按照默认的配置安装,完成:3.使用管理员身份打开安装好的软件,打开 ...

  8. 递归---NYOJ-176 整数划分(二)和NYOJ-279队花的烦恼二

    这道题目的递归思想和第一个题差不多, 主要思想是:func(n, m)的作用是将n划分为m个. 1. 如果n < m 的时候肯定是不能划分的,所以就返回0 2. 如果m = 1 或者 n = m ...

  9. MVC4 EF linq从客户端中检测到有潜在的危险的Request.Path值

    今天做项目的时候遇到了这样的问题贴出来给大家分享下啦, 使用MVC4 EF linq跳转视图的时候出现,从客户端中检测到有潜在的危险的Request.Path值错误,如下图所示: 解决办法如下:  r ...

  10. JavaBean-Servlet-JavaServerPage(转)

    1.servlet servlet是在服务器端执行的,具有良好的移植性,不论操作系统是Windows.Linux.Unix等等,都能将写好的Servlet程序放在这些操作系统上执行,是真正的写一次,到 ...