1 实验目标:
利用rsyslog日志服务,将收集的日志记录于MySQL中,通过loganalyzer 展示数据库中的日志
2 环境准备
三台主机:
- 一台日志服务器,利用上一个案例实现,IP:192.168.100.100
- 一台数据库服务器,利用上一个案例实现,IP:192.168.100.101
- 一台当httpd+php 服务器,并安装loganalyzer展示web图形,IP:192.168.100.102
3 实现步骤
3.1 在rsyslog服务器上安装连接mysql模块相关的程序包
安装rsyslog-mysql
[root@centos8 ~]yum install rsyslog-mysql
[root@centos8 ~]rpm -ql rsyslog-mysql
/usr/lib/.build-id
/usr/lib/.build-id/d7
/usr/lib/.build-id/d7/77fc839aa07e92f0a8858cf3f122996436c7df
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog/mysql-createDB.sql
查看sql脚本文件mysql-createDB.sql
内容
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
ReceivedAt datetime NULL,
DeviceReportedTime datetime NULL,
Facility smallint NULL,
Priority smallint NULL,
FromHost varchar(60) NULL,
Message text,
NTSeverity int NULL,
Importance int NULL,
EventSource varchar(60),
EventUser varchar(60) NULL,
EventCategory int NULL,
EventID int NULL,
EventBinaryData text NULL,
MaxAvailable int NULL,
CurrUsage int NULL,
MinUsage int NULL,
MaxUsage int NULL,
InfoUnitID int NULL ,
SysLogTag varchar(60),
EventLogType varchar(60),
GenericFileName VarChar(60),
SystemID int NULL
);
CREATE TABLE SystemEventsProperties
(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
);
将sql脚本复制到数据库服库上
[root@centos8 ~]#scp /usr/share/doc/rsyslog/mysql-createDB.sql 192.168.100.101:/root/
3.2 准备MySQL Server
[root@centos8 ~]#yum install mysql-server
#在mariadb数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器
[root@centos8 ~]#mysql -u
[root@centos8 ~]#mysql>source /root/mysql-createDB.sql
[root@centos8 ~]#mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'192.168.100.%' IDENTIFIED
BY '123456';
3.3 配置日志服务器将日志发送至指定数据库
#配置rsyslog将日志保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
#
####MODULES####
#在 MODULES 语言下面,如果是 CentOS 8 加下面行
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql
#在RULES语句块加下面行的格式
#facility.priority :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
*.info :ommysql:192.168.100.101,Syslog,rsyslog,123456
[root@centos8 ~]#systemctl restart rsyslog.service
3.4在192.168.100.102主机上安装httpd, php和相关软件包
[root@centos8 ~]#yum -y install httpd php-fpm php-mysqlnd php-gd
[root@centos8 ~]#systemctl enable --now httpd php-fpm
3.5 在192.168.100.102主机上安装LogAnalyzer
#从http://loganalyzer.adiscon.com/downloads/ 下载loganalyzer-4.1.13.tar.gz
[root@centos8 ~]#tar xvf loganalyzer-4.1.10.tar.gz
[root@centos8 ~]#mv loganalyzer-4.1.13/src/ /var/www/html/log
[root@centos8 ~]#touch /var/www/html/log/config.php
[root@centos8 ~]#chmod 666 /var/www/html/log/config.php
3.6 基于 web 页面初始化
访问http://192.168.100.102/log 实现初始化
3.7 测试
可以通过可视化界面查看分析日志信息
3.8 安全加固
[root@centos8 ~]#chmod 644 /var/www/html/log/config.php