利用rsyslog日志服务,将收集的日志记录于MySQL中
- 环境准备
rsyslog日志服务器:IP 10.0.0.10
mariadb数据库服务器:IP 10.0.0.15
CentOS 8.2
- 在rsyslog服务器上安装连接mysql模块相关的程序包
1.在日志服务器上准备软件
[root@centos8 ~]#yum install rsyslog-mysql
2.查看所有配置文件
[root@centos8 ~]#rpm -ql rsyslog-mysql
3.查看sql脚本文件内容
[root@centos8 ~]#cat /usr/share/doc/rsyslog/mysql-createDB.sql
4.将sql脚本复制到数据库服库上
[root@centos8 ~]#scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.15:/data
- 准备MySQL Server
1.安装数据库
[root@centos8 ~]#yum install mariadb-server
2.开启MySQL服务
[root@centos803 ~]# systemctl restart mariadb.service
3.在mariadb数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器
[root@centos8 ~]#mysql
[MariaDB [(none)]>source /data/mysql-createDB.sql #将数据库文件输入到数据库内
[MariaDB [(none)]>GRANT ALL ON Syslog.* TO 'rsyslog'@'10.0.0.%' IDENTIFIED BY 'laosp';
- 配置日志服务器将日志发送至指定数据库(注意下满有不同系统的命令千万不要弄错了,注意看注释)
1.配置rsyslog将日志保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
####MODULES#### (在 MODULES 语言下面,如果是 CentOS 8 加下面行)
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql (在 MODULES 语言下面,如果是 CentOS 7,6 加下面行)
#### RULES ####
*.info :ommysql:10.0.0.15,Syslog,rsyslog,laosb
2.重启服务
[root@centos8 ~]#systemctl restart rsyslog.service
3.测试,在日志服务器上生成日志
[root@centos8 ~]#logger "you mei zhi shang hao"
4. 在数据库上查询到上面的测试日志
[MariaDB [(none)]>SELECT COUNT(*) FROM SystemEvents; #查看错误日志数量
[MariaDB [(none)]> SELECT * FROM SystemEvents\G #查看错误日志内容
最后成果,如果想让界面更加美观好看可以自己搭建一个php页面