nginx中常見(jiàn)日志分析命令合集
1. 查看實(shí)時(shí)日志(流式監(jiān)控)
tail -f /var/log/nginx/access.log # 實(shí)時(shí)查看訪問(wèn)日志 tail -f /var/log/nginx/error.log # 實(shí)時(shí)查看錯(cuò)誤日志
2. 統(tǒng)計(jì)狀態(tài)碼分布
# 統(tǒng)計(jì)各類狀態(tài)碼數(shù)量 awk '{print $9}' access.log | sort | uniq -c | sort -nr # 統(tǒng)計(jì) 404 錯(cuò)誤的 URL grep ' 404 ' access.log | awk '{print $7}' | sort | uniq -c | sort -nr # 統(tǒng)計(jì) 500 錯(cuò)誤的 IP 和時(shí)間 grep ' 500 ' access.log | awk '{print $1, $4}'
3. 分析熱門 URL / 資源
# 統(tǒng)計(jì)訪問(wèn)最多的前 10 個(gè) URL awk '{print $7}' access.log | sort | uniq -c | sort -nr | head -10 # 統(tǒng)計(jì)大流量消耗的資源 awk '{print $7, $10}' access.log | sort -k2 -nr | head -10
4. 分析客戶端 IP
# 統(tǒng)計(jì)訪問(wèn) IP 數(shù)量 awk '{print $1}' access.log | sort | uniq | wc -l # 統(tǒng)計(jì)訪問(wèn)最頻繁的前 10 個(gè) IP awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10 # 查看特定 IP 的詳細(xì)訪問(wèn)記錄 grep '192.168.1.100' access.log
5. 分析請(qǐng)求時(shí)間
# 提取響應(yīng)時(shí)間字段(需日志包含 $request_time) awk '{print $NF}' access.log | sort -n | tail -10 # 最慢的 10 個(gè)請(qǐng)求 # 計(jì)算平均響應(yīng)時(shí)間 awk '{sum+=$NF} END {print "Average:", sum/NR}' access.log # 查找響應(yīng)時(shí)間超過(guò) 1 秒的請(qǐng)求 awk '$NF > 1 {print $4, $7, $NF}' access.log
6. 分析訪問(wèn)時(shí)間段
# 按小時(shí)統(tǒng)計(jì)訪問(wèn)量 awk '{print substr($4, 14, 2)}' access.log | sort | uniq -c # 統(tǒng)計(jì)特定時(shí)間段的訪問(wèn)(如 10:00-11:00) grep ' \[01/Jan/2025:10:' access.log | wc -l
7. 分析用戶代理(User-Agent)
# 統(tǒng)計(jì)不同瀏覽器/爬蟲(chóng)的訪問(wèn)量 awk '{print $12}' access.log | sort | uniq -c | sort -nr # 查找爬蟲(chóng)訪問(wèn)記錄 grep -i 'bot|spider' access.log
8. 分析請(qǐng)求方法
# 統(tǒng)計(jì)不同 HTTP 方法的使用頻率 grep -oP '^\S+ \K\S+' access.log | sort | uniq -c
9. 分析 referer 來(lái)源
# 統(tǒng)計(jì)外部鏈接來(lái)源 grep -v '"-"' access.log | awk '{print $11}' | sort | uniq -c | sort -nr
10. 組合分析(示例)
# 找出訪問(wèn)量最大且響應(yīng)最慢的 10 個(gè) URL awk '{print $7, $NF}' access.log | sort -k2 -nr | head -10 | sort -k1 # 分析特定 IP 的行為(如查看是否是掃描器) grep '192.168.1.100' access.log | awk '{print $7}' | sort | uniq -c
11. 使用 awk 自定義復(fù)雜分析
# 按分鐘統(tǒng)計(jì)請(qǐng)求數(shù)和流量 awk '{split($4, a, ":"); minute=a[2]":"a[3]; count[minute]++; bytes[minute]+=$10} END {for(m in count) print m, count[m], bytes[m]}' access.log | sort
12.日志格式說(shuō)明
以上命令假設(shè) Nginx 日志采用默認(rèn)的 combined 格式:
log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
如果使用自定義格式,需相應(yīng)調(diào)整命令中的字段索引。
13.性能優(yōu)化建議
對(duì)于超大日志文件,可先使用 grep/sed 過(guò)濾再分析:
grep '2025:05:14' access.log | awk '{print $7}' | sort | uniq -c
定期歸檔舊日志并壓縮,減少分析范圍。
考慮使用 ELK Stack 或 Graylog 進(jìn)行實(shí)時(shí)日志分析和可視化。
通過(guò)這些命令,你可以快速定位性能瓶頸、安全威脅和用戶行為模式,提高系統(tǒng)運(yùn)維效率。
到此這篇關(guān)于nginx中常見(jiàn)日志分析命令合集的文章就介紹到這了,更多相關(guān)nginx日志分析命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
借用nginx.vim工具進(jìn)行語(yǔ)法高亮和格式化配置nginx.conf文件
今天小編就為大家分享一篇關(guān)于借用nginx.vim工具進(jìn)行語(yǔ)法高亮和格式化配置nginx.conf文件,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Nginx三種不同類型的虛擬主機(jī)的配置(基于域名、IP 和端口)
本文主要介紹了Nginx多種虛擬主機(jī)配置方式,能夠根據(jù)域名、IP 或端口區(qū)分不同的站點(diǎn),本文就來(lái)介紹一下,感興趣的可以了解一下2025-04-04Nginx服務(wù)器中配置GeoIP模塊來(lái)攔截指定國(guó)家IP
Nginx中自帶GeoIP模塊可以屏蔽指定IP的請(qǐng)求,只不過(guò)默認(rèn)沒(méi)有被編譯,打開(kāi)以后我們只要再下載一個(gè)IP規(guī)則就行,Nginx服務(wù)器中配置GeoIP模塊來(lái)攔截指定國(guó)家IP2016-06-06Nginx動(dòng)態(tài)IP黑名單的實(shí)現(xiàn)步驟
為了封禁某些爬蟲(chóng)或者惡意用戶對(duì)服務(wù)器的請(qǐng)求,我們需要建立一個(gè)動(dòng)態(tài)的?IP?黑名單,本文主要介紹了Nginx動(dòng)態(tài)IP黑名單的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02詳解nginx rewrite和根據(jù)url參數(shù)location
本篇文章主要是介紹了nginx rewrite和根據(jù)url參數(shù)location,有興趣的同學(xué)可以了解以下。2016-11-11nginx配置https加密訪問(wèn)的詳細(xì)教程
這篇文章主要介紹了nginx配置https加密訪問(wèn)的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11nginx 不同的訪問(wèn)路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法
要在 Nginx 中配置不同的訪問(wèn)路徑對(duì)應(yīng)不同的項(xiàng)目目錄,可以使用 Nginx 的?location?指令來(lái)實(shí)現(xiàn),本文主要介紹了nginx不同的訪問(wèn)路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09NGINX?權(quán)限控制文件預(yù)覽和下載的實(shí)現(xiàn)原理
我們知道,使用nginx作為文件下載服務(wù)器,可以極大地降低對(duì)后端Java服務(wù)器的負(fù)載沖擊,但是nginx本身并不提供授權(quán)控制,這下該如何操作呢,下面小編給大家?guī)?lái)了NGINX?權(quán)限控制文件預(yù)覽和下載的實(shí)現(xiàn)原理,感興趣的朋友跟隨小編一起看看吧2022-01-01