使用apache伺服器,有時候需要檢視apache的日誌與狀態,那麼就需要下面的命令了,特分享下方便需要的朋友
假設apache日誌格式為:
問題1:在apachelog中找出訪問次數最多的10個ip。
awk '' apache_log |sort |uniq -c|sort -nr|head -n 10
awk 首先將每條日誌中的ip抓出來,如日誌格式被自定義過,可以 -f 定義分隔符和 print指定列;
sort進行初次排序,為的使相同的記錄排列到一起;
upiq -c 合併重複的行,並記錄重複次數。
head進行前十名篩選;
sort -nr按照數字進行倒敘排序。
我參考的命令是:
顯示10條最常用的命令
sed -e "s/| //n/g" ~/.bash_history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head
問題2:在apache日誌中找出訪問次數最多的幾個分鐘。
awk '' access_log |cut -c 14-18|sort|uniq -c|sort -nr|head
awk 用空格分出來的第四列是[09/jan/2010:00:59:59;
cut -c 提取14到18個字元
剩下的內容和問題1類似。
問題3:在apache日誌中找到訪問最多的頁面:
awk '' apache_log |sed 's/^.*cn/(.*/)/"//1/g'|sort |uniq -c|sort -rn|head
類似問題1和2,唯一特殊是用sed的替換功能將」替換成括號內的內容:」
問題4:在apache日誌中找出訪問次數最多(負載最重)的幾個時間段(以分鐘為單位),然後在看看這些時間哪幾個ip訪問的最多?
1,檢視apache程序:
2,檢視80埠的tcp連線:
netstat -tan | grep "established" | grep ":80" | wc -l
3,通過日誌檢視當天ip連線數,過濾重複:
cat access_log | grep "19/may/2011" | awk '' | sort | uniq -c | sort -nr
4,當天ip連線數最高的ip都在幹些什麼(原來是蜘蛛):
cat access_log | grep "19/may/2011:00" | grep "61.135.166.230" | awk '' | sort | uniq -c | sort -nr | head -n 10
5,當天訪問頁面排前10的url:
cat access_log | grep "19/may/2010:00" | awk '' | sort | uniq -c | sort -nr | head -n 10
6,用tcpdump嗅探80埠的訪問看看誰最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -f"." '' | sort | uniq -c | sort -nr
接著從日誌裡檢視該ip在幹嘛:
cat access_log | grep 220.181.38.183| awk '' | sort | uniq -c | sort -nr | less
7,檢視某一時間段的ip連線數:
grep "2006:0[7-8]" www20110519.log | awk '' | sort | uniq -c| sort -nr | wc -l
9,檢視日誌中訪問次數最多的前10個ip
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '' | head -n 10 |less
10,檢視日誌中出現100次以上的ip
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | awk ''|sort -nr |less
11,檢視最近訪問量最高的檔案
cat access_log |tail -10000|awk ''|sort|uniq -c|sort -nr|less
12,檢視日誌中訪問超過100次的頁面
cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '' | less
13,列出傳輸時間超過 30 秒的檔案
cat access_log|awk '($nf > 30)'|sort -n|uniq -c|sort -nr|head -20
14,列出最最耗時的頁面(超過60秒的)的以及對應頁面發生次數
cat access_log |awk '($nf > 60 && $7~//.php/)'|sort -n|uniq -c|sort -nr|head -100
Access應用日誌《一》
今天在確認實習生不能幫忙搭建資料庫後,自己根據業務需求嘗試搭了乙個小型access資料庫。搭建了以acct id為主鍵的兩種資料。1 客戶資訊,包括 由業務人員手工更新彙總的資料,如客戶所在區域,商業資訊等。由機器抓取的客戶資訊,如客戶賬號狀態,專屬業務人員資訊等等。上述資料按照每月定期更新,以及每...
Linux下檢視日誌
一般伺服器部署在linux系統中,那麼在linux 系統中如何檢視tomcat日誌呢?場景1 瀏覽器報錯了,如何定位錯誤 檢視tomcat 日誌的尾部 shell tail n 50.logs catalina.out tail表示只顯示catalina.out 最後n 行 場景2 如何實時檢視to...
linux下查詢日誌
vi logctrl b 往回翻 ctrl f 往下翻 cat 需要查詢的檔名.log不建議在查詢大檔案時使用 tail f log 實時檢視最新日誌 tail 5f log 最新輸出的5行grep 查詢檔案.log 查詢檔案中帶 的內容 grep 查詢檔案.log c 查詢檔案中帶 的行數 gre...