用goaccess 分析 jboss 的access 日志

GoAccess是一款開源的網站日志實時分析工具。

GoAccess 的工作方式就是讀取和解析 Apache/Nginx/Lighttpd/jboss 的訪問日志文件 access

log,然后以更友好的方式把統計信息顯示出來。統計的內容包括:訪問概況、動態頁面請求、靜態頁面請求(如圖片、樣式表、腳本等)、訪客排名,訪客使用

的操作系統,訪客使用的瀏覽器,來路域名,404 錯誤,搜索爬蟲,搜索關鍵詞等等。

GoAccess 的性能比較不錯,據官方測試,在一臺 Intel Xeon CPU @ 2.40ghz CPU, 2GB 內存的機器上處理日志文件的速度是97000行每秒。

下面采用源代碼安裝的方式:

在 CentOS 上安裝編譯 GoAccess 時需要的工具和庫:

# yum groupinstall 'Development Tools'

# yum install glib2 glib2-devel ncurses-devel

另外在 Ubuntu 12.04 上安裝編譯 GoAccess 時需要的工具和庫:

$ sudo apt-get install build-essential

$ sudo apt-get install libglib2.0-dev libncursesw5-dev

下載 GoAccess 的源代碼、編譯和安裝:

$ wget http://downloads.sourceforge.net/project/goaccess/0.7.1/goaccess-0.7.1.tar.gz

$ tar -xzvf goaccess-0.7.1.tar.gz

$ cd goaccess-0.7.1/

$ ./configure --enable-utf8

$ make

$ sudo make install

運行 GoAccess,選擇 NCSA Combined Log Format:

$ goaccess -f /usr/local/nginx/logs/access.log


由于工作需要,服務器用的是JBOSS,所以出現不匹配的問題

JBOSS access 打開方法:

在默認的情況下,JBoss7.1是沒有開啟access_log的,如果要開啟這項功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml這個文件

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">

<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>

<virtual-server name="default-host" enable-welcome-root="true">

<alias name="localhost"/>

<alias name="example.com"/>

<access-log pattern="%v %a %t %r %s %b %u %m" rotate="true">

<directory path="."/>

</access-log>

</virtual-server>

</subsystem>

添加以上黑體部分就可以打開jboss的acess日志功能。其中 pattern="%v %a %t %r %s %b %u %m"用于日志記錄。

參數內容如下:

%a? ? 遠端IP

%A 本地IP

%b??? 發送的字節數,不包含HTTP頭,如果為0,使用”-”

%B??? 發送的字節數,不包含HTTP頭

%h??? 遠端主機名(如果resolveHosts=false),遠端的IP

%H??? 請求協議

%l??? 從identd返回的遠端邏輯用戶名,總是返回’-’

%m??? 請求的方法

%p??? 收到請求的本地端口號

%q??? 查詢字符串

%r??? 請求的第一行

%s 響應的狀態碼

%S??? 用戶的sessionID

%t??? 日志和時間,使用通常的log格式

%u??? 認證以后的遠端用戶(如果存在的話,否則為’-’)

%U??? 請求的URI路徑

%v??? 本地服務器的名稱

%D 處理請求的時間,以毫秒為單位

%T??? 處理請求的時間,以秒為單位


由于goaccess 適用于Apache/Nginx? 對于JBOSS的日志支持不是特別好 下面是apche參數與jboss參數比較

%a 遠端IP地址? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %a? ? 遠端IP?

%A 本機IP地址? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %A 本地IP

%B 除HTTP頭以外傳送的字節數? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %B? ? 發送的字節數,不包含HTTP頭

%b 以CLF格式顯示的除HTTP頭以外傳送的字節數,也就是當沒有字節傳送時顯示’-'而不是0。? ? ? ? ? ? ? ? %b? ? 發送的字節數,不包含HTTP頭,如果為0,使用”-”

%{Foobar}C 在請求中傳送給服務端的cookieFoobar的內容。

%D 服務器處理本請求所用時間,以微為單位。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %D 處理請求的時間,以毫秒為單位

%{FOOBAR}e 環境變量FOOBAR的值

%f 文件名

%h 遠端主機? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %h? ? 遠端主機名(如果resolveHosts=false),遠端的IP

%H 請求使用的協議? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %H? ? 請求協議

%{Foobar}i 發送到服務器的請求頭Foobar:的內容。

%l 遠端登錄名(由identd而來,如果支持的話),除非IdentityCheck設為"On",否則將得到一個"-"。? ? ? ? %l? ? 從identd返回的遠端邏輯用戶名,總是返回’-’

%m 請求的方法? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %m? ? 請求的方法

%{Foobar}n 來自另一個模塊的注解Foobar的內容。

%{Foobar}o 應答頭Foobar:的內容。

%p 服務器服務于該請求的標準端口。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %p? ? 收到請求的本地端口號

%P 為本請求提供服務的子進程的PID。

%{format}P 服務于該請求的PID或TID(線程ID),format的取值范圍為:

%q 查詢字符串(若存在則由一個"?"引導,否則返回空串)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %q? ? 查詢字符串

%r 請求的第一行 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %r? ? 請求的第一行

%s 狀態。對于內部重定向的請求,這個狀態指的是原始請求的狀態,—%>s則指的是最后請求的狀態。? ? ? ? ? %s 響應的狀態碼

%t 時間,用普通日志時間格式(標準英語格式)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %t? ? 日志和時間,使用通常的log格式

%{format}t 時間,用strftime(3)指定的格式表示的時間。(默認情況下按本地化格式)

%T 處理完請求所花時間,以秒為單位。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %T? ? 處理請求的時間,以秒為單位

%u 遠程用戶名(根據驗證信息而來;如果返回status(%s)為401,可能是假的)? ? ? ? ? ? ? ? ? ? ? ? ? ? %u? ? 認證以后的遠端用戶(如果存在的話,否則為’-’)

%U 請求的URL路徑,不包含查詢字符串。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %U? ? 請求的URI路徑

%v 對該請求提供服務的標準ServerName。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %v? ? 本地服務器的名稱

%V 根據UseCanonicalName指令設定的服務器名稱。

%X 請求完成時的連接狀態:X= 連接在應答完成前中斷。

+= 應答傳送完后繼續保持連接。

-= 應答傳送完后關閉連接。

(在1.3以后的版本中,這個指令是%c,但這樣就和過去的SSL語法:%{var}c沖突了)

%I 接收的字節數,包括請求頭的數據,并且不能為零。要使用這個指令你必須啟用mod_logio模塊。

%O 發送的字節數,包括請求頭的數據,并且不能為零。要使用這個指令你必須啟用mod_logio模塊

%S? ? 用戶的sessionID

goaccess使用方法

1、goaccess -f? access.log

2、goaccess -f access.log -p ~/.goaccess? -a > report.html? 用于輸出html報表。

其中.goaccess 為配置文件 內容如下:

time-format %T

date-format %d/%b/%Y

log-format %v %h [%d:%t %^] %m %U %H %^ %s %b %^ %D

其中log-format 中%d 為 date-format?? %t 為time-format

%^為忽略字段,在goaccess參數中 %r 為 %m %U %H 合集。

所以此處%r 用 %m %U %H 代替。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,836評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,203評論 2 33
  • 下面是一個典型的apache訪問日志: 216.35.116.91 - - [19/Aug/2000:14:47:...
    樁i閱讀 1,564評論 0 0
  • ?摘自:https://help.aliyun.com/document_detail/29341.html?sp...
    許你一枝花閱讀 1,963評論 0 4
  • 新虎日精進324(1.5): 1.生產實習半天 2.讀《自在》完結 3.讀《勇敢說不》50頁 4.讀英語30分鐘 ...
    新虎NewTiger閱讀 269評論 0 0