zoukankan      html  css  js  c++  java
  • rsyslog 配置详解

    格式::
    日志设备(类型).(连接符号)日志级别   日志处理方式(action)
    
    日志设备(可以理解为日志类型):
    
    ———————————————————————-
    auth        –pam产生的日志
    authpriv    –ssh,ftp等登录信息的验证信息
    cron        –时间任务相关
    kern        –内核
    lpr         –打印
    mail        –邮件
    mark(syslog)–rsyslog服务内部的信息,时间标识
    news        –新闻组
    user        –用户程序产生的相关信息
    uucp        –unix to unix copy, unix主机之间相关的通讯
    local 1~7   –自定义的日志设备
    日志级别:
    ———————————————————————-
    debug       –有调式信息的,日志信息最多
    info        –一般信息的日志,最常用
    notice      –最具有重要性的普通条件的信息
    warning     –警告级别
    err         –错误级别,阻止某个功能或者模块不能正常工作的信息
    crit        –严重级别,阻止整个系统或者整个软件不能正常工作的信息
    alert       –需要立刻修改的信息
    emerg       –内核崩溃等严重信息
    none        –什么都不记录
    从上到下,级别从低到高,记录的信息越来越少
    详细的可以查看手册: man 3 syslog
    连接符号
    ———————————————————————-
    .xxx: 表示大于等于xxx级别的信息
    .=xxx:表示等于xxx级别的信息
    .!xxx:表示在xxx之外的等级的信息
    Actions
    ———————————————————————-
    
    
    实例:  过滤特定的日志到文件, 忽略(丢弃)包含某个字符串的日志
    
    
    msg, contains, “error” /var/log/error.log
    :msg, contains, “error” ~         # 忽略包含error的日志
    :msg, contains, “user nagios”   ~
    :msg, contains, “user kadefor”   ~
    :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.*    ~
    PS.
    &   ~       # 忽略所有的日志
    
    
    
    实例:  使用模板来定义日志格式
    
    $EscapeControlCharactersOnReceive off      #关闭rsyslog默认转译ASCII<32的所有怪异字符,包括换行符等 
    $template nginx-zjzc01,"/rsyslog/data/nginx/zjzc/nginx_access01_log.%$year%-%$month%-%$day%"       #定义TC:日志存放路径 
    $template nginx-zjzc02,"/rsyslog/data/nginx/zjzc/nginx_access02_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径 
    $template nginx-uat01,"/rsyslog/data/nginx/uat/nginx_access01_log.%$year%-%$month%-%$day%"            #定义TCBeta:日志存放路径 
    
    $template tocFormat,"'%syslogtag%','%msg%'
    "                  #定义toc日志format 
    
    :rawmsg,contains,"nginx-zjzc01"  -?nginx-zjzc01;tocFormat                 #接受TC:日志,并应用tocFormat格式 
    :rawmsg,contains,"nginx-zjzc02"  -?nginx-zjzc02;tocFormat        #接受TCBeta:日志,并应用tocFormat格式 
    :rawmsg,contains,"uat-nginx"  -?nginx-uat01;tocFormat        #接受TCBeta:日志,并应用tocFormat格式 
     
    
    $template logformat,”%TIMESTAMP:::date-mysql% %FROMHOST-IP%%msg%
    ”     # 定义一个名为logformat模板, 为信息加上日志时间
    
    $template DynFile,”/var/log/tlog%$year%%$month%%$day%.log”     # 定义日志文件的名称,按照年月日
    
    :rawmsg, contains, “sdns_log” ?DynFile;logformat    # 把rawmsg(也可以使用msg)日志中包含sdns_log标志的信息写到DynFile定义的日志文件里
    
    

  • 相关阅读:
    iscroll 使用及遇到的问题
    移动端web页面如何适配
    里面的div怎么撑开外面的div让高度自适应
    JavaScript 获取当前时间戳
    css样式 浏览器的读取顺序
    mouseover和mouseenter的区别
    【转】移动端input输入placeholder垂直不居中
    一张png图片 上面有多个图标,如何用CSS准确的知道其中某个图片的坐标
    JVM05——JVM类加载机制知多少
    【Java实用工具】——使用oshi获取主机信息
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199382.html
Copyright © 2011-2022 走看看