轉乙個linux apache 日誌分析與狀態

2021-09-01 14:51:25 字數 2752 閱讀 8801

ps.轉的一篇文章

假設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按照數字進行倒敘排序。

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個字元 -- 00:59

剩下的內容和問題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程序:

ps aux | grep httpd | grep -v grep | wc -l // ps aux是顯示所有程序和其狀態。

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

netstat -ntu |awk '' |sort | uniq -c| sort -n -r | head -n 20

9,檢視日誌中訪問次數最多的前10個ip

cat access_80_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

cat `ls -la | grep ^[^d] |awk ' '` | awk '.....'

轉乙個頁面框架

這個xhtml1標準的div css布局是著名網頁設計師阿捷2004年發布在 網頁設計師 上的,乙個非常經典的布局,在ie mozilla和opera瀏覽器中均可以實現居中和高度自適應。完整 如下 在阿捷的 基礎上作了部分修改 源 seo參考 xhtml之經典三行兩列布局 seobbs.net ti...

發現乙個Mat轉QImage乙個大坑

最近在做opencv的乙個專案,在子執行緒中執行攝像頭同時在主線程中顯示,但是發乙個問題,關閉.exe檔案之後總是提示qtguid.dll 0xc0000005 讀取位置 時發生訪問衝突,ui label setpixmap qpixmap fromimage img 總是提示這一句是有問題,給我找...

乙個yuv轉bmp的程式

在黑客中國上找到的,執行除錯後,可以使用,如下 include stdafx.h include include include include include define byte unsigned char define bool bool define dword unsigned long...