使用syslog-ng搭建日志服务器

一、安装说明
   该日志服务器采用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); };

你可能感兴趣的:(mysql,syslog-ng,日志服务器)