一、nginx日志結構
nginx中access.log 的日志結構: $remote_addr 客戶端地址 211.28.65.253 $remote_user 客戶端用戶名稱 -- $time_local 訪問時間和時區 18/Jul/2012:17:00:01 +0800 $request 請求的URI和HTTP協議 "GET /article-10000.html HTTP/1.1" $http_host 請求地址,即瀏覽器中你輸入的地址(IP或域名) www.it300.com 192.168.100.100 $status HTTP請求狀態 200 $upstream_status upstream狀態 200 $body_bytes_sent 發送給客戶端文件內容大小 1547 $http_referer url跳轉來源 https://www.baidu.com/ $http_user_agent 用戶終端瀏覽器等信息 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C; $ssl_protocol SSL協議版本 TLSv1 $ssl_cipher 交換數據中的算法 RC4-SHA $upstream_addr 后台upstream的地址,即真正提供服務的主機地址 10.10.10.100:80 $request_time 整個請求的總時間 0.205 $upstream_response_time 請求過程中,upstream響應時間 0.002
二、PV、UV、IP
PV(訪問量):即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次。 UV(獨立訪客):即Unique Visitor,訪問您網站的一台電腦客戶端為一個訪客。00:00-24:00內相同的客戶端只被計算一次。 IP(獨立IP):即Internet Protocol,指獨立IP數。00:00-24:00內相同IP地址之被計算一次。
nginx統計網站訪問量:
根據訪問ip統計UV awk '{print $1}' access.log|sort | uniq -c |wc -l 根據訪問url統計PV量: awk '{print $7}' access.log | wc -l 查詢訪問最頻繁的URL awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more 查詢訪問最頻繁的IP awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more 查看並發連接數 netstat -nat|grep ESTABLISHED|wc -l 查詢傳輸時間超過3秒的頁面: cat access.log |awk '($NF > 3){print $7}'|sort -n|uniq -c|sort -nr|head -20 統計某路由平均響應時間($upstream_response_time參數) grep "/" access.log | awk '{print $NF}' | grep -P '\d{3}?$' | awk '{sum += $0;}END {if(sum==0)print 0;else print sum/NR}' 獲取每分鍾的請求數量,輸出到文件 cat access.log | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' > access.txt
根據時間節點快速查詢、截取日志:
日志截取,從總日志文件中截取昨天一整天的數據出來,並覆蓋到新文件中: cat access.log | awk '$4 >="[14/Mar/2019:00:00:00" && $4 <="[14/Mar/2019:23:59:59"' > 20190314-access.log 將某一時間段的nginx訪問日志輸出到文件中 cat access.log | egrep "2020-11-04" > test.log #打印一天的日志 cat access.log | egrep "04/Nov/2020:10" > test.log #打印一小時的日志 sed -n '/04\/Nov\/2020:10/,/04\/Nov\/2020:12/p' access.log > test.log #打印任意時間段的日志
使用的命令:
sort 排序 sort 默認是升序,sort -r 降序 sort -u 去除重復行 uniq 去重 -i 忽略大小寫字符 -c 進行計數 -u 只顯示唯一的行 cut 從文件文件中截取 -d 后接分割字符 -f 依據-d的分隔符將信息分割成數段,-f 取出第幾段 -c 以字符的單位取出固定字符區間 wc 統計文件里面有多少單詞,多少行,多少字符 -l :僅列出行; -w :僅列出多少字(英文單字); -m :多少字符;
原文鏈接:https://www.cnblogs.com/cfzy/p/14750131.html
獨處並不是一種逃離行為,它更像是一種回歸,一種積極的情緒體驗
