一:实验环境;
1、使用LAMP实现web服务器访问日志;
2、A:Centos 6;ip:172.17.250.109 ---》mariadb
B:Centos 6;ip:172.17.250.106 ---》rsyslog、rsyslog-mysql(Centos 6以后的版本)
C:Centos 7;ip:172.17.253.35 ----》httpd、php-fpm、php-gd、php-mysql
即,将数据库和日志分别放在不同机器上,实现远程查看管理日志的功能,然后有另一台机器是web服务器为远程web访问日志响应资源(即做反向代理),若是访问静态的页面,web服务器利用Apache的httpd直接响应,但若是访问像日志这种动态的页面的时候,就需要借助FCGI(快速通用网关接口)协议传给php运行,,若果需要访问数据库的话,php去访问数据库,然后再将结果变成静态页面传给httpd,httpd再去响应客户端,在这里用的是php的独立方式php-fpm;并且与Apache服务放在一台机器上;
3、使用loganalyzer程序实现web查看日志的功能;loganalyzer是一个编好的程序,直接拿来用就好了;
二:实验步骤;
1、B机器上;
用yum安装rsyslog;首先需要将yum配好;我的yum源是这样的;
[root@B ~]# cat /etc/yum.repos.d/sjj.repo
[base1]
name=Centos 6
baseurl=file:///media/CentOS_6.9_Final
gpgcheck=0
[epel]
name=Centos 6.9
baseurl=http://172.17.0.1/fedora-epel/6/x86_64/
gpgcheck=0
[root@B ~]#
[root@B ~]# yum install rsyslog rsyslog-mysql -y #将两个一起安装一下;
其中安装rsyslog-mysql时
会有一个创建数据库的一个脚本/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql数据库文件生成;
root@B ~]# scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 172.17.250.109: #将这个数据库文件传到A机器上,用于创建数据库
然后定义配置文件;
[root@B ~]# vim /etc/rsyslog.conf
#### MODULES ####
$ModLoad ommysql #在MODULES添加上去的rsyslog-mysql的模块
#### RULES ####
*.info;mail.none;authpriv.none;cron.none :ommysql:172.17.250.109,Syslog,loguser,magedu #在RULES里改这一行为后面的格式;其中Syslog是数据库名,loguser是在A中创建授权的用户及“magedu”密码,这些都是利用传到A上的数据库脚本自动创建的
[root@B ~]# service rsyslog start #启动rsyslog服务
2、A机器上;
用逻辑卷安装二进制mariadb数据库;
1)、创建逻辑卷;
先加一块200G的硬盘(为了给数据库足够大的空间,用整块盘做数据库);然后执行命令使其生效;
[root@A ~]# echo '- - -' > /sys/class/scsi