centos的rsyslog服务介绍

日志文件

  • 日志:历史事件的相关记录
  • 记录的内容:事件发生的事件、事件内容
  • 日志级别:事件的关联程序,loglevel

linux常见日志

  • 注意:日志文件能够查看到不少系统重要的事件,包括登陆者的信息,所以日志文件的权限一般设置为仅有root可以读。
  • /var/log/dmesg:记录系统在开机的时候内核监测过程产生的各项信息。
  • /var/log/lastlog:记录系统上面全部的帐号最近一次登陆系统时的相关信息。该文件文件类型为DBase 3 data file,经过lastlog命令查看。
  • /var/log/messages:几乎系统发生的错误信息或者重要信息都会记录在这个文件中,若是系统发生莫名的错误时,这个文件必定要查阅的日志文件之一。
  • /var/log/secure:只要涉及到须要输入帐号密码的软件,当登陆时无论正确或错误都会记录,login、su、sudo、ssh、telnet等等
  • /var/log/wtmp: 记录正确登陆系统的帐户信息。经过last命令查看。
  • /var/log/btmp: 记录错误登陆时使用的帐户信息。经过lastb命令查看。

rsyslog是记录日志文件的服务,特性:

  • 多线程工做
  • 支持UDP、TCP、SSL、TLS、RELP
  • 支持将日志存储到MySQL、PGSQL、Oracle等多种关系数据库中
  • 强大的过滤器,能够实现过滤系统信息中的任何部分
  • 自定义输出格式
  • 适用于企业级别日志记录需求

核心概念:

  • facility: 设施,从功能或程序上对日志进行分类,并由专门工具负责记录相应的日志信息;
    • auth,authpriv:认证相关设施
    • cron:定时任务
    • daemon:守护进程
    • kern:内核日志设施
    • lpr:打印设施
    • mail:邮件设施
    • mark:防火墙日志设施
    • news:新闻组日志
    • security:安全日志设施
    • syslog:自己日志设施
    • user:用户的日志设施
    • uucp:unix copy相关日志设施
    • local0 - local7:用户自定义使用的日志设施
  • priority: 级别
    • debug:调试级别
    • info:基本信息
    • notice:除了info的信息,还须要注意的信息
    • warn,warning:警示信息,可能有问题,基本不会形成系统运行困扰
    • err,error:重大错误信息,例如 引发服务没法启动的信息
    • crit:比err严重的信息。crit是临界点critical的缩写。
    • alert:警告信息,比crit严重
    • emerg,panic: 系统或应用程序立刻就要挂啦
      • 指定级别的方式:
        • *:全部级别
        • none:没有级别
        • priority:比次级别高的(包含)全部级别的日志信息都会记录
        • =priority:仅记录指定级别
  • rsyslog的配置文件:/etc/rsyslog.confphp

    • RULLS规则:
      • facility(服务设施).priority(级别) target(位置)
    • target:
      • 文件路径:将日志记录于指定的文件中
      • 用户:将日志信息通知给文件或者用 * 表明通知给全部用户
      • 日志服务器: @SERVER server表示日志服务器
      • 管道: | COMMAND
    • cron.* /var/log/cron
  • 日志文件的格式:
    • 事件产生的时间 主机 进程(PID): 事件
    • Apr 15 17:35:50 www sshd[20839]: Failed password for root from 223.71.85.6 port 3135 ssh2
  • 模块
    • 启用本机成为日志服务器
      #Provides UDP syslog reception
       #$ModLoad imudp
       #$UDPServerRun 514
       或者
       #Provides TCP syslog reception
       #$ModLoad imtcp
       #$InputTCPServerRun 514
    • 日志存储到mysql中
      • 有可用的mysql服务器
      • 安装rsyslog-mysql程序包
        • 安装包中包含建立数据库的脚本 /usr/share/doc/rsyslog-mysql-VERSION/
      • 建立rsyslog依赖的数据库
      • 配置rsyslog启用ommysql模块
        ####  MODULES ####
         $ModLoad ommysql
      • 定义某facility把日志记录到指定数据的表中
        #### RULES ####
          facility.priority     :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD
      • 可选:使用loganalyzer(WebGUI)来展现日志信息 php程序
        • 依赖LAMP组件
          • yum install httpd php php-mysql php-gd``
          • 下载loganalyzer
相关文章
相关标签/搜索