日志分割

使用apache自带的rotatelogs进行分割

  1. vi /etc/httpd.conf
  2. Errorlog "|/usr/bin/rotatelogs -l logs/www.aa.com_error_%Y%m%d.log 86400"
  3. //通过管道把日志文件交给rotatelogs工具 -l指使用本地时间 86400表示日志分割的时间间隔为1天,单位是秒。
  4. ErrorLog “|/usr/bin/rotatelogs -l logs/www.bc.com-error_%Y%m%d%H.log 7200" //两个小时
  5. CustomLog "|/usr/bin/rotatelogs -l logs/www.aa.com_access_%Y%m%d.log 86400"common
  6. //将访问日志以一天为间隔进行分割。
  7. service httpd restart

使用cronolog分割

  1. 1.先添加cronolog压缩包,编译安装
  2. tar -zxvf cronolog-1.6.2.tar.gz
  3. cd cronolog-1.6.2
  4. ./configure && make && make install
  5. 2. 查看路径
  6. which cronolog
  7. 3. 定义日志格式
  8. LogFormat "%h %l %u %t \"%r\"%>s %b" common//定义日志的格式
  9. 4.进入配置文件替换工具路径
  10. #ErrorLog "logs/error_log"
  11. ErrorLog "|/usr/local/sbin/cronolog logs/%Y-%m-%d-error_log"
  12. #CustomLog "logs/access_log" common
  13. CustomLog "|/usr/local/sbin/cronolog logs/%Y-%m-%d- access_log" common
  14. 5.验证
  15. apachectl -t

日志分析

使用perl语言开发的一款开源日志分析系统

配置

  1. #操作流程中出现的文件绝对路径 根据实际安装路径去修改
  2. #1.首先验证cg模块
  3. apachectl -D DUMP_MODULES | grep cgi //确认加载了cgi模块
  4. ls /usr/local/httpd/modules/ | grep cgi //确认是否编译过cgi模块
  5. #2.开启apache的cgi模块
  6. vi /usr/local/httpd/conf/httpd.conf
  7. <IfModule !mpm_prefork_module>
  8. LoadModule cgid_module modules/mod_cgid.so
  9. </IfModule>
  10. <IfModule mpm_prefork_module>
  11. LoadModule cgi_module modules/mod_cgi.so
  12. </IfModule>
  13. #3.编译安装awstats
  14. tar -zxvf awstats-7.6.tat.gz
  15. mv awstats-7.6 /usr/local/awstats
  16. #4.设置apache服务器的域名解析
  17. vi /etc/hosts
  18. 192.168.25.131 www.example.com
  19. grep "ServerName"/etc/httpd.conf//在配置文件中定义主机名为www.example.com
  20. #5.自动执行配置脚本,根据提示回复交互信息
  21. cd /usr/local/awstats/tools
  22. ./awstats_configure.pl
  23. #6.交互
  24. /user/local/httpd/conf/httpd.conf //http配置文件路径
  25. 转换日志格式为combined
  26. 其他选择y然后回车就可以
  27. #7.访问日志站http://192.168.25.130/awstats/awstats.pl?config=www.aa.com
  28. 先记录下来,可以通过IP地址访问
  29. service httpd restart //重启让日志格式生效点
  30. #8.修改awstats主配置文件
  31. vi /etc/awstats/awstats.www.aa.com.conf
  32. LogFile="/usr/local/httpd/logs/access_log" //修改日志文件位置,50
  33. DirData="/var/lib/awstats" //建立每次抓取的数据存放位置,220
  34. #手动创建抓取数据存放目录
  35. mkdir /var/lib/awstats
  36. #9.清空日志
  37. #如果之前修改过日志格式需要清空一下
  38. cd /usr/local/httpd/logs
  39. rm -f *log
  40. service httpd restart /重启
  41. #10.添加awstats访问权限
  42. vi /usr/local/httpd/conf/httpd.conf
  43. <Directory "/usr/local/awstats/wwwroot">
  44. Options None
  45. AllowOverride None
  46. Order allow,deny
  47. Allow from all
  48. Require all granted //添加此配置
  49. </Directory>
  50. #11.手动采集
  51. cd /usr/ local/ awstats/ tools
  52. chmod +x awstats updateall.pl
  53. ./awstats_updateall.pl now7 //手动采集一次数据
  54. perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update //日志出错时,重置更新
  55. /usr/local/awstats/tools/awstats_updateall.pl now再次采集
  56. #使用crontab配置定时采集日志数据
  57. crontab -e
  58. */5 * * * */usr/local/awstats/tools/awstats_updateall.pl now
  59. #12.通过vi /var/www/html/log.html
  60. [root@apache tools]# vim /var/www/html/log.html
  61. [root@apache tools]# cat /var/www/html/log.html
  62. <html>
  63. <head>
  64. <meta http-equiv=refresh content="0;url=http://192.168.25.130/awstats/awstats.pl?config=www.mpmlearning.com">
  65. </head>
  66. <body></body></html>
  67. #最后的访问地址
  68. http://192.168.25.130/log.html