Nov 14

[原]使用php-syslog-ng查看syslog-ng的信息 晴

linuxing , 13:13 , 网络服务 » 性能监控 , 评论(26) , 引用(0) , 阅读(230069) , Via 本站原创 | |


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);
};

或使用scripts的脚本:
# cat syslog.conf  >> /etc/syslog-ng/syslog-ng.conf

※注意:需把源驱动器的s_all修改为s_sys。

8、创建mysql的pipe通道
首先确认一下scripts目录中,syslog2mysql.sh脚本来的配置文件路径是否正确,若没问题,运行它:
# /var/www/html/php-syslog-ng/scripts/syslog2mysql.sh >> /var/log/php-syslog-ng/mysql.log 2>&1 &

若日志没有报错,即可。

9、重启syslog-ng服务
若syslog未关闭,请执行:
# service syslog stop
# service syslog-ng start
# chkconfig syslog off
# chkconfig --level 2345 syslog-ng on

从Web进入php-syslog-ng,应可正常使用:
点击在新窗口中浏览此图片

四、配置计划任务
若使用php-syslog-ng对日志进行集中管理,其数据量可能是相当巨大的,必须考虑日志循环的问题。可以使用计划任务实现。
1、配置计划任务
使用crontab -e加入:
引用
# PHP-Syslog-NG
@daily php /var/www/html/php-syslog-ng/scripts/logrotate.php >> /var/log/php-syslog-ng/logrotate.log
@daily find /var/www/html/php-syslog-ng/html/jpcache/ -type f -atime 1 -exec rm -f '{}' ';'
@reboot /var/www/html/php-syslog-ng/scripts/syslog2mysql.sh >> /var/log/php-syslog-ng/mysql.log 2>&1
0,5,10,15,20,25,30,35,40,45,50,55 * * * * php /var/www/html/php-syslog-ng/scripts/reloadcache.php >> /var/log/php-syslog-ng/reloadcache.log

或确认scripts脚本中的crontab文件路径正确后,运行:
# cat crontab >> /var/spool/cron/root

※注意:
1、请把运行dbgen.pl的命令删除,该脚本只是用于产生演示数据,详见后面说明。
2、执行php脚本的时候可能会包oci8.so错误,后面也有说明。
3、原find语句存在Bug,请加入-type f选项,否则会报如下的错误:
rm: cannot remove `/var/www/html/php-syslog-ng/html/jpcache/': Is a directory


2、配置日志循环
# cp logrotate.d /etc/logrotate.d/php-syslog-ng


至此,php-syslog-ng已经全部配置完成。后面讲解其他的一些脚本的功能。
内文分页: [1] [2] [3] [4]
napfish
2008/04/03 17:45
安装php-syslog-ng的时候 界面上显示
Session save path  Not set, Unwriteable
这个怎么解决啊
linuxing 回复于 2008/04/08 15:28
应该是没有使用perl脚本修改参数吧。提示目录不正确。
qywang
2008/03/06 11:20
原来CEMDB.class这个文件有版本问题
检查安装排错文档,有提示去google的源码站下载
唉,还是要仔细啊。

感谢楼主的文章。
linuxing 回复于 2008/03/08 00:08
^_^,能解决就好。
qywang
2008/03/06 10:14
博主你好:我按照你的步骤安装php-syslog-ng

显示日志的时候会报
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。  能帮我解答一下吗
linuxing 回复于 2008/03/06 11:08
如果我没记错,CEMDB应该是和Cisco日志相关的东西,如果没有考虑把这些设备日志拿过来,那应该是不需要安装的。
至于您提到的报错,是否php-syslog-ng的版本不同?或配置上打开了CEMDB?
(php-syslog-ng不同版本的Bug挺多的,换个版本试试吧)
xxiao
2008/01/06 10:44
php-syslog-ng你有修改过吗?我装好的和你的不一样呢!表的选择和其他有点不一样..而且查询的时候有些时候一页只能显示二三条不能完整显示..不知道你这个是不是也这样..能提供你的这个php-syslog-ng吗?还有就是每天备份数据库为当天日期的你是用什么实现的?是计划任务之类的吗?希望能和你联系QQ:9529219
邮箱:9529219@qq.com或chfreedom@163.com
linuxing 回复于 2008/01/07 10:25
php-syslog-ng使用的是原来的版本,并没有修改过的。上面的日志中就有该版本的本地下载啊。
至于查询的时候,只能显示一两条记录,是否你在选择参数的时候,没有选中Include,而默认是Exclude的,所以会只有一些很少的记录咯。
那个每天备份数据库为当天日期的功能是软件中自带的,使用php实现的,用计划任务每天执行。部分系统,php在命令行脚本中允许会报错,解决了就可用。
要联系我,可联系这个邮箱:emos#linuxfly.org,QQ少用,暂时不提供了。
PPx
2008/01/03 16:28
有windows版本的,但是只限于client。
linuxing 回复于 2008/01/04 10:20
哦。很久没有研究过windows下的软件了。^_^
学习
2007/12/13 15:38
windows下也可以么?
奇怪你弹出的窗口怎么是windows ie呢?
linuxing 回复于 2007/12/17 10:44
windows的日志可以通过工具发送到syslog-ng服务器上,但syslog-ng本身是不能装在windows上的。(它只有bsd、linux等类unix版本)
若日志发送到syslog-ng服务器上,就可以用php-syslog-ng进行管理和监控了。
弹出窗口指的是我安装的界面吧?这个没关系啊,我是在windows通过ie去远程安装的,当然弹出窗口也是ie咯。
分页: 3/3 第一页 上页 1 2 3 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]