日志服务器是指专门存放系统日志或者程序日志的服务器。在Linux系统中,服务器会产生大量的日志,根据一般的日志的分类,可以把日志分为以下三种:
错误日志--由syslogd(8)执行,各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。
连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
日志也有日志级别
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.!info(info以下的)
*.info (所有设施的info级别)
mail,news.info(mail以及news的info及以上)
日志格式:
时间 主机 进程(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"
(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)创建界面