jboss7访问日志功能及使用goaccess工具分析
网络上虽然很多文章分别讲到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工具分析的更多相关文章
- nginx配置之错误和访问日志功能
错误日志功能:logs/error.log nginx.conf中: #error_log logs/error.log; #error_log logs/error.log notice; #err ...
- 采集并分析Nginx访问日志
日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析 ...
- 利用GoAccess分析Nginx访问日志
原文链接:https://blog.csdn.net/yown/article/details/56027112 需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! ...
- Nginx服务编译安装、日志功能、状态模块及访问认证模式实操
系统环境 [root@web ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@web ~]# uname -a Linux d ...
- 01Spring_基本jia包的导入andSpring的整体架构and怎么加入日志功能
1.什么是Spring : v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:u ...
- MySQL日志功能详解
MySQL日志功能详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询日志 它是用来保存所有跟查询相关的日志,这种日志类型默认是关闭状态的,因为MySQL的用户有很多,如果 ...
- 使用 awstats 分析 Nginx 的访问日志(IBM)
前言 在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问 ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- 使用awstat分析Nginx的访问日志
在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问情况, ...
随机推荐
- Android SDK的docs访问速度很慢(新)
#设置环境变量 名称:ANDROID_SDK_HOME 值:我的为-->E:\android\android-sdk #代码编译及运行 1.把下面的代码保存为:AndroidDocRepair. ...
- sealed修饰符
sealed(C# 参考) 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承. class A {} s ...
- Hadoop学习3--安装ssh服务
题前语:为什么要安装这个东西呢? 是因为我们要在多台机器之间通信,这个服务就相当于支持这种通信的一个桥梁,打个比喻,相当于windows里,通过远程桌面连接到其他机器. 所以,安装这个服务,的目的是: ...
- JDK1.7新特性
jdk1.7新特性 1 对集合类的语言支持: 2 自动资源管理: 3 改进的通用实例创建类型推断: 4 数字字面量下划线支持: 5 switch中使用string: 6 二进制字面量: 7 简化可变参 ...
- POJ2226 Muddy Fields 二分匹配 最小顶点覆盖 好题
在一个n*m的草地上,.代表草地,*代表水,现在要用宽度为1,长度不限的木板盖住水, 木板可以重叠,但是所有的草地都不能被木板覆盖. 问至少需要的木板数. 这类题的建图方法: 把矩阵作为一个二分图,以 ...
- Oracle 数据库中不同事务并发访问的问题
现象 以SQL/Helper为例,打开不同的SQL窗口,对同一个表格进行操作,如下所示. 窗口1:当执行更新任务.紧接着执行查询时获得一组查询结果.结果是对的. 窗口2:而在另外一个SQL查询窗口中执 ...
- python深入走路
Python描述符(descriptor)解密 http://www.geekfan.net/7862/
- linux命令(11)下查看和添加环境变量
&PATH:决定了shell将到哪些目录中去寻找命令或者程序,PATH值是一系列的目录,当你要运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑PATH 声明,其格式为: PATH ...
- 获取js提交数据
无论是ajax(以XMLHttpRequest方式传输)还是表单的Get或Post方式提交(以HTTP方式传输),在asp.net中,get都是通过Request.QueryString[" ...
- ruby字符串学习笔记5
1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] ...