转载:使用php-syslog-ng查看syslog-ng的信息

转载:http://www.linuxfly.org/post/172_1_1.htm

 

官方最新版本安装指南:http://nms.gdd.net/index.php/Installation_Guide

   

编者注:安装部分仅供参考,因系统环境而异,另外,php-syslog-ng因版本不同,一些脚本名称或用法也不同;原文中的所有图片未转载,图文并茂版本请查看原文:http://www.linuxfly.org/post/172_1_1.htm

 

    正如前面提到的,syslog-ng是可用于替代系统原来的sysklog日志服务器。其配置简单,并且支持多种不同的日志目的导向方式,包括mysql数据库。以下再配合php-syslog-ng套件,即可从浏览器实现日志的观察和过滤,相当方便。

 

一、原理

要实现用php-syslog-ng查看syslog-ng的日志信息,需满足以下条件:

1、配置syslog-ng,把指定的log信息insert到mysql数据库中;

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的情况。

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

 编译及安装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

 编译及安装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

※为兼容系统自带syslog-ng套件,该rpm包,已把原来的/etc/syslog-ng.conf路径修改为/etc/syslog-ng/syslog-ng.conf。另外,编译时,还需依赖libnet包。虽然红旗上默认已经安装,但编译前请再次确认

3、更新包下载

下面是我已经编译好的包: (略)

sourceforge地址http://sourceforge.net/projects/php-syslog-ng/

官方网站:http://freshmeat.net/redir/php-syslog-ng/33874/url_homepage/php-syslog-ng

最新版本下载地址:http://php-syslog-ng.gdd.net/current.tgz

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

 

※因为php-syslog-ng中的scripts脚本会引用很多html中的配置,所以,请务必把php-syslog-ng中的html和scripts目录放在同一根目录下。否则,需手工修改源码。

2、修改php环境[/b] 为配合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

 

上述不是必须的,但作为建议选项。另外,新版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

4、加入apache虚拟主机这部分,请根据您的apache实际情况操作。

以我的系统为例,所有虚拟主机配置文件都放在/etc/httpd/conf目录中,以vhost开头的配置文件内。所以,在该目录加入文件内容:

# cat vhost_php-syslog-ng.conf

# PHP-SYSLOG-NG    ServerName syslog.linuxfly.org    ServerAdmin linuxing@linuxfly.org

   DocumentRoot /var/www/html/php-syslog-ng/html           Options FollowSymLinks        AllowOverride All              # pcw No directory listings        # Options Indexes FollowSymLinks MultiViews        Options -Indexes FollowSymLinks MultiViews        AllowOverride All        Order allow,deny        allow from all              Deny from all   

   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

然后,重启apache:

# service httpd restart

 

5、安装数据库(图片略)

访问http://syslog.linuxfly.org进行数据库安装:

 

校验系统环境,有问题,参考上面的步骤是否有错。

查看协议: 

配置数据库参数:

其中需要注意:

MySQL User Name:填入数据库管理用户,其必须有创建数据库和分派权限的能力; MySQL Password:数据库管理用户的密码; MySQL Database Name:php-syslog-ng使用的数据库命令,安装程序会使用上面的用户自动创建; MySQL Port:数据库使用的端口 MySQL Table Prefix:表的前缀,但不要使用'old_',其代表备份表; Syslog User Name:php-syslog-ng用这个用户读取数据库信息; Syslog User Password:其密码; Syslog Admin Name:php-syslog-ng用这个用户写入数据库信息; Syslog Admin Password:其密码; Drop Existing Tables:是否删除已存在的表; Backup Old Tables:是否备份旧的表; Install Sample Data:是否安装示例数据; Install CEMDB Data:是否安装用于收集Cisco ERROR TABLE的数据。

 

如果你选择安装CEMDB数据,这需要花费一定的时间:

 

输入网页的标题: 

输入php-syslog-ng的管理信息:

可输入管理员的Email地址,以及管理员密码。

php-syslog-ng会自动创建一个随机密码,你可以修改之,但请紧急。

安装完成,并会提示你管理员的信息: 

 

 至此Web部分已经完成。但因为,syslog-ng还未把数据导向mysql,所以,此时网页中并没有数据的。

6、配置脚本, 进入scripts目录,并运行:

# cd /var/www/html/php-syslog-ng/scripts/ # perl -i -pe 's/\/www\/php-syslog-ng/\/var\/www\/html\/php-syslog-ng/g' * Can't do inplace edit: cemdb is not a regular file, <> line 30.

 

最后的信息是提示cemdb是个目录,不能替换。该目录中的文件不要修改,所以,该信息可以忽略。

接下来,需要配置syslog-ng,把日志信息导向mysql的pipe接口。

7、配置syslog-ng

 

 其配置文件在:/etc/syslog-ng.conf

加入:

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_sys);        destination(d_mysql); };

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15453509/viewspace-510280/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15453509/viewspace-510280/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供 syslog-ng 部署记录的一些基本步骤和注意事项。请注意,这只是一般性的部署记录,具体的操作可能因环境和需求的不同而有所差异。 1. 安装 syslog-ng 软件包:使用适合您操作系统的软件包管理器安装 syslog-ng。 2. 配置 syslog-ng:打开 syslog-ng 的主配置文件(通常位于 /etc/syslog-ng/syslog-ng.conf),根据实际需求配置文件路径、日志存储位置、过滤规则等。 3. 启动 syslog-ng:启动 syslog-ng 服务,使用 systemctl start syslog-ng 命令,或者使用 /etc/init.d/syslog-ng start 命令。 4. 确认 syslog-ng 运行状态:使用 systemctl status syslog-ng 命令或者 /etc/init.d/syslog-ng status 命令确认 syslog-ng 是否已经成功启动,并且正在运行。 5. 测试 syslog-ng使用 logger 命令向 syslog-ng 发送测试日志消息,检查是否已经被正确地接收和处理。 6. 配置远程日志收集:如果您需要收集来自远程主机的日志,可以使用 syslog-ng 提供的相关功能。具体配置方法可以参考 syslog-ng 官方文档。 注意事项: 1. 配置文件的修改可能会导致 syslog-ng 服务无法启动,所以在修改配置文件之前,最好备份原始配置文件。 2. 确保您的防火墙已经正确地配置,以允许 syslog-ng 服务的通信。 3. 在配置远程日志收集时,请确保您的网络连接是可靠的,同时也要注意安全性问题。 希望这些信息能够帮助到您,如果您还有其他问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值