作为一名系统运维工程师,平时查看分析LINUX系统日志我觉得是我们每天必做的功课,但时间长了会发现每次查看站点日志都得挨个进后台,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。 后来想了想能不能有一台日志服务器集中管理日志,并以WEB形式将日志显示到前台方便查看,顿时码字的想法油然而生,呵呵。 本人有一个习惯,那就是会把群里或者网上看到的圈内比较认可的LINUX系统软件先保存在备忘录,等闲下来研究研究,刚好前段时间有位朋友提到rsyslog+loganalyzer集中管理日志,所以今天刚好就抽空研究了下,过程虽有曲折(网上的文档各种坑跌),最后还是利用一天时间搞定,将自己的理解分享给搭建,仅供参考。
本文档是利用rsyslog+loganalyzer+mysql将网内所有LINUX服务器的系统日志集中到日志服务器进行管理,所有日志会保存在mysql数据库表中 注:loganalyzer在获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,本文档推荐后者
解决方案:
一.环境部署
操作系统: centos6.3 x64 rsyslog: 系统默认yum源 loganalyzer: loganalyzer-3.6.3 LAMP: httpd-2.4.4,mysql-5.6.10,php-5.4.13
rsyslog server: 192.168.7.201 lamp.example.com rsyslog client: 192.168.7.74 www2.example.com
1.安装LAMP环境 本博传送门:http://showerlee.blog./2047005/1174141
2.关闭iptables和SELINUX # service iptables stop # setenforce 0 # vi /etc/sysconfig/selinux --------------- SELINUX=disabled ---------------
3.同步时间 # ntpdate asia.pool.ntp.org
二.安装配置rsyslog (rsyslog server) # yum install rsyslog rsyslog-mysql -y 注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块,这里必须安装 # cd /usr/share/doc/rsyslog-mysql-5.8.10/ # mysql -uroot -p123456 < createDB.sql # mysql -uroot -p123456 > grant all privileges on Syslog.* to rsyslog@localhost identified by "123456"; > flush privileges; > exit # vi /etc/rsyslog.conf 在#### MODULES ####下添加这两行 ------------------ $ModLoad ommysql.so *.* :ommysql:localhost,Syslog,rsyslog,123456 ------------------ 注:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库的用户,123456为该用户密码 取消下面三行注释 ----------------- $ModLoad immark $ModLoad imudp $UDPServerRun 514 ----------------- 重启服务: # service rsyslog restart
(rsyslog client) #yum install rsyslog -y # vi /etc/rsyslog.conf 末行添加如下内容 ------------------- *.* @192.168.7.201 ------------------- 注:192.168.7.201 为日志服务器端IP地址 重启服务: # service rsyslog restart
三.安装loganalyzer # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.3.tar.gz # tar zxvf loganalyzer-3.6.3.tar.gz # cd loganalyzer-3.6.3 # mkdir -p /usr/local/apache2/htdocs/loganalyzer # chown -R daemon.daemon /usr/local/apache2/htdocs/loganalyzer # cp -r src/* /usr/local/apache2/htdocs/loganalyzer # cp -r contrib/* /usr/local/apache2/htdocs/loganalyzer 通过web向导安装loganalyzer前,必须先执行以下两个脚本 注:该脚本实际上是创建该目录下的config.php,并配置该文件权限。 # cd /usr/local/apache2/htdocs/loganalyzer/ # sh configure.sh # sh secure.sh
在浏览器输入网址,进入安装向导 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表
---------- 大功告成------------
后记: 本人在loganalyzer安装向导配置的web后台账户,在登陆界面无法登陆,提示账号或密码错误,不知道是什么原因?最后是在向导一处去掉登陆认证才勉强通过,有遇到相同问题的朋友望帮忙解答。
|