您好,登錄后才能下訂單哦!
本篇內容主要講解“如何實現shell統計pv和uv獨立ip”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現shell統計pv和uv獨立ip”吧!
Nngix輸出的access log文件如下:
日志文件代碼
代碼如下:
192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /index.html HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /poweredby.png HTTP/1.1" 200 3034 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
192.168.1.177 - - 1007071650 [05/Nov/2011:16:06:59 +0800] "GET /favicon.ico HTTP/1.1" 404 3650 "-" "Chrome/15.0.874.106" "-"
192.168.1.178 - - 58565468 [05/Nov/2011:16:17:40 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" "-"
192.168.1.166 - - 119272312 [05/Nov/2011:16:17:40 +0800] "GET /nginx-logo.png HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
PV很簡單,大致就是統計某個URL的訪問次數,例如統計/index.html的訪問次數
代碼如下:
grep "/index.html" /var/log/nginx/access.log –c
UV呢,我們根據用戶標識(第四列) ,首先需要字符串截取,使用cut命令,以空格符號分割,-d “ ”, 再取第四列-f 4,然后這里需要排重,需要使用uniq工具,uniq速度很快,但是基于就近排重,前一個后一個一樣會排重,之間間隔了不一樣的,就不行了,這就必須使用sort工具來對標識符進行排序,排序后再使用uniq工具就可以達到目的,之間我們用管道符號鏈接, 最后再用 wc –l 輸出統計數
比如我們統計訪問了/index.html這也頁面的uv:
代碼如下:
grep "/index.html" /var/log/nginx/access.log | cut –d “ ” –f 4| sort | uniq | wc –l
獨立IP:
假設我們要統計整站的獨立IP,那么我們不需要使用 grep來匹配具體頁面,只需要使用cat輸出即可:
代碼如下:
cat /var/log/nginx/access.log | cut –d “ ” –f 1 | sort| uniq | wc -l
到此,相信大家對“如何實現shell統計pv和uv獨立ip”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。