摘要:
本文实现的主要3个功能:
第一,将node1构建为1个基于mysql保存的日志服务器。(步骤1-6)
第二,构建了一个基于web-gui的日志管理界面,使用的是loganalyzer工具(步骤7)
第三,将同一网段内的node2的日志也存放在node1的日志服务器里面(步骤8)
系统环境:
node1:10.61.0.63
node2:10.61.0.64
yum源:epel源、本地光盘源
安装包:loganalyzer-3.6.5.tar.gz
实验步骤:
***********在node1上进行如下操作*********************
1.安装配置好可用的mysql服务器
#yum install mysql mysql-server -y
2.安装rsyslog-mysql的程序包
#yum install rsyslog-mysql -y
3.创建rsyslog依赖的数据库
#cd /usr/share/doc/rsyslog-mysql-5.8.10 (找到createDB.sql,并导入) #mysql < createDB.sql
4.配置rsyslog启用ommysql模块,以及rsyslog服务监听的端口
#vim /etc/rsyslog.conf #### MODULES #### 首先启动监听端口,启用udp的514端口,即启动下面2项 # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 $ModLoad ommysql #### RULES #### 找到下面一项,并修改如下:启用ommysql模块和server_ip,user,password *.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog
5.把日志记录至指定的数据库表中,重新授权Syslog数据库给rsyslog用户以及密码
#mysql mysql> GRANT all ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslog'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT all ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslog'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
重启rsyslog服务
# service rsyslog restart
6.进行测试,现在我们安装一个zsh,然后在/var/log/message日志查看有没有记录这个安装
# yum install zsh -y # tail /var/log/messages
发现/var/log/message没有zsh安装的日志
7、使用loganalyzer(基于web的图形界面)来展示日志信息,依赖于lamp组件
#yum install httpd mysq php-mysql php-gd -y
下载好loganalyzer包,并解压至/var/www/html目录下,并进行如下配置
#tar -xf loganalyzer-3.6.5.tar.gz -C /var/www/html #cd /var/www/html #mkdir log #cp loganalyzer-3.6.5/src/ log #cp loganalyzer-3.6.5/contrib/* log # cd log # ./sercure.sh # .configure.sh # chmod 666 config.php #chown -R apache.apache ./*
然后再在浏览器中访问,并进行安装:
安装完成后,进入如下页面
8.现在需求来了,我有另外1台主机node2,我要把node2主机的日志记录在node1日志服务器上。
************* 在node2****************
#vim /etc/rsyslog.conf ##################RULES##############找到下面一句并改为 *.info;mail.none;authpriv.none;cron.none @10.61.0.63 #service rsyslog restart ***************在node1*********************** 首先关闭防火墙 #service iptables stop
然后再在浏览器中访问,此时在切换到node2上面,安装或者卸载httpd、php,看日志是否记录在mysql中。下图是我记录的结果:
配置过程遇到的问题:
1.当loganalyzer 基于web-gui界面安装完成后,发现图形界面显示不了node1主机所产生的日志。
解决方法:发现在/etc/rsyslog.conf配置文件中的RULES段中没添加模块ommsql。所以重新添加后,重启rsyslog服务刷新浏览器即可。
在/etc/rsyslog.conf中添加的内容:
$ModLoad ommysql
2.当对node2的日志定向至node1,即10.61.0.63以后,发现显示不了node2的日志
解决方法:关闭node1的防火墙,就可以了。在node1执行下面操作:
#service iptables stop