实验环境:
当前操作系统: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[root@CentOS 7 ~]# yum -y install mariadb-server
2,防止mysql出现反主机解析,需要在mysql的配置文件中添加如下选项:[root@CentOS 7 ~]# vim /etc/my.cnf
skip_name_resolve=ON
innodb_file_per_table=ON
3,启动mysql服务[root@CentOS 7 ~]#systemctl start mariadb.service
4,检查服务是否正常工作[root@CentOS 7 ~]#ss -tnl
LISTEN 0 50 *:3306 *:*
步骤二:
1,安装rsyslog连接至mysql server的驱动模块[root@CentOS 7 ~]#yum -y install rsyslog-mysql
2,查看rsyslog-mysql所生成的包[root@CentOS 7 ~]#rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
3,在mysql server准备rsyslog专用的用户账号[root@CentOS 7 ~]#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)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)[root@CentOS 7 ~]#mysql -ursyslog -h127.0.0.1 -prsyslogpass 验证登录mysql的账号和密码
MariaDB [(none)]> SHOW DATABASES;
+——————–+
| Database |
+——————–+
| information_schema |
| test |
+——————–+
2 rows in set (0.00 sec)[root@CentOS 7 ~]#less /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql 创建mysql的脚本
4,生成所需要的数据库和表[root@CentOS 7 ~]#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 [Syslog]> SHOW TABLES;
+————————+
| Tables_in_Syslog |
+————————+
| SystemEvents |
| SystemEventsProperties |
+————————+
2 rows in set (0.00 sec)
MariaDB [Syslog]> DESC SystemEvents;
5,配置rsyslog使用ommysql模块[root@CentOS 7 ~]#vim /etc/rsyslog.conf
#### MODULES #### 在该模块下添加ommysql模块
$ModLoad ommysql
6,配置RULES,将所期望的日志信息记录于mysql中#### RULES ####
*.* :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass 添加规则
#*.info;mail.none;authpriv.none;cron.none /var/log/messages 注释掉
7,重启rsyslog服务并查看状态[root@CentOS 7 ~]#systemctl restart rsyslog.service
[root@CentOS 7 ~]#systemctl status rsyslog.service
8,客户端验证日志[root@CentOS 7 ~]#mysql -usyslog -h127.0.0.1 -prsyslogpass
MariaDB [(none)]> use Syslog;
MariaDB [Syslog]> SELECT * FROM SystemEvents\G
[root@CentOS 7 ~]#logger -p local13.warn “How old are you?” 在另一个终端
FromHost: CentOS 7
Message: How old are you?
步骤三:
安装loganalyzer
1,安装所需软件包[root@CentOS 7 ~]#yum -y install httpd php php-mysql php-gd
2,启动并检查服务[root@CentOS 7 ~]#systemctl start httpd.service
[root@CentOS 7 ~]#ss -tnl
LISTEN 0 50 *:80 *:*
3,安装loganalyzer-3.6.5[root@CentOS 7 ~]#ls 需在网上下载
loganalyzer-3.6.5
[root@CentOS 7 ~]#cd loganalyzer-3.6.5
[root@CentOS 7 loganalyzer-3.6.5]#cp -a src /var/www/html/loganalyzer-3.6.5
[root@CentOS 7 loganalyzer-3.6.5]#cd /var/www/html/
[root@CentOS 7 html]#ls
[root@CentOS 7 html]#ln -sv loganalyzer-3.6.5/ log
[root@CentOS 7 html]#cd log
[root@CentOS 7 log]#touch config.php
[root@CentOS 7 log]#chmod 666 config.php
4,打开浏览器,进行配置
1),在地址输入栏中输入如下地址:
2),在弹出的方框中点击here,需进行初始化设置
3),当看到红色警告栏时,需要修改配置文件
[root@CentOS 7 log]#vim config.php
将 localhost 改为 127.0.0.1$CFG[‘UserDBServer’] = ‘127.0.0.1’;
$CFG[‘Sources’][‘Source1’][‘DBServer’] = ‘127.0.0.1’;[root@CentOS 7 log]#chmod 644 config.php 修改权限
4)再次刷新页面,见到如下页面,恭喜你服务搭建完成