Mike 发表于 2021-7-3 21:45:26

Rsyslog介绍以及结合loganalyzer进行日志分析

  1.syslog介绍:
  日志服务在CentOS 5上默认为syslog,而6上全部升级为rsyslog。Rsyslog是syslog的增强版,提供了很多高级的特性。syslog由两个功能程序构成,klogd和syslogd,klogd记录Kernel产生的日志信息,而syslogd是普通的日志信息。除了一些高级特性,Rsyslog和syslog的整体框架基本一致。
  

  2.Rsyslog的特性:
  支持选择UDP|TCP协议传送日志文件;
  支持SSL加密;
  多线程模型工作;
  可以将日志放入关系型数据库中;
  可以作为日志服务器接收其他服务器发来的日志;
  

  3.日志的级别
  日志的级别就是日志的记录等级,syslog将日志级别分为如下几个(低等级默认会包含高等级的日志信息):
debug调试级别,所有信息都会记录info比debug级别稍高notice通知信息,比info级别高warning发出警告err,error出现错误crit比err更严重alert系统出现严重问题emerg,panic系统将要挂掉  

  4.syslog设施
  syslog将不同的日志分为几个类,这些种类就称作设施:
auth认证信息authpriv授权信息cron计划任务产生的信息daemon守护进程产生的信息kern内核产生的信息lpr打印的信息mail邮件相关的信息
mark防火墙标记的信息news新闻组信息
security安全相关的信息
syslog系统日志user用户相关的信息uucpunix间复制相关local{0-7}
用户自定义的日志类,分为7个级别  

  5.rsyslog的配置:
  rsyslog的配置文件是/etc/rsyslog.conf及/etc/rsyslogd/*.conf。
  /etc/rsyslog.conf文件分为四个"区域":
MODULESsyslog的模块GLOBAL全局定义,记录的格式等等RULES记录日志相关begin forwarding rule一些转发的记录信息  

  我们主要关心RULES区域,要想使rsyslog记录特定类、级别的日志,就需要在RULES中定义,格式为:
facility(设施).priority(日志级别)    Target(日志输出的位置)  注:
  日志级别、设施可以使用通配符:
  *:所有级别

  ,:列表,例如:a,b,c是a、b、c三个级别

  !:取反

  记录的位置常用的大概有四种:
  文件,如/var/log/message

  用户,发送给指定的用户,*为所有用户

  日志服务器:@172.16.10.1

  管道:|COMMAND 交给特定的命令处理
  例如:
mail.info   /var/log/maillog    记录mail类型中info及以上级别的日志信息
mail.=info    /var/log/maillog    只记录maill类型中info级别的日志信息
mail.!info    /var/log/maillog    记录mail类型中info以下级别的日志信息
mail.!=info   /var/log/maillog    记录mail类型中除了info级别的日志信息
*.info      /var/log/maillog    记录所有info及以上级别的日志信息
mail,news.info    -/var/log/maillog    记录mail类型、news类型中的info及以上级别的日志信息,并且以异步方式写入文件  

  二、配置rsyslog和loganalyzer结合工作:
  1.loganalyzer介绍
  loganalyzer是一款Web界面日志分析工具,可以分析mysql中的日志信息,由php编写,依赖于LAMP平台。要想将日志信息写入到mysql中,需要安装rsyslog-mysql工具,并启用rsyslog的模块。
  

  2.安装LAMP及相关文件:
# yum install -y httpd mysql mysql-server php php-mysql rsyslog-mysql  3.导入rsyslog-mysql的sql文件(创建库、表)并创建一个用户:
# service mysqld start
# mysql -uroot </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
# mysql
mysql> GRANT ALL ON Syslog.* TO 'loganauser'@'localhost' IDENTIFIED BY 'redhat';
mysql> GRANT ALL ON Syslog.* TO 'loganauser'@'127.0.0.1' IDENTIFIED BY 'redhat';  

  4.配置rsyslog加载ommysql模块(写入mysql数据库的模块):
# vim /etc/rsyslog.conf
在MODULES区域添加:
    $ModLoad ommysql
并启用以下两项:
       $ModLoad imudp
      $UDPServerRun 514
# service rsyslog restart
Shutting down system logger:                              
Starting system logger:                                    
#  

  5.下载loganalyzer并解压到/var/www/loganalyzer目录进行配置:
# tar -xf loganalyzer-v3.6.1.tar.gz
# cd loganalyzer-3.6.1/
# mv src/ /var/www/loganalyzer
# mv contrib/* /var/www/loganalyzer/
# cd /var/www/loganalyzer/
# chmod +x configure.sh secure.sh
# ./configure.sh
# ./secure.sh
# rm -rf configure.sh secure.sh
# chown -R apache.apache *  

  6.配置httpd默认首页为index.php并启动:
# vim /etc/httpd/conf/httpd.conf
   DirectoryIndex index.php
# service httpd start
Starting httpd:                                          
#  

  7.打开http://hostname/loganalyzer/install.php安装之:






  8.配置syslog将日志写入到mysql数据库:
# vim /etc/rsyslog.conf
*.info       :ommysql:127.0.0.1,Syslog,loganauser,redhat
# service rsyslog restart
Shutting down system logger:                              
Starting system logger:                                    
#  

  9.刷新网页查看日志已经有了两条记录:

  


  
页: [1]
查看完整版本: Rsyslog介绍以及结合loganalyzer进行日志分析