设为首页 收藏本站
查看: 947|回复: 0

[经验分享] awstats和jawstats对apache、nginx进行多站点日志分析

[复制链接]

尚未签到

发表于 2018-11-13 10:46:40 | 显示全部楼层 |阅读模式
  一、日志拆分
  1、配置apache使用cronolog:
  由于实验用的apache开启了虚拟主机功能,所以以下配置都在虚拟主机中进行,这样也是为了方便对多站点的分析操作。
  vim /etc/httpd/conf.d/vhosts.conf
  将配置文件中的CustomLog和ErrorLog替换为下面的(由于我们要对多站点,所以这里要替换两个虚拟主机的,并且将日志存放名字做有效的区分才好)
  www.test.com
  CustomLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_%Y%m%d" combined
  ErrorLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_error_%Y%m%d"
  www.test2.com
  CustomLog "|/usr/local/sbin/cronolog logs/www.test2.com_access_log_access_%Y%m%d.log" combined
  ErrorLog "|/usr/local/sbin/cronolog logs/www.test2.com_error_%Y%m%d.log"
  注意:这里一定要注意对两个网站的日志名称配置
  2、使用logrotate对apache进行日志拆分:
  /var/log/httpd/*log {
  daily
  dateext
  copytruncate
  rotate 60
  missingok
  notifempty
  sharedscripts
  postrotate

  /sbin/service httpd>  endscript
  }
  二、awstats配置及生成:
  1、LogFile="/var/log/httpd/www.test.com_access_log-%YYYY-0%MM-0%DD-0"
  LogFile="/var/log/httpd/www.test2.com_access_log-%YYYY-0%MM-0%DD-0"
  对最新的数据进行分析
  2、执行命令:/usr/local/awstats/tools/awstats_updateall.pl now
  3、生成静态文件
  /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
  /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
  4、针对多域名进行脚本crontab执行
  #!/bin/sh
  /usr/local/awstats/tools/awstats_updateall.pl now
  domain_name="access.mopote.com mopote.com"
  for name in $domain_name
  do
  /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
  /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
  done
  crontab添加:
  0 9 * * * (time /usr/local/awstats/awstats_cron.sh)  &> /usr/local/awstats/logs/
  awstats.log
  页面访问:
  http://localhost/awstats/awstats.pl?config=mopote.com
  三、AWStats扩展GeoIP
  1、GeoIP插件整合到awstats中,实现IP反向解析归属地功能。
  数据库下载地址:http://dev.maxmind.com/zh-hans/geoip/legacy/geolite/
  分别下载:
  1、国家数据库     2、城市数据库    3、运营商
  下载后分别放置到awstats的配置文件目录下。
  注: geo已经发布geolite2,但文件格式为mmdb,而不是dat格式。暂时好像awstats不支持。
  2、安装相应的perl模块
  perl -MCPAN -e 'install "Geo::IP"'
  perl -MCPAN -e 'install "Geo::IPfree"'
  perl -MCPAN -e 'install "Net::XWhois"'
  perl -MCPAN -e 'install "Encode"'
  perl -MCPAN -e 'install "URI::Escape"'
  3、先下载安装C库
  wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz
  tar -zxf GeoIP-1.4.8.tar.gz
  cd GeoIP-1.4.8/
  ./configure --prefix=/usr/local/GeoIP
  make && make install
  由于编译GeoIP时自定义了安装路径,所以这里需要加载关联GeoIP模块库
  # echo '/usr/local/GeoIP/lib' >> /etc/ld.so.conf
  # /sbin/ldconfig /etc/ld.so.conf
  4、下载Perl库
  wget http://geolite.maxmind.com/download/geoip/api/perl/Geo-IP-1.40.tar.gz
  tar vzxf Geo-IP-1.40.tar.gz
  cd Geo-IP-1.40/
  perl Makefile.PL LIBS='-L/usr/local/GeoIP/lib' INC='-I/usr/local/GeoIP/include'
  make && make install
  5、修改配置文件 ,开启相应模块
  LoadPlugin="hostinfo"
  LoadPlugin="decodeutfkeys"
  LoadPlugin="graphgooglechartapi"
  LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/etc/GeoIP.dat"
  LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoLiteCity.dat"
  LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoIPASNum.dat"
  6、更新配置
  /usr/local/awstats/tools/awstats_updateall.pl now
  四、对nginx日志进行分析统计
  1、对nginx日志格式进行变更
  log_format  awstats  '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';
  2、对awstats配置文件进行变更:
  #LogFormat=1         关闭默认的apache格式
  LogFormat="%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot %otherquot"
  3、用awstats生成数据文件
  五、结合jawstats显示数据
  配置请参考 :http://www.jawstats.com/documentation
  // core config parameters
  $sDefaultLanguage      = "en-gb";
  $sConfigDefaultView    = "thismonth.all";
  $bConfigChangeSites    = true;        #多站点切换开关
  $bConfigUpdateSites    = false;        #页面更新开关
  $sUpdateSiteFilename   = "xml_update.php";
  // individual site configuration
  $aConfig["mopote.com"] = array(
  "statspath"   => "/usr/local/awstats/data/",
  "updatepath"  => "//usr/local/awstats/wwwroot/cgi-bin/awstats.pl/",
  "siteurl"     => "http://mopote.com",
  "sitename"    => "mopote.com",
  "theme"       => "default",
  "fadespeed"   => 250,
  "password"    => "sky1",
  "includes"    => "",
  "language"    => "en-gb"
  );
  $aConfig["access.mopote.com"] = array(
  "statspath"   => "/usr/local/awstats/data/",
  "updatepath"  => "//usr/local/awstats/wwwroot/cgi-bin/awstats.pl/",
  "siteurl"     => "http://access.mopote.com",
  "sitename"    => "access.mopote.com",
  "theme"       => "default",
  "fadespeed"   => 250,
  "password"    => "sky2",
  "includes"    => "",
  "language"    => "en-gb"
  );
  六、故障处理:
  官网下的程序有个小bug。可能是因为0.7是beta版本的原因吧。如果你访问JAWStats时,出现的是空白页的话。可按下面的方法修改解决:
  修改jawstats目录中的index.php,将258行上
  #修改前

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-634491-1-1.html 上篇帖子: 关于编译的yum安装nginx出现404页面原因 下篇帖子: nginx负载均衡后端RS中获取真实ip
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表