1. 程式人生 > >tomcat訪問日誌分析

tomcat訪問日誌分析

常使用web伺服器的朋友大都瞭解,一般的web server有兩部分日誌:

  1. 一是執行中的日誌,它主要記錄執行的一些資訊,尤其是一些異常錯誤日誌資訊
  2. 二是訪問日誌資訊,它記錄的訪問的時間,IP,訪問的資料等相關資訊。

現在我來和大家介紹一下利用tomcat產生的訪問日誌資料,我們能做哪些有效的分析資料?
首先是配置tomcat訪問日誌資料,預設情況下訪問日誌沒有開啟,配置的方式如下:
編輯 ${catalina}/conf/server.xml 檔案.
(注: ${catalina}是tomcat的安裝目錄,把以下的註釋()去掉即可。)

<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"  prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->

其中 directory是產生的目錄 tomcat安裝${catalina}作為當前目錄,pattern表示日誌生產的格式,common是tomcat提供的一個標準設定格式。
其具體的表示式為 %h %l %u %t "%r" %s %b
但本人建議採用以下具體的配置,因為標準配置有一些重要的日誌資料無法生。
%h %l %u %t "%r" %s %b %T

具體的日誌產生樣式說明如下(從官方文件中摘錄):

%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 resolveHosts is 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

There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest. It is modeled after the apache syntax:

%{xxx}i for incoming headers
%{xxx}c for a specific cookie
%{xxx}r xxx is an attribute in the ServletRequest
%{xxx}s xxx is an attribute in the HttpSession

現在我們回頭再來看一下下面這個配置 %h %l %u %t "%r" %s %b %T 生產的訪問日誌資料,我們可以做哪些事?
先看一下,我們能得到的資料有:

  • %h 訪問的使用者IP地址
  • %l 訪問邏輯使用者名稱,通常返回'-'
  • %u 訪問驗證使用者名稱,通常返回'-'
  • %t 訪問日時
  • %r 訪問的方式(post或者是get),訪問的資源和使用的http協議版本
  • %s 訪問返回的http狀態
  • %b 訪問資源返回的流量
  • %T 訪問所使用的時間

有了這些資料,我們可以根據時間段做以下的分析處理(圖片使用jfreechart工具動態生成):

  • 獨立IP數統計
  • 訪問請求數統計
  • 訪問資料檔案數統計
  • 訪問流量統計
  • 訪問處理響應時間統計
  • 統計所有404錯誤頁面
  • 統計所有500錯誤的頁面
  • 統計訪問最頻繁頁面
  • 統計訪問處理時間最久頁面
  • 統計併發訪問頻率最高的頁面

分析工具包括兩大部分:

  1. 第一個是後臺解釋程式,每天執行一次對後臺日誌資料進行解析後儲存到資料庫中。
  2. 第二個是顯示程式,從資料庫中查詢資料並生成相應的圖表資訊。

參考原文地址:

相關推薦

tomcat訪問日誌分析

常使用web伺服器的朋友大都瞭解,一般的web server有兩部分日誌: 一是執行中的日誌,它主要記錄執行的一些資訊,尤其是一些異常錯誤日誌資訊 二是訪問日誌資訊,它記錄的訪問的時間,IP,訪問的資料等相關資訊。 現在我來和大家介紹一下利用tomcat產生的訪問日誌資料,我們能做哪些有效的分析資料?

spark2.x-jvm調優實戰(以tomcat訪問日誌分析為例)

背景 如果在持久化RDD的時候,持久化了大量的資料,那麼Java虛擬機器的垃圾回收就可能成為一個性能瓶頸。因為Java虛擬機器會定期進行垃圾回收,此時就會追蹤所有的java物件,並且在垃圾回收時,找到那些已經不在使用的物件,然後清理舊的物件,來給新的物件騰出記

tomcat訪問日誌詳解

tomcat訪問日誌詳解tomcat日誌 tomcat日誌配置在server.xml裏的<host>標簽下加上<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localh

Web 訪問日誌分析

doc 網關 指定 位置 發送 網站 conf httpd 指令 用途 記錄訪問服務器的遠程主機 IP 地址,可以得知瀏覽者來自何處 記錄瀏覽者訪問 web 資源,可以了解網站哪些部分最受歡迎 記錄瀏覽者使用瀏覽器,可以根據大多數瀏覽者使用瀏覽器對站點進行優化 記錄瀏覽者

Dockerfile-tocmat:基於dockerhub的tomcat訪問日誌配置封裝

1.需求變了,需要不依賴本地映象,之前那個需要依賴本地映象,需要一個可移植、不依賴本地配置的dockerfile FROM tomcat:8.0 2 # author 3 # MAINTAINER admin <[email protected]> 4 # put t

spring boot Tomcat訪問日誌

1.Tomcat設定訪問日誌 1 <Host name="localhost" appBase="webapps" 2 unpackWARs="true" autoDeploy="true"> 3 <!-- 4 <

nginx前端,tomcat後端伺服器獲取客戶的真實IP,包括tomcat訪問日誌獲取真實IP的配置

原文連結https://blog.csdn.net/teddy17/article/details/51744119 在安裝完以nginx+tomcat的WEB伺服器,使用預設的配置,會導致伺服器上的日誌檔案,只有nginx日誌能獲取到客戶的真實IP,而tomcat以及上面的JAVA WEB應用

idea 開啟 tomcat 訪問日誌記錄

所有 技術分享 inf cat bsp 開啟 bubuko 請求 記錄 all 為 設置為 查看所有類型的請求 (包括ajax) idea 開啟 tomcat 訪問日誌記錄

Tomcat訪問日誌淺析

<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="localhost_access_log."suffix=".txt"pattern="%s %D

tomcat 訪問日誌配置

在tomcat的server.xml檔案中,host主機配置區域找到類似如下(紅色部分)即為訪問日誌的配置:  <Host name="localhost"  appBase="webapps"             unpackWARs="true" aut

python腳本分析nginx訪問日誌

char data uri Coding php utf8 客戶 read oot 日誌格式如下: 223.74.135.248 - - [11/May/2017:11:19:47 +0800] "POST /login/getValidateCode HTTP/1.1"

shell 腳本分析nginx 訪問日誌狀態碼

shell 腳本分析 nginx 1.獲取nginx 日誌訪問狀態碼;grep -ioE "HTTP\/1\.[1|0]\"[[:blank:]][0-9]{3}" nginx_app.api.zhaoyifen.ssl.log grep -ioE "HTTP\/1\.[1|0]\"[[:blan

今晚九點|如何使用 Python 分析 web 訪問日誌

python 日誌 主題:如何使用 Python 分析 Web 訪問日誌 內容 Python 基礎 字符串、字典、文件、時間 Web 訪問日誌 實戰 提問 主講師:KK 多語言混搭工程師,熱愛開源技術,喜歡GET新技能,5年 PHP、Python 項目開發經驗,帶領團隊完成多個中、

16.4-16.8 Tomcat監聽80端口,Tomcat的虛擬主機,訪問日誌

Tomcat Tomcat虛擬主機 Tomcat訪問日誌 16.4 配置Tomcat監聽80端口大綱Tomcat默認監聽8080端口,如果想修改監聽80端口,則需要修改Tomcat的配置文件,server.xml1 修改server.xml#vim /usr/local/tomcat/conf/s

Python分析web訪問日誌

Python分析web訪問日誌Python分析web訪問日誌 通用日誌格式127.0.0.1 - - [14/May/2017:12:45:29 +0800] "GET /index.html HTTP/1.1" 200 4286遠程 - - 主機 IP 請求時間 時區 方法 資源 協

squid緩存服務器 ACL訪問控制 傳統代理 透明代理 squid日誌分析 反向代理

process httpd tex 訪問日誌 單獨 bin 雙網卡 客戶機 requests 緩存代理概述 Squid提供了強大的代理控制機制,通過合理的設置ACL,並進行限制,可以針對源地址、目標地址、訪問的URL路徑、訪問的時間等條件進行過濾。作為應用層的代理服務器軟

Squid代理--經典緩存代理服務器(實現正向代理配置、ACL各種訪問控制、日誌分析

ply tput client img 連接 dst term prefix 內存空間 Squid是Linux系統中常用的一款開源代理服務軟件官方網站http://www.squid-cache.org , 可以很好的實現http、ftp、dns查詢,以及ssl等應用的緩存

Squid-4.1 ACL訪問控制、日誌分析和反向代理

找到 51cto list conf 博客 使用 配置文件 ESS 找不到 Squid-4.1ACL訪問控制、日誌分析和反向代理 ACL訪問控制 Squid提供了強大的代理控制機制,通過結合設置ACL(Access Control List,訪問控制列表)並進行限制,可以針

squid代理服務的ACL訪問控制、日誌分析及反向代理(4.1版本)

運行 部署 安裝 logs com 日誌文件 gcc 客戶端請求 inter squid代理服務的ACL訪問控制、日誌分析及反向代理 squid的ACL訪問控制列表 squid提供了強大的代理控制機制,通過合理的設置ACL(Access Control List,訪問控制列

Squid代理服務器的ACL訪問控制和日誌分析

無需 連接 amp 文件 over fig url路徑 install 字符集 系統環境: 代理服務器(192.168.100.135): YUM默認安裝無需配置即為標準正向代理模式,但是需對客戶端瀏覽器代理服務器進行設置(port:3128) yum instal