• 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%
    "
    • 定义模板格式:

      详见文档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
  • 相关阅读:
    Centos7 下安装python3.7
    mysql数据库定时备份脚本
    helm 安装EFK(Elasticsearch+Filebeat+Kibana)收集容器日志
    kubernetes Ingress-nginx 配置TLS
    Kubernetes核心原理(三)之Scheduler
    Kubernetes核心原理(二)之Controller Manager
    预习作业(四)
    预习作业(三)
    预习作业(二)
    预习作业(一)
  • 原文地址:https://www.cnblogs.com/cherishry/p/6775255.html
Copyright © 2020-2023  润新知