一、安装说明
该日志服务器采用syslog-ng+mywebsql3.3+mysql+php搭建而成,
syslog-ng用来接管系统的日志管理,
mysql用来存储系统的日志,
mywebsql用来通过web页面显示系统日志
二、安装相关软件和服务
提示:如果使用CentOS的yum安装syslog-ng的时候,需要导入epel镜像源;最好关闭SELinux,防止出现各种见鬼的错误
1、关闭系统自带的rsyslog服务并禁止开机启动、关闭SElinux:
#---------------------------
#关闭rsyslog并禁止开机启动
#---------------------------
service rsyslog top
chkconfig rsyslog off
#---------------------------
#关闭SELinux
#---------------------------
vim /etc/selinux/config;修改SELINUX=disabled
2、安装syslog-ng:yum install syslog-ng -y
3、启动syslog-ng:service syslog-ng start 报错如下:
Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql'
Starting syslog-ng:[FAILED]
4、解决方法:yum install syslog-ng-libdbi -y
5、重新启动syslog-ng服务,并且加入开机启动项中:
service syslog-ng restart
chkconfig syslog-ng on
6、安装mysql:
yum install mysql-server -y
mysqladmin -uroot password root --设置root用户的密码
7、安装PHP和WEB服务
yum install php php-mysql -y
8、客户端安装重复以上的1-5的步骤就可以了
三、配置syslog-ng的配置文件
1、客户端的配置:
#----------------------------------------------------------------
#Apache的日志管理
#----------------------------------------------------------------
source s_apache { file("/var/log/http/*");};
destination d_server { tcp("192.168.12.172" port(514));};
log { source(s_apache); destination(d_server); };
2、服务端的配置:
#-----------------------------------------------------------------
#Apache日志来源的集中管理
#-----------------------------------------------------------------
source s_remote { tcp(); };
destination d_apache {
program("/usr/bin/mysql -uroot -proot syslogs < /var/log/mysql.pipe");
pipe("/var/log/mysql.pipe"
template("INSERT INTO apache(host,facility,level,tag,date,program,msg) VALUES ('$HOST','$FACILITY','$LEVEL','$TAG','$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC','$PROGRAM','$MSG');\n") template-escape(yes)); };
log { source(s_remote);destination(d_apache); };