概述
Rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.可以使用rsyslog替换系统自带的syslog。 LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。 本文环境为CENTOS 6.5平台部署Rsyslog+LogAnalyzer 环境要求CENTOS 6.5 X64 安装过程安装介质
Rsyslog采用系统自带yum源。 下载LogAnalyzer RSYSLOG服务器配置用root用户登录调整时间#hwclock --set --date="2013/07/04 13:49" #hwclock -hctosys 配置本地YUM源#mkdir /mnt/cdrom #mount /dev/cdrom /mnt/cdrom #cd /etc/yum.repos.d/ #mkdir bak #mv *.repo bak/ #vi media.repo
[media] name=media baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 配置前先关闭iptables和SELINUX,避免安装过程中报错。# service iptables stop # setenforce 0 # vi /etc/sysconfig/selinux --------------- SELINUX=disabled 安装MYSQL PHP APACHE# yum install mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd # service mysqld start # mysql -uroot mysql> set password=password('rootroot'); 安装rsyslog# yum install rsyslog rsyslog-mysql -y
注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块,这里必须安装 SYSLOGD_OPTIONS="-c 2 -r -x -m 180" KLOGD_OPTIONS="-x" 各参数作用:-c 指定运行兼容模式。 -r 指定监听端口。 默认514 -x 在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。 -m 标记时间戳。单位是分钟,为0时,表示禁用该功能。
# cd /usr/share/doc/rsyslog-mysql-5.8.10/ # mysql -uroot -prootroot < createDB.sql 注:创建Syslog库并在该库中创建了两张空表 创建rsyslog用户在mysql下的相关权限 # mysql -uroot -prootroot mysql> grant all privileges on Syslog.* to rsyslog@localhost identified by "123456"; mysql> flush privileges;
# 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 配置rsyslog客户端发送本地日志到服务端 # vi /etc/rsyslog.conf 末行添加如下内容 *.* @192.168.7.201 注:192.168.7.201 为日志服务器端IP地址 重启服务: # service rsyslog restart
防火墙开放服务端口#service iptables start /sbin/iptables -I INPUT -p tcp --dport 514 -j ACCEPT /sbin/iptables -I INPUT -p udp --dport 514 -j ACCEPT
#/etc/init.d/iptables save #/etc/init.d/iptables status
LOGANALYZER配置用root用户登录配置前先关闭iptables和SELINUX,避免安装过程中报错。# serviceiptables stop # setenforce 0 # vi /etc/sysconfig/selinux --------------- SELINUX=disabled 启动mysqld httpd安装loganalyzer上传安装文件至/tmp下 #tar zxvf loganalyzer-3.6.3.tar.gz 复制loganalyzer源代码到apache的loganalyzer目录#cd /tmp/loganalyzer-3.6.3 #mkdir -p /var/www/html/loganalyzer/ #cp -r src/* /var/www/html/loganalyzer/ #cp -r contrib/* /var/www/html/loganalyzer/ #cd /var/www/html/loganalyzer/ #touch config.php #chmod 666 config.php 修改php环境为配合LogAnalyzer对php环境的要求,请修改/etc/php.ini中的内容为:
memory_limit = 512M 创建日志目录 # mkdir -p /var/log/httpd/loganalyzer
配置虚拟机,apache安全配置
# loganalyzer <VirtualHost *:80> ServerName logserver ServerAdminzhjixi1234@163.com DocumentRoot /var/www/html/loganalyzer <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/loganalyzer> # pcw No directory listings # Options Indexes FollowSymLinks MultiViews Options -Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/httpd/loganalyzer/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/httpd/loganalyzer/access.log combined ServerSignature On </VirtualHost> 重启服务 #service httpd restart WEB配置在浏览器输入网址,进入安装向导 访问http://serverip:80
1.提示没有配置文件,点击here利用向导生成
文件权限config.php不正确,chmod 666 /var/www/html/loganalyzer/config.php
注:点击NEXT时若报错,后台执行如下命令后继续 # ln-s /var/lib/mysql/mysql.sock /tmp/mysql.sock 开始写入数据库,NEXT
提示写入成功,NEXT
设置管理员账户,配置完毕NEXT
设置监控日志保存到mysql数据库中,按照如图配置后NEXT
完成配置,FINISH
进入主界面: 查看loganalyzer是否获取系统日志
防火墙开放服务端口#service iptables start /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
安全配置
#cd /var/www/html/loganalyzer #chmod 644 config.php 总结:感觉RSYSLOG+LOGANALYZER搭建相对于SYSLOG-NG+LOGANALYZER搭建简单很多,LogAnalyzer的BUG还没试出来。。SYSLOGNG相对于RSYSLOG功能强大很多,但那些功能是收费的。 LOGZILLA功能也很强大,但那些也是收费的。 综上所述,打算采用RSYSLOG+LOGANALYZER作为日志集中服务器,遗憾的是,这个版本的loganalyzer的用户权限控制不是很好。 (责任编辑:IT) |