好吧。先说明一下。本来是想做一下系统日志的分析。但没想到后面发现自己的要求有点高,整个项目要了解的东西是越来越多。于是乎,分开记录吧。
这里是最基础的配置:仅仅是单机版的搭建,东西不多,但是后面几个分段的基础
基础系统:AS6.3
软件:rsyslog是自带的5.8.10
Loganalyzer是网友汉化过的3.6.5
目的:其实很简单,就是实现loganalyer对系统日志的分析。
步骤如下:1.loganalyer其实是php脚本,那么apache要支持php
2.loganalyer可以支持的数据源类型,可以是数据库也可以是直接的系统文件, 为了以后各方面都演示到,所以这里默认用的数据源是mysql。
3.配置rsyslog把日志写入mysql
4.安装配置loganalyer正常工作。
OK,开始:
1~2. 我的系统是AS6的,安装的时候就把LAMP所相关的rpm包全装完了。所以1和2基本上已经OK。但是由于实验是默认环境,所以selinux必须关掉,否则会造成自建的目录httpd服务无法访问。
# setenforce 0 //临时关掉,重启恢复
如果要永久关掉
# vim /etc/selinux/config
把SELINUX=enforcing改成SELINUX=disabled
重启生效
Apache支持php测试可以用如下的方式验证:
# echo "<?php phpinfo(); ?>" > /var/www/html/1.php
然后在浏览器中访问http://IP/1.php 如果一切正常的话大概是这样子:
(别忘记把httpd服务打开,#service httpd start)
3. 配置rsyslog把日志写入mysql
首先把mysql服务打开
# service mysqld start
然后找到数据库,这里要说明一下,数据库是在rsyslog-mysql这个包里的,如果没有的话去光盘里找
# rpm -aq | grrep rsyslog
已经装了
找一下默认的数据库文件放在哪里
# rpm -ql rsyslog-mysql-5.8.10-2.el6.i686
在这里
导入数据库
# mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
导完之后,进数据库可以看到新数据库Syslog,里面就只有两张数据表:SystemEvents和SystemEventsProperties。
这里为了等下的日志写入mysql验证要建个新用户设一下密码
mysql> grant all on Syslog.* to rsyslog@localhost IDENTIFIED BY ‘123456’;
mysql> flush privileges;
设置rsyslog把日志数据导入mysql
# vim /etc/rsyslog.conf
去掉 #$ModLoad immark 前的#
//开启标记日志功能
添加 $ModLoad ommysql
//开启mysql支持功能
添加 *.* :ommysql:localhost,Syslog,rsyslog,123456
//把所有日志记录到mysql
重启rsyslog服务
# service rsyslog restart
4. 安装和配置loganalyer
# mkdir log
# tar zxvf loganalyzer-3.6.5-cn.tar.gz -C log
# mv log /var/www/html/
# chown daemon.daemon -R /var/www/html/log/
//这一步是保证等下config文件能被创建
然后访问 http://ip/log/src
没找到配置文件,单击红框。
直接 Next
这就OK了,如果写入失败,自己去调整/var/www/html/log 的权限
别吃惊,安装默认还是英文的,我启用了浏览器的翻译功能,具体的条目自己对着看吧,其实这样基本明了了。
这步是自动创建表,直接 Next 就行了。
创建结果,23个表成功。Next
建立管理员帐号
配置数据源。这里要注意,数据库名默认是loganalyzer,表名也是全小写,一定要改过来。
完成了,不过别高兴。
好吧,确实完成了。默认是英文的,记得在红框位置改成chinese.这里说一下,如果出现什么表名数据库无法连接之类的。
二话别说,把config.php删除了再来一次——看清大小写。
这要比傻傻的去编辑config.php要快得多——搞过能用和不能用的两个文件,结果只差1Kb。