注:
这里导入数据库操作其实博主最后研究了下,就是创建了Syslog库并在该库中创建了两张空表
创建rsyslog用户在mysql下的相关权限
#mysql-uroot-p123456
>grantallprivilegesonSyslog.*torsyslog@localhostidentifiedby"123456";
>flushprivileges;
>exit
配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其他LINUX系统日志
#vi/etc/rsyslog.conf
在####MODULES####下添加这两行
------------------
$ModLoadommysql.so
*.*:
ommysql:
localhost,Syslog,rsyslog,123456
------------------
注:
localhost表示本地主机,Syslog为数据库名,rsyslog为数据库的用户,123456为该用户密码
取消下面三行注释
-----------------
$ModLoadimmark
$ModLoadimudp
$UDPServerRun514
-----------------
重启服务:
#servicersyslogrestart
(rsyslogclient)
#yuminstallrsyslog-y
配置rsyslog客户端发送本地日志到服务端
#vi/etc/rsyslog.conf
末行添加如下内容
-------------------
*.*@192.168.7.201
-------------------
注:
192.168.7.201为日志服务器端IP地址
重启服务:
#servicersyslogrestart
三.安装loganalyzer
#wget
#tarzxvfloganalyzer-3.6.3.tar.gz
#cdloganalyzer-3.6.3
#mkdir-p/usr/local/apache2/htdocs/loganalyzer
复制loganalyzer源代码到apache的DocumentRoot下loganalyzer目录
#cp-rsrc/*/usr/local/apache2/htdocs/loganalyzer
#cp-rcontrib/*/usr/local/apache2/htdocs/loganalyzer
#chown-Rdaemon.daemon/usr/local/apache2/htdocs/loganalyzer
通过web向导安装loganalyzer前,必须先执行以下两个脚本
#cd/usr/local/apache2/htdocs/loganalyzer/
#shconfigure.sh
#shsecure.sh
注:
该脚本实际上是创建该目录下的config.php,并配置该文件权限。
在浏览器输入网址,进入安装向导
http:
//192.168.7.201/loganalyzer
1.提示没有配置文件,点击here利用向导生成
2.NEXT
3.按照如图输入配置,点击NEXT:
注:
点击NEXT时若报错,后台执行如下命令后继续
#ln-s/var/lib/mysql/mysql.sock/tmp/mysql.sock
4.开始写入数据库,NEXT
5.提示写入成功,NEXT
6.设置管理员账户,配置完毕NEXT
7.设置监控日志保存到mysql数据库中,按照如图配置后NEXT
8.完成配置,FINISH
9.进入登陆界面:
10.进入主界面:
查看loganalyzer是否获取192.168.7.201和192.168.7.74系统日志
利用navicat查看rsyslog服务端和客户端系统日志是否都写入数据库Syslog-SystemEvents表
后记:
1.本人在loganalyzer安装向导配置的web后台账户,在登陆界面无法登陆,提示账号或密码错误,不知道是什么原因?
最后是在向导一处去掉登陆认证才勉强通过,有遇到相同问题的朋友望帮忙解答。
经过一位朋友指点,终于找到了原因
首先利用以下命令守株待兔
#tail-f/usr/local/mysql/log/mysql.log
然后在loganalyzer向导STEP6输入web后台账号密码后,点击NEXT
查看到mysql.log日志里出现了一条INSERT语句
然后将该语句复制到后台手动执行,看报什么错误
#mysql-uroot-p123456;
>INSERTINTOlogcon_users(username,password,is_admin)VALUES('admin','00a1f187721cxxxxxxx6bf791e69382c',1);
ERROR1364(HY000):
Field'last_login'doesn'thaveadefaultvalue
提示'last_login'栏不能为空值
OK,直接登录navicat,将这栏设置为允许空值保存即可
从新执行这条语句
>INSERTINTOlogcon_users(username,password,is_admin)VALUES('admin','00a1f187721cxxxxxxx6bf791e69382c',1);
QueryOK,1rowaffected(0.06sec)
显示执行成功
利用navicat查看后台该表,显示成功插入一条记录
重新利用该账号即可成功登录loganalyzerweb后台
看来是mysql在执行该语句时,发现last_login栏默认为非空,所以拒绝这条insert语句执行,解决办法就是将该栏设置为允许空值即可
博主在线上老版本mysql-5.0.56无需进行上述手动操作,即可成功登录后台
但本篇出现的问题则是在mysql-5.6.10版本上
看来这应该不算是loganalyzer的BUG,应该是mysql在高版本执行insert语句提高了严谨性
这里给卡在这里的朋友点思路,仅供参考。
在此感谢longeleven11朋友的提点。
。
。
。
2.安装rsyslog可谓是过程曲折,之前本想全部编译安装,最后才发现网上的文档各种误导,编译rsyslog最后花了2个小时安装了其6个依赖包,全部找的老外的文档挨个测试,装完网上给出的文档又不能合理给出如何与系统自带的rsyslog共存保证不冲突,也就是编译的rsyslog的启动方法如何与系统自带的区别,索性就yum吧,实属无奈之举,还有吐槽下google各种间歇性抽风,至于原因,大家都懂的。
。
。
3.Windows客户端安装(win2008server64bit)
1.下载evtsys
http:
//eventlog-to-
2.解压文件将包内64-Bit文件夹下的所有文件复制C:
\Windows\System32下
3.开启evtsys服务
运行-cmd
>cdc:
\Windows\System32
>evtsys-i-s10-h192.168.7.11-p514
>netstartevtsys
4.验证效果
如图: