一、需求

统一收集Linux各系统的系统日志保存在MySQL数据库中。

二、架构

可以利用Linux系统自带的rsyslog/syslog/syslog-ng等自带服务来发送、接收和转发系统日志。
因rsyslog功能强大,维护性强,我们统一采用它来进行发送和接收数据。

有两种架构可供使用:
一种是客户端使用rsyslog工具直接发送日志到一台服务器的MySQL数据库中
一种是客户端使用rsyslog工具把日志统一发送给一台rsyslog服务器上,然后这台rsyslog服务器再把日志发送给MySQL中。

这里是推荐使用第二种方案。

三、服务端部署安装

3.1 rsyslog安装

#yum install rsyslog
#yum install rsyslog-mysql

开机启动

#chkconfig rsyslog on

3.2 Mysql安装

#yum install mysql mysql-server

启动服务

#service mysqld start

开机启动

#chkconfig mysqld on

设置MySQL密码

#mysqladmin -u root password 'root123456'
#创建保存日志的库Syslog
>create database Syslog CHARACTER SET utf8;

添加用于管理日志数据库的用户syslog

>grant all privileges on Syslog.* to 'syslog'@'%' with grant option;
>update mysql.user set password=PASSWORD('root456789') where User='syslog';
>FLUSH PRIVILEGES;

更改Mysql数据目录到/data:

#mkdir -p /data/mysql
#chown mysql:mysql /data -R

停止mysql服务

#service mysqld stop

复制原目录到新目录中

#cd /var/lib/mysql
#cp -Rp * /data/mysql
#chown mysql:mysql /data/mysql

修改my.cnf

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links

启动服务

service mysqld start

3.3 配置部署

本文隐藏内容全文需 点击文章最后链接查看

前往微信公众号查看全文: