time_local
: 請求的時間remote_addr
: 客戶端的 IP 地址request_method
: 請求方法request_schema
: 請求協議,常見的 http 和 httpsrequest_host
: 請求的域名request_path
: 請求的 path 路徑request_query
: 請求的 query 參數request_size
: 請求的大小referer
: 請求來源地址,假設你在 a.com 網站下貼了 b.com 的連接,那麼當用戶從 a.com 點擊訪問 b.com 的時候,referer 記錄的就是 a.com ,這個是瀏覽器的行爲user_agent
: 客戶端瀏覽器相關信息status
: 請求的響應狀態request_time
: 請求的耗時bytes_sent
: 響應的大小不少時候咱們會使用負載網關去代理轉發請求給實際的後端服務,這時候請求日誌還會包括如下數據:後端
upstream_host
: 代理轉發的 hostupstream_addr
: 代理轉發的 IP 地址upstream_url
: 代理轉發給服務的 urlupstream_status
: 上游服務返回的 statusproxy_time
: 代理轉發過程當中的耗時客戶端 IP 地址能夠衍生出如下數據:瀏覽器
asn 相關信息:網絡
asn_asn
: 自治系統編號,IP 地址是由自治系統管理的,好比中國聯通上海網就管理了全部上海聯通的IPas_org
: 自治系統組織,好比中國移動、中國聯通geo 地址位置信息:架構
geo_location
: 經緯度geo_country
: 國家geo_country_code
: 國家編碼geo_region
: 區域(省份)geo_city
: 城市user_agent
能夠解析出如下信息:elasticsearch
ua_device
: 使用設備ua_os
: 操做系統ua_name
: 瀏覽器PV
/ QPS
: 頁面瀏覽次數 / 每秒請求數UV
: 訪問的用戶人數,不少網站用戶無序登陸也能訪問,這時能夠根據 IP + user_agent 的惟一性肯定用戶IP
數 : 訪問來源有多少個 IP 地址
<br/>網站
request_size
請求的大小計數網絡流入流量,bytes_sent
響應大小計算網絡流出流量
<br/>編碼
referer
來源分析
<br/>url
geo
數據
<br/>spa
user_agent
提取數據
<br/>操作系統
請求耗時統計:根據 request_time
數據
<br/>
響應狀態監控:根據 status
數據
<br/>
結合業務分析:請求的 request_path
地址和 request_query
參數必定是對應具體業務的,例如
request_path
對應的就是對相冊進行了一次訪問/search?q=<關鍵詞>
,那麼統計 request_path
是 /search
的日誌條數就能夠知道進行了多少次搜索,統計 request_query
中 q
的參數就能夠知道搜索關鍵詞的狀況日誌系統使用 ELK + kafka 構建是業界比較主流的方案,beats、 logstash 進行日誌採集搬運,kafka 存儲日誌等待消費,elasticsearch 進行數據的聚合分析,grafana 和 kibana 進行圖形化展現。