天天看點

apache、nignx等日志分析工具

yum install goaccess

如果提示找不到包的話,需要先安裝epel源。

再使用yum install goaccess安裝。

安裝GoAccess

如果你是centos,使用yum:

1

<code>yum </code><code>install</code> <code>goaccess</code>

如果你的yum找不到goaccess,就先安裝epel

2

3

<code>wget http:</code><code>//dl</code><code>.fedoraproject.org</code><code>/pub/epel/6/x86_64/epel-release-6-8</code><code>.noarch.rpm</code>

<code>wget http:</code><code>//rpms</code><code>.famillecollet.com</code><code>/enterprise/remi-release-6</code><code>.rpm</code>

<code>sudo</code> <code>rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm</code>

GoAccess有兩種使用方法,一種是直接在控制台顯示和操作。

當你要立馬分析出今天早上10點到12點的IP通路情況的時候,直接在控制台敲指令是最快的。

另外一種就是生成html檔案或者資料檔案。

如果你希望每天管理的伺服器叢集能給你發送一個昨天通路日志的情況,這個就是不二選擇了。

控制台使用GoAccess

goaccess的參數:

-f : 需要解析的日志檔案

-a --agent-list : 在host子產品是不是能點選IP出現這個IP的user-agentlist,就是出現如圖的功能。

-c --conf-dialog: 是否顯示log和format配置對話視窗。

就是下面的這個視窗

這個視窗有很多可以研究的。

首先,goaccess支援的日志格式有哪些?

Common Log Format (CLF)

通用日志格式,例子:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

主機 使用者身份 作者 [日期] "請求方法 請求路徑 請求協定" 狀态碼 位元組數

NCSA Commbined Log Format

這個是Common Log Format的擴充,例子:

125.125.125.125 - dsmith [10/Oct/1999:21:15:05 +0500] "GET /index.html HTTP/1.0" 200 1043 "http://www.ibm.com/" "Mozilla/4.05 [en] (WinNT; I)" "USERID=CustomerA;IMPID=01234"

主機 使用者身份 作者 [日期] "請求方法 請求路徑 請求協定" 狀态碼 位元組數 referrer 用戶端代理 cookie

W3C

IIS 4.0和5.0是使用這種格式的,例子如下:

複制代碼

#Software: Microsoft Internet Information Server 4.0

#Version: 1.0

#Date: 1998-11-19 22:48:39

#Fields: date time c-ip cs-username s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-bytes time-taken cs-version cs(User-Agent) cs(Cookie) cs(Referrer)

CloudFront

AWS上的日志格式

自定義格式

關于自定義格式所設定的參數說明在這裡

-d --with-output-resolver 在HTML輸出或者json輸出中開啟IP 解析

如果開啟了-d,goaccess就會使用GEOIP來進行IP解析。

-e --exclude-ip=

Host子產品中不需要被統計的IP,比如可以将爬蟲的IP過濾掉

-h --help 幫助文檔

-H --http-protocol 顯示的時候是否帶上HTTP協定資訊

-m --with-mouse 控制台開啟支援滑鼠點選,帶上了m之後,輕按兩下滑鼠就相當于回車的操作

-M --http-method 是否帶上HTTP方法資訊

-H和-M帶上之後效果為:

-o --output-format=csv|json 輸出為csv或者json形式

-p --conf-file=

指定配置檔案,如果你有配置檔案,配置檔案中又恰巧設定了log-format和date,那麼你就不會被強制進入到format對話框了。如果你沒有設定的話,預設使用~/.goacessrc。

-q --no-query-string

忽略請求的參數部分

-r --no-term-resolver

在Host子產品中是否進行IP的解析。加上-r是禁止IP解析。

--no-color

輸出無顔色标示

--real-os

展示真實的作業系統。在Operation System子產品中,是否展示更詳細的作業系統資訊。

如圖:

下面說說的是控制台的鍵盤操作:

F1是打開幫助文檔

F5是重新整理目前視窗

q是退出目前視窗,直到退出程式

o是進入選擇條目

0-9 是選擇子產品

tab和shift+tab是在前後子產品之前切換

j和k是在子產品内部條目切換

s是子產品内部條目排序方式

使用GoAccess生成檔案

說起GoAccess最讓你爽的就是能生成html了,然後每天就可以看個統計報表。

顯示在terminal的互動報表

生成html報表:

生成json報表:

生成csv報表:

     本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1880740,如需轉載請自行聯系原作者