网络上虽然很多文章分别讲到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. LinearLayout属性baselineAligned的作用及baseline

    相信大家对LinearLayout已经相当熟悉,但你们是否了解它的属性baselineAligned呢? Android官方文档是这么描述的:

  2. jQuery实现文字放大效果

    实现效果:当鼠标移动到超链接的那一瞬间就出现提示. <!DOCTYPE html> <html> <head> <meta charset="UTF ...

  3. redis客户端jedis连接和spring结合

    摘自传智博客课程 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="htt ...

  4. Redis-sentinel监控

    Sentinel介绍 Redis的 Sentinel 系统用于管理多个Redis服务器, 该系统执行以下三个任务: 监控(Monitoring) 提醒(Notification) 自动故障迁移(Aut ...

  5. java-多态性

    1 多态性 主要表现在上转型对象 2 强制类型转换 2.1 基本类型的强制类型转换 转换只能在数值间进行.包括整数型.字符型.浮点型.数值类型和布尔类型间不能转换. 2.2 引用类型变量转换成其子类型 ...

  6. 拒绝了对对象 '**' (数据库 'db',架构 'dbo')的 SELECT 权限

    操作次数据库的用户的权限不够,因此只需要赋予相应的权限即可 MSSQL2005:具体数据库(xxx) --- 安全性---- 架构---- dbo(属性)--- 权限--- 添加--- 浏览-- [p ...

  7. 战胜忧虑<5>——运用亚里士多德法则

    运用亚里士多德法则 如果人们将忧虑的时间,用来寻找解决问题的答案,那忧虑就会在人们智慧的光芒下消失.那么当你面对忧虑时,应该怎么办理?答案是,我们一定要学会用下面三种分析问题的基本步骤来解决各种不同的 ...

  8. Java-螺旋方阵

    用Java实现螺旋方阵 螺旋方阵:是指呈螺旋状的矩阵. 具体实现如下: public void screwMatrix() { System.out.print("请输入数字:") ...

  9. 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘

    建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...

  10. de.greenrobot.event.EventBusException: Subscriber class dji.midware.a.e already registered to event class

    java.lang.RuntimeException: Unable to create application com.android.tools.fd.runtime.BootstrapAppli ...