• rsyslog


    安装

    源码

    • 下载
    • 构建环境最低要求
      C compiler (usually gcc)
      make
      libtool
      rst2man (part of Python docutils) if you want to generate the man files
      Bison and Flex (preferably, otherwise yacc and lex)
      zlib development package (usually libz-dev)
      json-c (usually named libjson0-dev or similar)
      libuuid (usually uuid-dev, if not present use –disable-uuid)
      libgcrypt (usually libgcrypt-dev)
      View Code
    • 配置
      # Enable MySQL support
      ./configure --enable-mysql
      View Code

    YUM

    • yum
      yum install rsyslog rsyslog-mysql
      View Code

    配置 

    • 主配置文件:syslog.conf【设施.级别  指令】
      #语法规则
      1.每条规则包含两个域,一个选择器,一个操作指令。
      
      2.两个域由一个或多个空格、tab 分割。
      
      #选择器
      3.选择器同样由两部分组成:设施、级别,以英文句号分割(两个都不区分大小写)
          3.1.设施
          包括:auth、authpriv、cron、daemon、ftp、kern、lpr、mail、mark、news、syslog、user、uucp、local0 到 local7。
          3.1.1.级别包括:debug、info、notice、crit、alert、emerg(其他几个弃用了)。
          3.1.2.可以在一个规则中使用“逗号”同时指定多个“设施”。
      
          3.2.级别
          3.2.1.忽略某个级别和更高级别,在级别前边带上感叹号“!”。
          3.2.2.级别的前面带上等号“=”,指定仅仅该级别,而不是模糊定义。
          3.2.3.优先级的前面带上等号“=”,指定仅仅该级别,而不是模糊定义。
          3.2.4.同时使用,必须是“!=”,表示:仅忽略单个级别。
      
          3.3.多个“选择器”可以共用一个“操作指令”,由英文分号分隔。(从左到右处理,允许覆盖前边的)。
      
      #操作指令
      4.操作指令描述的是“日志文件”(不一定是真实文件)
          4.1.常规文件
          建议使用绝对路径名
      
          4.2.命名管道
      
          4.3.终端
          /dev/console
      
          4.4.远程主机
          使用 @ 开头,指定目标
      
          4.5.用户列表
          用逗号分隔可以指定多个用户,用户登录系统就会收到日志信息。
      
          4.6.所有登录用户
          *
      View Code
    • 例子:过滤掉内核日志
      *.=crit;kern.none   /var/adm/critical
      View Code
    • 例子:内核日志
      #指定任何内核信息定向到 kernel 文件
      kern.*      /var/adm/kernel
      
      #定向 crit(或高于该级别)的信息到远程主机 finlandia
      kern.crit     @finlandia
      
      #定向到控制台,可以直接看
      kern.crit     /dev/console
      
      #从“信息”到“警告”级别的定向到 kernel-info
      kern.info;kern.!err   /var/adm/kernel-info
      View Code
    • 例子:所有的“紧急消息 ”写入当前登录的用户
      *.=emerg      *
      View Code

       
      例子:所有“紧急消息”发给所有当前登录的用户

      *.=emerg :omusrmsg:*
      View Code
    • 例子:所有消息发送到远程主机
      #@指定远程主机,使用udp协议传输数据
      *.* @server.example.net
      
      #带端口
      *.* @server.example.net:1514
      
      # @ :udp
      # @@:tcp
      #使用tcp协议传输数据
      *.* @@server.example.net:1514
      View Code
    • 例子:写入数据库
      *.* >dbhost,dbname,dbuser,dbpassword;dbtemplate
      View Code
    • 例子:包含“error”的信息发送到主机
      :msg,contains,"error" @server.example.net
      View Code

    rsyslog

    一切代码都是为了生活,一切生活都是调剂
  • 相关阅读:
    知识图谱
    spring mvc踩坑记
    学习计划
    迷茫中看见一道曙光
    面试复习准备
    关于配置httpd2.4.18+php5.6
    notepad++ 等用正则表达式自动添加sql引号(宏)
    JDK1.8的HashMap实现原理和源码解析
    Java垃圾回收机制
    sql server 表分区
  • 原文地址:https://www.cnblogs.com/argor/p/13179013.html
Copyright © 2020-2023  润新知