zoukankan      html  css  js  c++  java
  • Basic Structure 基本结构:

    Basic Structure  基本结构:
    
    这个章节介绍了如何配置rsyslog 基本工作, 认为rsyslog 作为一个大的日志记录和事件处理工具集。
    
    
    它可以认为是一个框架使用一些基本的处理,固定的以数据流的方式,
    
    但是是高度自定义的在消息流的细节。在配置过程中,
    
    但是高度自定义在消息流的细节,在配置过程中,这个自定义是通过定义和定制rsyslog 对象实现。
    
    
    消息流和对象概述:
    
    消息输入到rsyslog 使用input 模块。然后,它们是被传递到ruleset,
    
    规则是有条件的应用。
    
    当一个规则匹配, 消息是被传递到一个action,然后对消息做一些操作。
    
    例如 写到一个文件,数据库或者转达到一个远程主机。
    
    
    处理原则:
    
    
    
    input 提交收到的消息到规则集:
    
    1.如果规则集没有明确指定,默认的规则被使用:
    
    
    默认情况下,有一个规则(RSYSLOG_DefaultRuleset)
    
    
    2.额外的规则可以用户定义:
    
    3.每个规则集包含0个或者多个规则
    
    当它允许有0个规则在一个规则集, 这显然没有意义
    
    一个规则有一个过滤器和一个action清单
    
    4.过滤器提供yes/no 决定来控制流的能力
    
    5.一个过滤器"matches"(filter says "yes"),响应的action 列表被执行。
    
    如果它不匹配,没有什么特别发生。
    
    6.规则集是从第一个到最后一个按顺序评估 在给定的规则集。
    
    
    7.所有的规则总是被完全评估,不管如果一个过滤器是否匹配(因为我们不在第一次匹配后结束).
    
    
    
    
    如果消息处理应停止, “discard” action()
    
    "discard" action (有~曲线字符或者stop命令为代表)必须明确的被执行。
    
    
    如果discard 是被执行,消息处理立即停止,没有任何进一步的评估。
    
    8.一个action 包含一个或者多个actions:
    
    9.在一个action列表没有过滤器是可用的
    
    10.有多于一个action在一个列表,字符必须放在过滤器的位置,这个必须按照之前的action.
    
    11.actions 有action调用本身组成(e.g. ”:omusrmsg:”) 
    
    12.如果legacy 格式是被使用 $Action 指令必须指定在action前面 
    
    13.一些配置指令自动指向它们先前的值在被应用后
    
    14.legacy  配置语句(以$开始)不影响 RainerScript 对象
    
    配置文件:
    
    在启动时,rsyslog 读取它的配置文件从rsyslog.conf 文件默认的。
    
    这个文件可能包含引用来包含其他配置文件。
    
    Statement Types 语句类型:
    
    Rsyslog 支持3种不同类型的配置语法:
    
    1.sysklogd - 这是plain 老的格式,无处不在,仍旧相当有用的对于简单的使用例子。
    
    注意 有些很少的组成是不在被支持了,因为它们是和新的功能不兼容的。
    
    
    2.legacy rsyslog  那些语句是以$符号开始。
    
    它们设置一些配置参数和修改例子。
    
    这是唯一的格式被支持在rsyslog v6之前。
    
    它是仍旧支持在v6和以上版本。
    
    注意 一些插件和功能仍旧只能通过legacy 格式。
    
    
    
    
    RainerScript - 新的格式。这是最好的和最精确的格式用于很多复杂的例子。
    
    rsyslog.conf 文件有语句组成,对于老的样式((sysklogd & legacy rsyslog),
    
    对于新的样式(RainerScript)行间距是无关紧要的。
    
    最重要的是,这意味着新的style actions和所有其他对象可以分成多行
    
    推荐使用的语句类型:
    
    通常建议使用RainerScript type statements,因为那些提供干净的容易堵的流控制
    
    它们没有副作用
    
    对于非常简单的事情 sysklogd 语句类型是仍旧被推荐的,尤其是如果完整的配置有这些简单的事情组成。
    
    mail.info /var/log/mail.log
    mail.err @server.example.net
    
    这是很难被避免在一些简单的,仍旧在课程中被教授,很多人支持这个语法。
    
    1.配置参数是需要的(例如e.g. the Action... type of legacy statements)
    
    它是通常不推荐使用rsyslog legacy 配置格式(这些以$符号开始的)
    
    
    订单处理:
    
    指令是从上到下处理的,订单事件。
    
    比如,如果你停止处理消息,
    
    Inputs
    
    每个输入需要一个input 模块被加载和定义一个侦听器。
    
    
    Outputs 输出:
    
    Outputs 也被称为"actions".一个小的actions是被预加载(如输出文件写,
    
    是用于几乎每个rsyslog.conf),其他必须是被加载的像inputs:
    
    一个action 是被调用通过action(type=”type” ...) object. 
    
    
    Type 是强制性的必须包含被调用插件的名字(e.g. “omfile” or “ommongodb”). 
    
    
    Rulesets and Rules 规则集合规则:
    
    规则集合规则从rsyslog 处理的基础,总之,一个规则 是一个rsyslog 如何处理特定的消息。
    
    通常,有一个filter的type(if-语句) 在rule前面。
    
    规则集是规则的容器,一个单独的ruleset 可以包含很多规则。
    
    在编程语言类似, 可以认为一个规则集就像一个程序。
    
    一个ruleset 可以是分配到一个特定的input.类比,
    
    这个意味当一个消息通过input 进入,程序(ruleset)会被执行
    
    For quick reference, rulesets are defined as follows:
    
    ruleset(name="rulesetname") {
        action(type="omfile" file="/path/to/file")
        action(type="..." ...)
        /* and so on... */
    }
    

  • 相关阅读:
    1467E. Distinctive Roots in a Tree(可持久化线段树+树上差分)
    1473E. Minimum Path(最短路+三维DP)
    LeetCode88. 合并两个有序数组
    LeetCode75. 颜色分类
    LeetCode80. 删除排序数组中的重复项 II
    定义企业结构-后勤配置
    查看清账凭证
    表T043S中,XXXX输入丢失
    过账,未清项管理,银行中转科目
    PK码
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349643.html
Copyright © 2011-2022 走看看