以前都利用apache的日誌來作分析統計的,因爲如今使用了阿里雲的SLB直接轉發到後端tomcat應用服務器.沒法查看到相關日誌行爲。web
查了度娘才知道原來tomcat自身日誌能夠記錄到用戶訪問IP,方式,狀態,流量等。apache
轉載引用下如下仁兄的博文,也給各位做個參考:後端
常使用web服務器的朋友大都瞭解,通常的web server有兩部分日誌:
一是運行中的日誌,它主要記錄運行的一些信息,尤爲是一些異常錯誤日誌信息
二是訪問日誌信息,它記錄的訪問的時間,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?
具體的日誌產生樣式說明以下(從官方文檔中摘錄):
tomcat
%a - 遠端IP地址 服務器
%A - 本地IP地址 cookie
%b - 發送的字節數,不包括HTTP頭,若是爲0,使用"-" session
%B - 發送的字節數,不包括HTTP頭 併發
%h - 遠端主機名(若是resolveHost=false,遠端的IP地址) ide
%H - 請求協議 工具
%l - 從identd返回的遠端邏輯用戶名(老是返回 '-')
%m - 請求的方法(GET,POST,等)
%p - 收到請求的本地端口號
%q - 查詢字符串(若是存在,以 '?'開始)
%r - 請求的第一行,包含了請求的方法和URI
%s - 響應的狀態碼
%S - 用戶的session ID
%t - 日誌和時間,使用一般的Log格式
%u - 認證之後的遠端用戶(若是存在的話,不然爲'-')
%U - 請求的URI路徑
%v - 本地服務器的名稱
%D - 處理請求的時間,以毫秒爲單位
%T - 處理請求的時間,以秒爲單位
另外還能夠將cookie, 客戶端請求中帶的HTTP頭(incoming header), 會話(session)或是ServletRequest中的數據都寫到Tomcat的訪問日誌中,你能夠用下面的語法來引用。
%{xxx}i – 記錄客戶端請求中帶的HTTP頭xxx(incoming headers)
%{xxx}c – 記錄特定的cookie xxx
%{xxx}r – 記錄ServletRequest中的xxx屬性(attribute)
%{xxx}s – 記錄HttpSession中的xxx屬性(attribute)
* 統計併發訪問頻率最高的頁面
根據本身需求:設置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %T" />
設置好後,從新啓動tomcat便可
查看localhost_access_log日誌以下:
192.168.1.215 - - [20/Mar/2014:15:33:54 +0800] "GET /sso/serviceValidate?service=http%3A%2F%2Fwww.cit.com%3A80%2Fchange%2Fparser.ctrl%3F%24action%3DsaveUserConfig&ticket=ST-45-5DAyuDeZeatCdrCrKHeA-sso&webServerIPandPort=http://192.168.1.215:8080 HTTP/1.1" 200 298 "-" "Java/1.6.0_13"
轉載自:http://blog.csdn.net/chengg0769/article/details/1741739