您的位置:首页 > 运维架构 > Apache

Apache+PHP+mysql+syslog-ng+php-syslog-ng统一管理日志

2011-08-12 15:34 716 查看

Apache+PHP+mysql+syslog-ng+php-syslog-ng统一管理日志

1. 首先安装好LAMP这一个组合,在安装的过程中重点关注PHP的安装
./configure --prefix=/usr/local/php5 --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --with-zlib
make ;make install
安装完成后:
cp php-dist.ini /usr/localphp5/php.ini
vi /usr/localphp5/php.ini
修改:session.save_path = "/tmp"
apachectl restart
Installation syslog-ng
下载php-syslog-ng
官方地址:http://sourceforge.net/projects/php-syslog-ng/
在解压路径找到作者提供的数据库模板,将其导入数据库,操作如下:
shell> mysql -uroot -p syslog< /your/tar/path/install/dbsetup.sql
这里需要先建立syslog库
下载syslog-ng server & clinet,官方地址:http://www.balabit.com
Configure syslog-ng
安装日志服务端,如:
1.rpm -ivh syslog-ng-3.0.9-1.rhel5.i386.rpm
2.vi /syslog-ng/etc /syslog-ng.conf.

source s_all {
internal();
unix-stream("/dev/log");
file("/proc/kmsg" program_override("kernel"));
udp(
ip(put.your.server.ip)
port(514)
);
tcp(
ip(put.your.server.ip)
port(514)
);
};
destination d_mysql {

pipe("/var/log/mysql.pipe"

template("INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',

'$PROGRAM', '$MSG' );\n") template-escape(yes));

};

log {

source(s_all);

destination(d_mysql);

};
以上内容也可以从php-syslog-ng中获得如:/your/tar/path/scripts/syslog.conf
3.创建管道文件,此文件主要作用是把syslog-ng接收到的日志信息内容转移至数据库中去。
vi /scripts/syslog2myssql.sh
#!/bin/bash

if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
mysql -u syslogfeeder --password=PW_HERE syslog < /var/log/mysql.pipe >/dev/null
done
sh /scripts/syslog2myssql.sh &
/etc/init.d/syslog-ng restart
以上内容也可以从php-syslog-ng中获得如:/your/tar/path/scripts/syslog2mysql.sh
在做完这里以后,可以登录数据库查看syslogs.logs表,此表就是记录接收到的日志。

Installation syslog-ng-client(Add a log client)
rpm -ivh syslog-ng-client-3.0.9-1.rhel5.i386.rpm
vi /opt/syslog-ng/etc/syslog-ng.conf
destination d_logserver { udp("your.log.server.ip");};

log {

source(s_local);

destination(d_logserver);

};
/etc/init.d/syslog-ng restart

Installation php-syslog-ng
下载php-syslog-ng
官方地址:http://code.google.com/p/php-syslog-ng/downloads/list?q=label:Deprecated
解压至apache的网页目录如:/usr/local/apache/htdocs/syslog
Chown –R daemon.daemon /usr/local/apache2/htdocs/syslog
在IE输入http://yourserverip/syslog/install
根据页面的要求及提示输入数据库的密码等完成安装
完后访问http://yourserverip/syslog/index.php
注:在此第一步对应的页面有红色警告的话最好是解决完后再前进,以免导致莫名其妙的错误码出现,另外需要保证config/config.php是空白而且对于启用apache的程序用户(daemon)需要有写的权限,不然打开页面的时候就只会停留在帮助页面上。

至此大功告成。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: