手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

CentOS 5.8搭建日志管理服务器(syslog-ng+logzilla)

[日期:2012-06-06] 来源:51cto  作者:andyxu [字体: ]

七、配置syslog-nglogzilla

1. mysql的初始化和配置

vi /etc/my.cnf

由于search_cache表采用的是MEMORY存储引擎,有大小的限制,修改一下/etc/my.cnf,添加以下内容:

tmp_table_size=1G

max_heap_table_size=1G

mysql以服务的方式开机启动

chkconfig mysqld on

启动mysql

service mysqld start

设置mysqlroot密码

cd /usr/bin/

mysqladmin -u root -h localhost password 'mysql123456'

登录mysql测试

mysql -u root -p

输入密码:mysql123456

Exit

2.修改syslog-ng配置

syslog-ng初始配置文件备份,我们要重新创建配置文件

mv /usr/local/syslog-ng/etc/syslog-ng.conf /usr/local/syslog-ng/etc/syslog-ng.conf.bak

vi /usr/local/syslog-ng/etc/syslog-ng.conf

  1. ############################################################################# 
  2. Default syslog-ng.conf file which collects all local logs into a 
  3. # single file called /var/log/messages. 
  4.  
  5. @version: 3.3 
  6. @include "scl.conf" 
  7.  
  8. source s_local { 
  9.         system(); 
  10.         internal(); 
  11.         unix-stream("/dev/log");   
  12.         file("/proc/kmsg" program_override("kernel: ")); 
  13. }; 
  14.  
  15. source s_network { 
  16.         udp(ip(0.0.0.0) port(514)); 
  17. }; 
  18.  
  19. destination d_messages { 
  20.         file("/var/log/messages"); 
  21. }; 
  22.  
  23. options { 
  24.       chain_hostnames(off); 
  25.       # doesn't actually help on Solaris, log(3) truncates at 1024 chars 
  26.       log_msg_size(8192); 
  27.       # buffer just a little for performance 
  28.       # sync(1); <- Deprecated - use flush_lines() instead 
  29.       flush_lines(1); 
  30.       # memory is cheap, buffer messages unable to write (like to loghost) 
  31.       log_fifo_size(16384); 
  32.       # Hosts we don't want syslog from 
  33.       #bad_hostname("^(ctld.|cmd|tmd|last)$"); 
  34.       # The time to wait before a dead connection is reestablished (seconds) 
  35.       time_reopen(10); 
  36.       #Use DNS so that our good names are used, not hostnames 
  37.       use_dns(yes); 
  38.       dns_cache(yes); 
  39.       #Use the whole DNS name 
  40.       use_fqdn(yes); 
  41.       keep_hostname(yes); 
  42.       chain_hostnames(no); 
  43.       #Read permission for everyone 
  44.       perm(0644); 
  45.       # The default action of syslog-ng 1.6.0 is to log a STATS line 
  46.       # to the file every 10 minutes.  That's pretty ugly after a while. 
  47.       # Change it to every 12 hours so you get a nice daily update of 
  48.       # # how many messages syslog-ng missed (0). 
  49.       # stats(43200); 
  50. }; 
  51.  
  52. destination d_logzilla { 
  53.    program("/var/www/html/php-syslog-ng/scripts/db_insert.pl" 
  54.    template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n") 
  55.    template_escape(yes) 
  56.    ); 
  57. }; 
  58.  
  59. log { 
  60.         source(s_local); 
  61.  
  62.         # uncomment this line to open port 514 to receive messages 
  63.         source(s_network); 
  64.         destination(d_logzilla); 
  65. }; 

3.修改apache的配置

vi /etc/httpd/conf/httpd.conf

找到以下行,将其修改为下面内容

  1. ServerName www.example.com:80 
  2. DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp index.html.var 
  3. <VirtualHost *:80> 
  4.     ServerAdmin webmaster@log.syslog.com 
  5.     DocumentRoot /var/www/html/php-syslog-ng/html/ 
  6.     ServerName syslog.com.cn 
  7.     ErrorLog logs/syslog.com.cn-error_log 
  8.     CustomLog logs/syslog.com.cn-access_log common 
  9.     Alias /logs "/var/www/html/php-syslog-ng/html/" 
  10.     <Directory "/var/www/html/php-syslog-ng/html/"
  11.         Options Indexes MultiViews FollowSymLinks 
  12.         AllowOverride All 
  13.             Order allow,deny 
  14.             Allow from all 
  15.     </Directory> 
  16. </VirtualHost> 

 4.修改php.ini

vi /etc/php.ini

  1. max_execution_time = 300   # 最大运行时间 
  2. display_errors = On         # 显示所有错误信息 
  3. magic_quotes_gpc = On 

 让apache以服务的方式开机启动

chkconfig httpd on

启动apache

service httpd start

5.自动分隔logzilla日志

cp /var/www/html/php-syslog-ng/scripts/contrib/system_configs/logrotate.d /etc/logrotate.d/logzilla

添加自动运行作业

crontab -e

  1. @daily /usr/bin/php /var/www/html/php-syslog-ng/scrits/logrotate.php >> /var/log/logzilla/logrotate.log 
  2. @daily /usr/bin/find /var/www/html/php-syslog-ng/html/jpcache/ -atime 1 -exec rm -f '{}' ';' 
  3. */5 * * * * /usr/bin/php /www/webroot/php-syslog-ng/scripts/reloadcache.php >> /var/log/logzilla/reloadcache.log 

 logrotate.phpreloadcache.php可执行权限

chmod +x logrotate.php

chmod +x reloadcache.php

6.修改db_insert.pl文件

vi /var/www/html/php-syslog-ng/scripts/db_insert.pl

找到所有包含

/var/www/php-syslog-ng/html/config/config.php

的行,改为

/var/www/html/php-syslog-ng/html/config/config.php

7.配置syslog-ng开机启动

vi /etc/rc.d/rc.local

加入下面行

/usr/local/syslog-ng/sbin/syslog-ng

启动syslog-ng

/usr/local/syslog-ng/sbin/syslog-ng

linux
相关资讯       CentOS教程 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款