大概思路如下:
使用Linux自带的rsyslog服务来做底层,然后再使用mysql与rsyslog的模板来存储文件,并且以web来进行显示出来。<模板的存储以日期的树形结构来存储,并且以服务器客户端IP为文件名进行划分。
最终的效果如下图:
大概步骤如下:
1.配置好rsyslog server的服务
2.配置好lamp架构
3.安装好Loganalyzer日志web
4.建好web权限控制
一、配置好rsyslog server的服务
以下为/etc/rsyslog.conf的配置文件,自行修改为以下的配置。
[[email protected] ~]# grep -v ‘^#‘ /etc/rsyslog.conf|grep -v ‘^$‘ $ModLoad ommysql *.* :ommysql:localhost,Syslog,rsyslog,123456 $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad immark # provides --MARK-- message capability $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $template DynamicFile,"/var/log/ttlogs/%$YEAR%/%$MONTH%/%$DAY%/%fromhost-ip%-test.log" *.* ?DynamicFile $IncludeConfig /etc/rsyslog.d/*.conf *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/boot.log [[email protected] ~]# # /etc/init.d/rsyslog restart #重启下rsyslog的服务 #chkconfig rsyslog on #设置开机启动 # netstat -tpnl #检查rsyslogd服务是否正常启动,514端口 #logger ‘test_samcao‘ #发送测试日志测试 #tail -f /var/log/messages #查看是否有测试信息,上面的有添加mysql的接口,会有错误提示但不影响
注:需要注意下rsyslog的版本,有些版本的配置不太一样。会有问题,在此需要根据 /var/log/message中的日志信息进行排查,在此第一步配置rsyslog server就配置完了
二、准备配置LAMP环境
下面的这步可以直接简单的搭建好LAMP的环境
#yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel gd gd-devel php-gd #/etc/init.d/httpd start #/etc/rc.d/init.d/mysqld start #/usr/bin/mysqladmin -u root password ‘new-password‘
三、安装好Loganalyzer日志web
#wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz #tar zxvf loganalyzer-3.6.5.tar.gz #cd loganalyzer-3.6.5 # mkdir -p /var/www/html/loganalyzer # rsync -a src/* /var/www/html/loganalyzer/ # touch /var/www/html/loganalyzer/config.php # chmod 666 /var/www/html/loganalyzer/config.php
然后就是访问 http://192.168.1.213/loganalyzer 页面进行web安装的操作了。这个我忽略了。图太多。而且我已经安装完了。再截图太麻烦。可以看这个链接:
http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html
注:上面安装的时候注意下,数据库如果没有需要自己手动建一下,还有数据表的名称的大小写。还有gd库的支持打开/etc/php.ini将 gd.jpeg_ignore_warning = 0这行的注释取消掉
四、建好web权限控制
默认可以直接打开web页面查看日志,可能有时候需要进行相关的权限设置,没有再深入研究loganalyzer,在此直接使用apache的密码来处理了下这个问题
1. 将http.conf中的AllowOverride all
[[email protected] ~]# cat /var/www/html/.htaccess AuthName "Login" AuthType basic AuthUserFile "/var/webuser" require valid-user [[email protected] ~]#
4.使用后面会提示需要输入密码.直接输入密码即可.但是需要添加多个用户的时候不可使用上面的命令.其中-c表示需要创建一个加密文件,可使用 htpasswd -mdps /var/webuser cs来进行添加账号.
这样就完事了.最后在访问web的时候,会提示需要输入密码。输入然后就可以正常的访问了。
其中有些配置信息上面没有说清楚,如果有需要的同学可以看下下面的一些链接 :
https://linux.cn/article-5023-1.html 在 Linux 上配置一个 syslog 服务器
http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
其它的还有一些官方的链接,在此就不帖了,有问题自行百度去吧。这个只是我自己的一个记录。
[[email protected] ~]# grep -v ‘^#‘ /etc/rsyslog.conf |grep -v ‘^$‘ $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $IncludeConfig /etc/rsyslog.d/*.conf *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.log module(load="imfile" PollingInterval="10") input(type="imfile" File="/usr/local/u-mail/service/nginx/logs/access.log" StateFile="/var/spool/rsyslog/statefile1" Tag="tag1" Severity="access" Facility="local7") local7.* @192.168.1.213:514 *.* @192.168.1.213 [[email protected] ~]#