网络上虽然很多文章分别讲到jboss7的访问日志如何配置,goaccess工具怎么分析nginx/tomcat等日志。
但将两者放在一起即“通过goaccess分析jboss访问日志”的倒是没搜索到。
     本文通过三节来介绍:
     1. jboss开启访问日志功能。
     2. goacess介绍及原理(个人理解的原理)
     3. 如何使用goaccess解析分析jboss的access.log
参考:
     http://chandank.com/application-server/tomcat/jboss-7-access-log-configuration
     https://www.goaccess.io/

一. 开启jboss的访问日志功能
     首先jboss7及之后版本相较之前版本发生比较大的调整,配置方式大不相同,此处展示jboss7及之后版本如何配置,
之前版本如何配置请自行搜索。
      以standalone模式配置为例
         1. 配置文件所在路径 ${jbossHome}\standalone\configuration
         2. 打开standalone.xml ,找到 <virtual-server>节点
         3. 在节点中加入如下内容
             <access-log pattern="%a %t %U %s %D" prefix="access_log." rotate="true">
                  <directory path="." relative-to="jboss.server.log.dir"/>
             </access-log>
         4. 重启即可看到${jbossHome}\standalone\log\目录下生成access_log

pattern即定义accessLog需要记录哪些内容。具体参照如下
             %a- Remote IP address
             %A- Local IP address
             %b- Bytes sent, excluding HTTP headers, or '-' if zero
             %B- Bytes sent, excluding HTTP headers
             %h- Remote host name (or IP address if resolveHostsis false)
             %H- Request protocol
             %l- Remote logical username from identd (always returns '-')
             %m- Request method (GET, POST, etc.)
             %p- Local port on which this request was received
             %q- Query string (prepended with a '?' if it exists)
             %r- First line of the request (method and request URI)
             %s- HTTP status code of the response
             %S- User session ID
             %t- Date and time, in Common Log Format
             %u- Remote user that was authenticated (if any), else '-'
             %U- Requested URL path
             %v- Local server name
             %D- Time taken to process the request, in millis
             %T- Time taken to process the request, in seconds
             %I- current request thread name (can compare later with stacktraces)

二. goaccess 介绍及原理
     1.据称linux下最好用的日志分析工具
     2.我见过用过的最好的日志分析工具,简单,快,非常灵活
     3.分析结果生成的页面非常精美,符合领导口味,自己也省事。
     4.完全免费,项目网站: https://www.goaccess.io/

访问日志分析原理:
           要分析,首先要能提取并识别日志中的有用信息。 而accessLog的特点就是日志本身的格式相对固定。
     比如上节我配置的jboss accessLog pattern="%a %t %U %s %D" 打印出来就如下:
           10.108.67.90 [25/Jul/2016:11:56:39 +0800] /fltDynInfo/restJson/0323/20160725 200 1103
           10.108.68.251 [25/Jul/2016:14:20:16 +0800] /fltDynInfo/restJson/3167/20160723 200 579
           10.108.68.251 [25/Jul/2016:14:33:31 +0800] /fltDynInfo/restJson/detail/3167/20160723/CAN/TSN 200 185
           10.108.68.251 [25/Jul/2016:14:33:55 +0800] /fltDynInfo/restJson/detail/3167/20160723/TSN/CAN 200 265
           10.108.68.251 [25/Jul/2016:14:35:47 +0800] /fltDynInfo/restJson/detail/3167/20160723/TSN/WUH 200 12

goaccess的配置文件最主要的作用之一就是让你可以定义分析目标的每行日志的格式(分割符是什么,以该分割符划分的字段依次代表什么含义)。
     它定义的方式和上节jboss pattern的配置是类似的。 下图是从它官网上截取的goaccess对访问日志字段的定义
     
     如上图最后几行所说,要使用goaccess,你必须要至少指定 %h, %t, %r(%r可由相似的定义代替,如%U)

三. 使用goaccess分析 jboss access.log
       通过上2节,应该已经明了要完成此项工作只需恰当配置goaccess的提取格式,使其识别并对应提取access.log的信息。
 通常配置goaccess只需三步。 即配置 time-Format, date-Format ,log-Format
 配置文件名称goaccess.conf,通常在 /etc/, /usr/etc/ or /usr/local/etc/

不管什么日志,时间是不可或缺的, time-Format, date-Format 通过配置 时分秒 和 日期在log中的展示格式, 
  以使得能够正确解析。goaccess配置文件中以及预置了好几种格式供选择。
  比如我access.log打印的时间格式是 25/Jul/2016:11:56:39,那对应 time-Format %H:%M:%S,date-format %d/%b/%Y

logFormat则根据日志打印的内容以及上图所示goaccess的定义符。
       比如我jboss打印的日志 pattern="%a %t %U %s %D" 含义是 “访问ip 访问时间 URL 响应状态 响应时长ms”
       对应按照goaccess的定义。 log-format %h [%d:%t %^] %U %s %D 含义是“clientIp [日期:时间 忽略] URL 响应状态 响应时长ms”

如此,就配置好了。 goaccess支持众多参数支持多种分析形式·多种结果格式·多种分析条件的分析,具体请查看官网的man page       
       此处进行最简单的分析,并生成html:
       goaccess -f access.log -a -o report.html

贴几张分析结果的截图,基本上常用的维度它都有包含,具体看官网介绍:

jboss7访问日志功能及使用goaccess工具分析的更多相关文章

  1. nginx配置之错误和访问日志功能

    错误日志功能:logs/error.log nginx.conf中: #error_log logs/error.log; #error_log logs/error.log notice; #err ...

  2. 采集并分析Nginx访问日志

    日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析 ...

  3. 利用GoAccess分析Nginx访问日志

    原文链接:https://blog.csdn.net/yown/article/details/56027112 需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! ...

  4. Nginx服务编译安装、日志功能、状态模块及访问认证模式实操

    系统环境 [root@web ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@web ~]# uname -a Linux d ...

  5. 01Spring_基本jia包的导入andSpring的整体架构and怎么加入日志功能

    1.什么是Spring : v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:u ...

  6. MySQL日志功能详解

    MySQL日志功能详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询日志 它是用来保存所有跟查询相关的日志,这种日志类型默认是关闭状态的,因为MySQL的用户有很多,如果 ...

  7. 使用 awstats 分析 Nginx 的访问日志(IBM)

    前言 在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问 ...

  8. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  9. 使用awstat分析Nginx的访问日志

    在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问情况, ...

随机推荐

  1. ASP.NET动态加载Js代码到Head标签中(三种方法)

    方法一代码如下: HtmlGenericControl Include2 = new HtmlGenericControl("script"); Include2.Attribut ...

  2. 嵌入式设计模式:有限状态自动机的C语言实现

    转自:http://www.cnblogs.com/autosar/archive/2012/06/22/2558604.html 状态机模式是一种行为模式,在<设计模式>这本书中对其有详 ...

  3. 修改mongodb oplog size

    转载地址:http://blog.csdn.net/huwei2003/article/details/43307647 修改mongodb oplog size oplog简介: oplog:ope ...

  4. 尽量使用条件属性(Conditional Attribute)而不是#if/#endif预处理

    http://www.cnblogs.com/JiangSoney/archive/2009/08/10/1543197.html .net框架提供了一个特性:属性(Attribute),注意:此属性 ...

  5. Java事务处理全解析(二)——失败的案例

    在本系列的上一篇文章中,我们讲到了Java事务处理的基本问题,并且讲到了Service层和DAO层,在本篇文章中,我们将以BankService为例学习一个事务处理失败的案例. BankService ...

  6. (WPF, MVVM) Event 处理

    WPF的有些UI元素有Command属性可以直接实现绑定,如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢? 答案就是使用EventTrigger可以实现. 继 ...

  7. spring学习笔记2(转)

    1.在Java开发领域,spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书<Expert one-on-one J2EE Design and Deve ...

  8. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  9. PLSQL_性能优化系列05_Oracle Hint提示

    2014-06-20 Created By BaoXinjian

  10. IGS_学习笔记10_IREP监控SOA Integration和日志设定(案例)

    20150506 Created By BaoXinjian