其中需要注意:
MySQL User Name:填入数据库管理用户,其必须有创建数据库和分派权限的能力;
MySQL Password:数据库管理用户的密码;
(可以使用 set password=password('密码');flush privileges;)
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,所以,此时网页中并没有数据的。
可能遇见报时区不正确,修改/etc/php.ini,添加
date.timezone = "Asia/Chongqing"
重启httpd服务
修改脚本路径
cd /var/www/html/php-syslog-ng/scripts
sh fixpaths.sh
注:若php-syslog-ng所在路径有html,需要修改脚本。
配置计划任务
若使用php-syslog-ng对日志进行集中管理,其数据量可能是相当巨大的,必须考虑日志循环的问题。可以使用计划任务实现。
配置计划任务
使用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/ -atime 1 -exec rm -f '{}' ';'
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
※注意:
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
配置日志循环
# cp /var/www/html/php-syslog-ng/scripts/contrib/system_configs/logrotate.d /etc/logrotate.d/php-syslog-ng
至此,php-syslog-ng已经全部配置完成
防火墙开放服务端口
#service iptables start
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/etc/init.d/iptables save
#/etc/init.d/iptables status