rsyslog+loganalyzer日志服务器

      日志服务器是指专门存放系统日志或者程序日志的服务器。在Linux系统中,服务器会产生大量的日志,根据一般的日志的分类,可以把日志分为以下三种:

       错误日志--syslogd(8)执行,各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。

       连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp/var/run/utmplogin等程序更新wtmputmp文件,使系统管理员能够跟踪谁在何时登录到系统。

       进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacctacct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。

        日志也有日志级别

        Debug  调试,不分轻重缓急,只要输出信息,全部记录

         

         Info  正常信息

        

         Notice  注意信息    


         warn,warning     警告信息


         err, error       错误信息


         Crit  蓝色警报;比错误更严重,意思为,多久后不处理就有严重信息


         Alert  橙色警报,现在不处理,一会更加严重


         emerg, panic 红色警报;然后系统挂掉


  注意:定义一个级别后,只输出此级别和比此级别更好的级别的日志信息

        通配机制:


                *:所有


                ,: 列表


                !: 取反



日志存放目录: /var/log/*  比如/var/log/messages

Target:

       文件路径:例/var/log/message

       用户: *

       日志服务器:@SERVER_IP

       管道:|COMMAND


某级别的日志,定义:(当然这些都是定义在配置文件中的)


   facitlity.priorityTarget


   Mail.info(info 以及以上/var/log/maillog(保存位置)


   mail.=info (仅info级别)       (系统级别的,*,发给全部用户)


   mail.!infoinfo以下的)


   *.info (所有设施的info级别)


   mail,news.info(mail以及newsinfo及以上)


日志格式:

 时间   主机   进程(PID):事件


配置日志服务器:

(1)安装软件包

# yum -y install rsyslog mysql-server rsyslog-mysql

(2)配置数据库

 service mysqld start             启动mysqld服务


[root@localhost ~]mysql                            
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id   is 2
Server version: 5.1.73 Source distribution
 
Copyright (c) 2000, 2013, Oracle and /or   its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and /or   its
affiliates. Other names may be trademarks of their respective
owners.

  mysql> source /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql;   导入rsyslog的数据文件

 

mysql> use Syslog;               Syslog即是记录日志文件的数据库
Reading table information  for   completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

  

mysql> grant all on Syslog.* to  'syslogroot' @ '127.0.0.1'   identified by  'syslogpass' ;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on Syslog.* to  'syslogroot' @ '172.16.31.30'   identified by  'syslogpass' ;
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye


(3)修改rsyslog日志服务器配置文件

在#### Modules #####启用模块:

$ModLoad ommysql

在####rules####段中定义记录日志信息于数据库中

acility.priority :ommysql:172.16.31.30,syslog,syslogroot,syslogpass


(4)重启服务

# service rsyslog restart
Shutting down system logger:                               [  OK  ]

Starting system logger:                                    [  OK  ]




(5)修改配置文件/etc/rsyslog.conf

  $IncludeConfig /etc/rsyslog.d/*.conf

*.*       @172.16.31.30

*.*       :ommysql:172.16.31.30,syslog,syslogroot,syslogpass




(6)重启rsyslog服务

service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]


然后通过webGUI展示日志信息

(1)# yum -y install httpd php php-mysql php-gd 

 # tar xf loganalyzer-3.6.5.tar.gz 

   # mkdir /var/www/html/loganalyzer

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

   # cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/

   # cd /var/www/html/loganalyzer/

   # chmod +x configure.sh secure.sh

   # ./configure.sh

   # ./secure.sh

   # chmod 666 config.php

   # chown -R apache.apache ./*


(2)配置httpd

    修改DocumentRoot网页根目录

    vim /etc/httpd/conf/httpd.conf 

  DocumentRoot  "/var/www/html/loganalyzer"
  service httpd start


(3)创建loganalyzer数据库,并授权   

# mysql
Enter password:
mysql> create database loganalyzer;
Query OK, 1 row affected (0.04 sec)
mysql> grant all on loganalyzer.* to dianyi@ '172.16.31.30'   identified by  '123456' ;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)





(4)创建界面

wKioL1P0x5rx0MsoAAEKb811a0o377.png











你可能感兴趣的:(linux,程序,日志服务器)