Logparser是一款很是強大的日誌分析軟件,能夠幫助你詳細的分析網站日誌。是全部數據分析和網站優化人員都應該會的一個軟件。Logparser是微軟的一款軟件徹底免費的,你們能夠在微軟的官網上去下載,下載地址:html
http://www.microsoft.com/en-us/download/details.aspx?id=24659優化
下載後安裝也很是簡單,只要按照步驟去安裝就能夠了,雖然軟件語言是英語可是都是比較容易的。網站
使用方法:url
打開logparserspa
出現的是這個相似命令行的窗口,咱們就是在這個窗口輸入各類命令對日誌進行分析。那咱們怎麼去運行呢?命令行
最基本的格式:LogParser –i:輸入文件的格式 –o:輸出格式 「SQL語句」日誌
咱們輸入一個最簡單的例子,把一個IIS日誌轉化成一個csv格式的表格,那麼咱們應該怎麼作呢?htm
C:\Program Files\Log Parser 2.2> logparser -i:iisw3c -o:csv 「SELECT *FROM C:rizhi.log」 >D:rizhi.scvblog
這就是完成了最簡單的轉換,把C盤中rizhi.log這個日誌轉換成csv格式並保存到D盤。咱們要注意的是-i:iisw3c,-i表明的是輸入,iisw3c表明的是日誌格式,例子中分析的是iis日誌,所以標準格式的iisw3c。-o:scv,-o 表明的是輸出,csv是輸出文件的格式。」SELECT*FROM」這個是分析日誌的SQL命令語句,咱們能夠用不一樣的SQL語句來分析日誌。ip
注意:logparser是區分大小寫的,所以SQL語句必定要用大寫,否則會出錯的。
明白了logparser怎麼去用,那麼接下來給你們介紹一些咱們常常用到的操做命令。
--對日誌中的url進行歸併統計
LogParser -o:csv "SELECT cs-uri-stem, COUNT(*) into a.csv FROM iis.log GROUP BY cs-uri-stem"
--取出全部的asp頁面
SELECT COUNT(*) FROM ex040528.log WHERE EXTRACT_EXTENSION(cs-uri-stem) LIKE 'asp'
--求出各個路徑的訪問次數
SELECT cs-uri-stem, COUNT(*) FROM ex040528.log GROUP BY cs-uri-stem
--求出各個資源類型的訪問次數
SELECT EXTRACT_EXTENSION(cs-uri-stem) AS PageType, COUNT(*)
FROM ex040528.log
GROUP BY PageType
--group by兩個東東
SELECT EXTRACT_EXTENSION(cs-uri-stem) AS PageType, sc-status, COUNT(*)
FROM ex040528.log
GROUP BY PageType, sc-status
--求出各個資源類型的訪問次數,並按訪問次數降序排列
SELECT EXTRACT_EXTENSION(cs-uri-stem) AS PageType, COUNT(*) AS PageTypeHits
FROM ex040528.log
GROUP BY PageType
ORDER BY PageTypeHits DESC
--求出各個頁面類型,各類返回結果佔總點擊數的比重
SELECT EXTRACT_EXTENSION(cs-uri-stem) AS PageType, sc-status, MUL(PROPCOUNT(*), 100.0) AS Hits
FROM ex040528.log
GROUP BY PageType, sc-status
ORDER BY PageType, sc-status
--求出各個頁面類型、各類返回結果的點擊數佔各類頁面類型點擊數的百分比
SELECT EXTRACT_EXTENSION(cs-uri-stem) AS PageType, sc-status, MUL(PROPCOUNT(*) ON (PageType), 100.0) AS Hits
FROM ex040528.log
GROUP BY PageType, sc-status
ORDER BY PageType, sc-status
--求解各類類型的客戶端環境佔總環境數的百分比
SELECT DISTINCT cs(User-Agent) as IEType,count(*) as total,mul(propcount(*),100) as [percent(%)]
FROM F:/挑戰賽資料/ex081213.log
group by IEType
轉義字符:
/
注意:
order by後只能有一個desc或者asc
order by的項必需要在select子句中
having子句必須緊跟group子句
--查出哪一個IP訪問最頻繁
SELECT c-ip, COUNT(*) as c FROM 'F:\iislog\u_extend7237.log' GROUP BY c-ip
order by c desc
--查出哪一個頁面哪一個IP訪問最頻繁
SELECT c-ip, COUNT(*) as c FROM 'F:\iislog\u_extend2.log'
Where TO_LOWERCASE(cs-uri-stem) ='/msearch/result/'
GROUP BY c-ip
order by c desc
--查出指定頁面200狀態最多的ip,
SELECT c-ip, COUNT(*) as c FROM 'F:\iislog\u_extend2.log'
Where TO_LOWERCASE(cs-uri-stem) ='/msearch/result/'
and sc-status=200
GROUP BY c-ip
order by c desc
--統計哪一個ip,哪一個頁面被訪問得最多
SELECT c-ip,cs-uri-stem,COUNT(*) as c FROM 'F:\iislog\u_extend9681.log' GROUP BY c-ip,cs-uri-stemorder by c desc