什么是日志文件系统?记录系统在什么时候由哪个进程做了什么行为时,发生了何种的事件等。centos提供rsyslogd这个服务来统一管理日志文件。

rsyslog的配置文件/etc/rsyslog.conf,此文件规定了什么服务的什么等级信息以及需要被记录在哪里。

1.服务名称

authpriv  与认证有关的机制

cron    列行性工作调度

daemon   与各个daemon有关

kern    与内核有关

lpr     打印机有关信息

mail    邮件有关

news    与新闻组服务器有关

security  与安全相关

syslog   就是syslogd这个程序自己的信息

user

uucp

local0 - local7

2.信息等级

debug

info

notice

warn, warning

err, error   一些重大错误信息

crit       比error严重

alert       很有问题的等级,比crit还严重

emerg, panic  系统已经到了死机的状态

指定级别的方式:

*: 所有级别

none: 没有级别

priority: 比此级别高的(包含)所有级别的日志信息都会记录

=priority: 仅记录指定级别


在/etc/rsyslog.conf中mail.*   -/var/log/maillog 那个‘-’表示异步写入。

有些日志记录二进制格式,例如,两个日志文件:

成功登录系统的日志:/var/log/wtmp

查看命令:last

失败的登录的尝试:/var/log/btmp

查看命令:lastb

wKioL1ZG5zCB-8L-AAA9WnAHudc493.png

lastlog命令:显示当前系统每个用户各自最近一次的登录信息;

wKiom1ZG5wyhIkKcAABKPSWk8Jc945.png


模块:rsyslog支持模块

用本机成为日志服务器:编辑配置文件/etc/rsyslog.conf一般我们启用udp即可。

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

wKioL1ZG6AXxRYfxAAApSkMoLJg289.png可以看到rsyslog监听在514端口。

 rsyslog支持把日志存储于mysql中:

(1) 有可用的MySQL服务器;

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

(3) 创建rsyslog依赖的数据库;

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

(4) 配置rsyslog启用ommysql模块;

#### MODULES ####

$ModLoad ommysql

(5) 定义某facility把日志记录至指定的数据库的指定表中;

#### RULES ####

facility.priority  :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD  即在配置文件/etc/rsyslog.conf添加如下内容连接到数据库

*.info;mail.none;authpriv.none;cron.none   :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog

(6) 可选:使用loganalyzer (WebGUI)来展示日志信息;

依赖:lamp组件;

# yum install httpd php php-mysql php-gd

wKioL1ZG7S2wwG8RAAAO_z7uwK4383.png

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql这个文件是数据库代码,可以在数据库中执行。

[root@lys ~]# mysql < /usr/share/doc/rsyslog-5.8.10/creatDB.sql 重定向到数据库中

wKiom1ZG7wOz7-ufAAASZOZw_MU441.png

已经生成了Syslog数据库。

在数据库中新建用户及用户名,并授权。

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslog';

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@127.0.0.1 IDENTIFIED BY 'rsyslog';

检查是否授权成功,如下所示

wKiom1ZG73PiedLhAAAhZrBngJ8632.png

下载loganalyzer,并展开;这里以loganalyzer-3.6.5为例

# cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer 复制安装文件到指定目录

# cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer  复制configure.sh和secure.sh脚本

# cd /var/www/html/loganalyzer

# chmod +x configure.sh secure.sh  给脚本执行权限

# ./configure.sh

# ./secure.sh

# chmod 666 config.php   给loganalyzer配置文件设置权限

访问:http://SERVER_IP/loganalyzer/install.php来进行loganalyzer的配置

wKiom1ZG8bawoEF3AAG9BGNNYEQ717.png

wKioL1ZG8hSyGQ2SAAHAJyPDK_U760.pngwKiom1ZG8dzwyHZLAAH4yGABgUI934.pngwKiom1ZG8fXSkjqXAAH3QbMQv-o798.pngwKiom1ZG8gfhrYjlAAG0BNSp4oc699.png

wKioL1ZG8mSCalpsAAGr-0bPpBI754.png

以上步骤说明我们的loganalyzer配置完成。

1.看到本机的514端口已经打开,说明本机可以当做rsyslog服务器工作了。

wKiom1ZG9sWzEJvmAAAyc_J6jY4155.png2.只需在客户端编辑/etc/rsyslog.conf即可

*.info    @192.168.0.108    指定rsyslog服务器ip即可。