rsyslog日志记录服务器

一、syslog系统

 1.syslog:系统日志服务,统一日志管理

支持C/S架构:可通过UDP或TCP协议提供日志记录服务;实现集中收集日志功能

    (1)日志、事件

             历史事件日志,保存系统上过去一段时间的发生的事件

             事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件;

    (2)syslog种类

             syslogdsystem系统日志

  klogd:kernel内核日志

 2.syslog格式

        事件产生的日期时间               主机        进程[pid] :事件内容

       syslog系统仅能记录较为简单的事件格式,并非所有应用程序都会使用syslog记录,如httd

 

 

二、rsyslog日志系统

  1.rsyslog特性

     CentOS 6开始使用,默认安装,新一代架构的syslog,基本兼容syslog格式

1)支持多线程;

2)支持UDP,TCP,SSL,TLS,RELP协议完成日志收集

3)支持将日志信息存储于MySQL、PGSQL、Oracle等数据管理系统;

4)支持强大的过滤器,实现过滤日志信息中任何部分的内容;

5)自定义输出格式;

  2.rsyslog日志收集器概念

     (1)facility:设施,从功能或程序上对日志收集进行分类;

   auth,authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp,local0-local7, syslog

auth

各应用程序认证功能相关

authpriv

各应用与授权相关

cron

crontable相关

 daemon

 和守护进程相关

kern

和内核相关

 lpr

 和打印系统相关

mail

和邮件系统相关

 mark

和防火墙标记相关

 news

和新闻组相关

security,

和安全相关

user

和用户相关

 uucp

unix to unix copy,unix系统间复制协议相关

 local0-local7

8个可自定义使用分类模式

syslog

其他,不便于归类的全都记录在此处

     (2)priority:优先级,日志级别

  从低到高:debug, info, notice, warn(warning), err(error), crit(critical),alert, emerg(panic)

  指定级别格式

*:所有级别;

none:没有级别;

priority:此级别以高于此级别的所有级别;

=priorty:仅此级别;

……

 

 

三、rsyslogd日志系统服务器 

 1.rsyslogd程序环境:

        (1)主程序:rsyslogd

        (2)主配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

        (3)服务脚本:/etc/rc.d/init.d/rsyslog(centos6)/usr/lib/systemd/system/rsyslog.service(Unit FileCentOS 7)

  2.配置文件格式rsyslog.conf

        主要由三部分组成:MODULESGLOBAL DRICTIVESRULES

MODULES

指明加载模块,$ModLoad指令进行模块装载

GLOBAL DRICTIVES

全局配置指令

RULES

日志记录规则;格式:facilty.priority          target

    target  ( 指明记录的位置 )

      1)文件:记录日志事件于指定的文件中;通常应该位于/var/log目录下;文件路径之前的"-"表示异步写入;

      2)用户:将日志事件通知给指定的用户;是通过将信息发送给登录到系统上的用户的终端进行的;

      3)日志服务器:@host,把日志送往指定的服务器主机;

    host:即日志服务器地址,监听在tcp或udp协议的514端口以提供服务;

      4)管道: | COMMAND

 

  3.其它日志文件

       /var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看

       /var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看

       lastlog:显示当前系统上的所有用户最近一次登录系统的时间;

       /var/log/dmesg:系统引导过程中的日志信息;也可以使用dmesg命令进行查看;

 

  4.rsyslog作远程服务器配置

      (1)客户端:配置文件@HOST指明,输出到的服务器端,重启服务

      (2)/etc/rsyslog.conf文件MODULES段开启模块服务,使其监听在默认端口514,并重启服务器即可

#Provides UDP syslog reception

$ModLoadimudp

$UDPServerRun514

#Provides TCP syslog reception

$ModLoadimtcp

$InputTCPServerRun514

 

 

 

四、配置基于Mysql存储日志信息

  1.MySQL服务器

        准备好MySQL服务器,创建用户,授权对Syslog数据库拥有全部访问权限;

  2.rsyslog主机:

      (1)安装rsyslog-mysql程序包;

             # yum install -y rsyslog-mysql

      (2)通过导入createDB.sql脚本创建依赖到的数据库及表;

   # mysql    -uUSER -hHOST  -pPASSWORD  </usr/share/doc/rsyslog-mysql-VERSION/createDB.sql

      (3)配置rsyslog使用ommysql模块

###MODULES ####

$ModLoad  ommysql

####RULES ####

facility.priority                :ommysql:DBHOST,DB,DBUSERNAME,DBUSERPASS

      (4)重启rsyslog服务;

  3.web展示接口:loganalyzer[MySQL服务器]

      (1) 配置lamp组合httpd, php, php-mysql, php-gd

      (2) 安装loganalyzer

#tar  xf loganalyzer-3.6.5.tar.gz

#cp  -r loganalyzer-3.6.5/src /var/www/html/loganalyzer

#cp  -rloganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer/

#cd /var/www/html/loganalyzer/

#chmod  +x *.sh

#./configure.sh

#./secure.sh

#chmod 666 config.php

通过URL访问http://HOST/loganalyzer

你可能感兴趣的:(syslog,rsyslog,loganalyzer)