Nov
14
[原]使用php-syslog-ng查看syslog-ng的信息
正如前面提到的,syslog-ng是可用于替代系统原来的sysklog日志服务器。其配置简单,并且支持多种不同的日志目的导向方式,包括mysql数据库。以下再配合php-syslog-ng套件,即可从浏览器实现日志的观察和过滤,相当方便。
演示环境:http://syslog.linuxfly.org
用户名和密码都是:demo
一、原理
要实现用php-syslog-ng查看syslog-ng的日志信息,需满足以下条件:
二、安装新版syslog-ng套件
为配合php-syslog-ng,并修复一些已经的Bug。建议升级syslog-ng套件。
系统平台:
红旗DC Server 5.0 for x86
1、获取源码包
可以从官方网站获取源码包。但我一直都建议尽量用rpm管理系统中的软件的,所以,我使用src.rpm咯。
Douglas E. Warner在www.silfreed.net提供了rhel 4的2.0.4版本rpm下载,和fedora的2.0.5下载。
我只是修改了其中一些配置文件,以适合红旗DC Server 5.0的情况。
源码包:
(其中,eventlog套件是编译syslog-ng的时候需要的)
2、编译及安装
解压:
编译及安装eventlog:
编译及安装syslog-ng:
※为兼容系统自带syslog-ng套件,该rpm包,已把原来的/etc/syslog-ng.conf路径修改为/etc/syslog-ng/syslog-ng.conf。
另外,编译时,还需依赖libnet包。虽然红旗上默认已经安装,但编译前请再次确认。
3、更新包下载
下面是我已经编译好的包:
三、安装php-syslog-ng
sourceforge地址:点击
官方网站:点击
最新版本下载地址:点击
本地下载:
1、解压
※因为php-syslog-ng中的scripts脚本会引用很多html中的配置,所以,请务必把php-syslog-ng中的html和scripts目录放在同一根目录下。否则,需手工修改源码。
2、修改php环境
为配合php-syslog-ng对php环境的要求,请修改/etc/php.in中的内容为:
上述不是必须的,但作为建议选项。另外,新版php-syslog-ng已在.htaccess中定义magic_quotes_gpc和register_globals选项,可不修改全局配置。
3、创建日志目录
4、加入apache虚拟主机
这部分,请根据您的apache实际情况操作。以我的系统为例,所有虚拟主机配置文件都放在/etc/httpd/conf目录中,以vhost开头的配置文件内。所以,在该目录加入文件内容:
# cat vhost_php-syslog-ng.conf
然后,重启apache:
演示环境:http://syslog.linuxfly.org
用户名和密码都是:demo
一、原理
要实现用php-syslog-ng查看syslog-ng的日志信息,需满足以下条件:
引用
1、配置syslog-ng,把指定的log信息insert到mysql数据库中;
2、配置apache和php,让php-syslog-ng可以从web浏览器使用。
2、配置apache和php,让php-syslog-ng可以从web浏览器使用。
二、安装新版syslog-ng套件
为配合php-syslog-ng,并修复一些已经的Bug。建议升级syslog-ng套件。
系统平台:
红旗DC Server 5.0 for x86
1、获取源码包
可以从官方网站获取源码包。但我一直都建议尽量用rpm管理系统中的软件的,所以,我使用src.rpm咯。
Douglas E. Warner在www.silfreed.net提供了rhel 4的2.0.4版本rpm下载,和fedora的2.0.5下载。
我只是修改了其中一些配置文件,以适合红旗DC Server 5.0的情况。
源码包:
下载文件
(其中,eventlog套件是编译syslog-ng的时候需要的)
2、编译及安装
解压:
# tar xzvf syslog-ng-2.0.5.src.tar.gz
# rpm -ivh eventlog-0.2.5-1.src.rpm
# rpm -ivh syslog-ng-2.0.5-1.src.rpm
# rpm -ivh eventlog-0.2.5-1.src.rpm
# rpm -ivh syslog-ng-2.0.5-1.src.rpm
编译及安装eventlog:
# cd /usr/src/asianux/RPMS/SPECS
# rpmbuild -bb eventlog.spec
# cd /usr/src/asianux/RPMS/i386/
# rpm -ivh eventlog-devel-0.2.5-1.i386.rpm eventlog-0.2.5-1.i386.rpm
# rpmbuild -bb eventlog.spec
# cd /usr/src/asianux/RPMS/i386/
# rpm -ivh eventlog-devel-0.2.5-1.i386.rpm eventlog-0.2.5-1.i386.rpm
编译及安装syslog-ng:
# cd /usr/src/asianux/RPMS/SPECS
# rpmbuild -bb syslog-ng.spec
# rpm -Uvh syslog-ng-2.0.5-2qk.i386.rpm syslog-ng-vim-2.0.5-2qk.i386.rpm
# rpmbuild -bb syslog-ng.spec
# rpm -Uvh syslog-ng-2.0.5-2qk.i386.rpm syslog-ng-vim-2.0.5-2qk.i386.rpm
※为兼容系统自带syslog-ng套件,该rpm包,已把原来的/etc/syslog-ng.conf路径修改为/etc/syslog-ng/syslog-ng.conf。
另外,编译时,还需依赖libnet包。虽然红旗上默认已经安装,但编译前请再次确认。
3、更新包下载
下面是我已经编译好的包:
下载文件
三、安装php-syslog-ng
sourceforge地址:点击
官方网站:点击
最新版本下载地址:点击
本地下载:
下载文件
1、解压
# mkdir /var/www/html/php-syslog-ng/
# tar xzvf php-syslog-ng-2.9.3l.tgz -C /var/www/html/php-syslog-ng/
# cd /var/www/html/php-syslog-ng/
# chown -R apache.apache html/
# tar xzvf php-syslog-ng-2.9.3l.tgz -C /var/www/html/php-syslog-ng/
# cd /var/www/html/php-syslog-ng/
# chown -R apache.apache html/
※因为php-syslog-ng中的scripts脚本会引用很多html中的配置,所以,请务必把php-syslog-ng中的html和scripts目录放在同一根目录下。否则,需手工修改源码。
2、修改php环境
为配合php-syslog-ng对php环境的要求,请修改/etc/php.in中的内容为:
引用
;display_errors = Off
display_errors = On
; magic_quotes_gpc = Off
magic_quotes_gpc = On
; memory_limit = 8M
memory_limit = 256M
; max_execution_time = 30
max_execution_time = 90
display_errors = On
; magic_quotes_gpc = Off
magic_quotes_gpc = On
; memory_limit = 8M
memory_limit = 256M
; max_execution_time = 30
max_execution_time = 90
上述不是必须的,但作为建议选项。另外,新版php-syslog-ng已在.htaccess中定义magic_quotes_gpc和register_globals选项,可不修改全局配置。
3、创建日志目录
# mkdir -p /var/log/httpd/php-syslog-ng
# mkdir -p /var/log/php-syslog-ng
# mkdir -p /var/log/php-syslog-ng
4、加入apache虚拟主机
这部分,请根据您的apache实际情况操作。以我的系统为例,所有虚拟主机配置文件都放在/etc/httpd/conf目录中,以vhost开头的配置文件内。所以,在该目录加入文件内容:
# cat vhost_php-syslog-ng.conf
引用
# PHP-SYSLOG-NG
<VirtualHost *:80>
ServerName syslog.linuxfly.org
ServerAdmin linuxing@linuxfly.org
DocumentRoot /var/www/html/php-syslog-ng/html
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/php-syslog-ng/html>
# pcw No directory listings
# Options Indexes FollowSymLinks MultiViews
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Directory /var/www/html/php-syslog-ng/html/config>
Deny from all
</Directory>
ErrorLog /var/log/httpd/php-syslog-ng/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/httpd/php-syslog-ng/access.log combined
ServerSignature On
</VirtualHost>
<VirtualHost *:80>
ServerName syslog.linuxfly.org
ServerAdmin linuxing@linuxfly.org
DocumentRoot /var/www/html/php-syslog-ng/html
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html/php-syslog-ng/html>
# pcw No directory listings
# Options Indexes FollowSymLinks MultiViews
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Directory /var/www/html/php-syslog-ng/html/config>
Deny from all
</Directory>
ErrorLog /var/log/httpd/php-syslog-ng/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/httpd/php-syslog-ng/access.log combined
ServerSignature On
</VirtualHost>
然后,重启apache:
# service httpd restart
Session save path Not set, Unwriteable
这个怎么解决啊
检查安装排错文档,有提示去google的源码站下载
唉,还是要仔细啊。
感谢楼主的文章。
显示日志的时候会报
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /www/php-syslog-ng/html/includes/CEMDB.class.php on line 11
无法显示日志。
用php-syslog-ng生成的sql 在mysql执行到时可以select出数据。 在安装时我没有选择CEMDB。 能帮我解答一下吗
至于您提到的报错,是否php-syslog-ng的版本不同?或配置上打开了CEMDB?
(php-syslog-ng不同版本的Bug挺多的,换个版本试试吧)
邮箱:9529219@qq.com或chfreedom@163.com
至于查询的时候,只能显示一两条记录,是否你在选择参数的时候,没有选中Include,而默认是Exclude的,所以会只有一些很少的记录咯。
那个每天备份数据库为当天日期的功能是软件中自带的,使用php实现的,用计划任务每天执行。部分系统,php在命令行脚本中允许会报错,解决了就可用。
要联系我,可联系这个邮箱:emos#linuxfly.org,QQ少用,暂时不提供了。
奇怪你弹出的窗口怎么是windows ie呢?
若日志发送到syslog-ng服务器上,就可以用php-syslog-ng进行管理和监控了。
弹出窗口指的是我安装的界面吧?这个没关系啊,我是在windows通过ie去远程安装的,当然弹出窗口也是ie咯。