当前位置: 首页 > 工具软件 > zlib-ng > 使用案例 >

php 的syslog ng模块,Apache+PHP+mysql+syslog-ng+php-syslog-ng统一管理日志

舒浩邈
2023-12-01

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

在解压路径找到作者提供的数据库模板,将其导入数据库,操作如下:

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.sources_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

根据页面的要求及提示输入数据库的密码等完成安装

注:在此第一步对应的页面有红色警告的话最好是解决完后再前进,以免导致莫名其妙的错误码出现,另外需要保证config/config.php是空白而且对于启用apache的程序用户(daemon)需要有写的权限,不然打开页面的时候就只会停留在帮助页面上。

至此大功告成。

 类似资料: