32433221 发表于 2016-10-19 10:09:11

搭建 rsyslog+mysql+loganalyzer

实验环境:
当前操作系统:Linux CentOS 7 3.10.0-327.el7.x86_64
所需要的软件包:

1,mysql: mariadb-5.5.44-2.el7.centos.x86_64
2, loganalyzer: loganalyzer-3.6.5
3, httpd: httpd-2.4.6-40.el7.centos.x86_64
4, php: php-5.4.16-36.el7_1.x86_64
5, php-mysql: php-mysql-5.4.16-36.el7_1.x86_64
6, php-gd: php-gd-5.4.16-36.el7_1.x86_64
7,rsyslog-mysql:rsyslog-mysql-7.4.7-12.el7.x86_64
所实现的功能:将rsyslog记录日志与mysql中

步骤一:
1,安装mysql server

1
# yum -y install mariadb-server





2,防止mysql出现反主机解析,需要在mysql的配置文件中添加如下选项:

1
2
3
# vim /etc/my.cnf
skip_name_resolve=ON
innodb_file_per_table=ON





3,启动mysql服务

1
#systemctl start mariadb.service





4,检查服务是否正常工作

1
2
#ss -tnl
LISTEN    0   50      *:3306       *:*





步骤二:

1,安装rsyslog连接至mysql server的驱动模块

1
#yum -y install rsyslog-mysql




2,查看rsyslog-mysql所生成的包

1
2
3
#rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql




3,在mysql server准备rsyslog专用的用户账号

1
2
3
#mysql
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';授权127.0.0.1主机
Query OK, 0 rows affected (0.00 sec)





1
2
3
4
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass'; 授权本机主机
Query OK, 0 rows affected, 1 warning (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;重读授权表
Query OK, 0 rows affected (0.00 sec)





1
2
3
4
5
6
7
8
9
#mysql -ursyslog -h127.0.0.1 -prsyslogpass验证登录mysql的账号和密码
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)





1
#less /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql   创建mysql的脚本





4,生成所需要的数据库和表

1
#mysql -ursyslog -h127.0.0.1 -prsyslogpass < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#mysql -ursyslog -h127.0.0.1 -prsyslogpass验证所生成的表和数据
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database         |
+--------------------+
| information_schema |
| Syslog             |
| test               |
+--------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]> use Syslog;
MariaDB > SHOW TABLES;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents         |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
MariaDB > DESC SystemEvents;





5,配置rsyslog使用ommysql模块

1
2
3
#vim /etc/rsyslog.conf
#### MODULES ####    在该模块下添加ommysql模块
$ModLoad ommysql





6,配置RULES,将所期望的日志信息记录于mysql中

1
2
3
#### RULES ####
*.*    :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass   添加规则
#*.info;mail.none;authpriv.none;cron.none       /var/log/messages 注释掉





7,重启rsyslog服务并查看状态

1
2
#systemctl restart rsyslog.service
#systemctl status rsyslog.service





8,客户端验证日志


1
2
3
4
5
6
#mysql -usyslog -h127.0.0.1 -prsyslogpass
MariaDB [(none)]> use Syslog;
MariaDB > SELECT * FROM SystemEvents\G
#logger -p local13.warn "How old are you?"   在另一个终端
FromHost: CentOS 7
Message: How old are you?





步骤三:
安装loganalyzer
1,安装所需软件包

1
#yum -y install httpd php php-mysql php-gd





2,启动并检查服务

1
2
3
#systemctl start httpd.service
#ss -tnl
LISTEN    0   50      *:80       *:*





3,安装loganalyzer-3.6.5

1
2
3
4
5
6
7
8
9
10
#ls   需在网上下载
loganalyzer-3.6.5
#cd loganalyzer-3.6.5
#cp -a src /var/www/html/loganalyzer-3.6.5
#cd /var/www/html/
#ls
#ln -sv loganalyzer-3.6.5/ log
#cd log
#touch config.php
#chmod 666 config.php





4,打开浏览器,进行配置
1),在地址输入栏中输入如下地址:


2),在弹出的方框中点击here,需进行初始化设置














3),当看到红色警告栏时,需要修改配置文件


1
#vim config.php




将 localhost 改为 127.0.0.1

1
2
$CFG['UserDBServer'] = '127.0.0.1';
$CFG['Sources']['Source1']['DBServer'] = '127.0.0.1';





1
#chmod 644 config.php   修改权限





4)再次刷新页面,见到如下页面,恭喜你服务搭建完成



页: [1]
查看完整版本: 搭建 rsyslog+mysql+loganalyzer