Logparser 的用法
Logparser是一款非常强大的日志分析软件,可以帮助你详细的分析网站日志。是所有数据分析和网站优化人员都应该会的一个软件。Logparser是微软的一款软件完全免费的,大家可以在微软的官网上去下载,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=24659
下载后安装也非常简单,只要按照步骤去安装就可以了,虽然软件语言是英语但是都是比较容易的。
使用方法:
打开logparser
出现的是这个类似命令行的窗口,我们就是在这个窗口输入各种命令对日志进行分析。那我们怎么去运行呢?
最基本的格式:LogParser –i:输入文件的格式 –o:输出格式 “SQL语句”
我们输入一个最简单的例子,把一个IIS日志转化成一个csv格式的表格,那么我们应该怎么做呢?
C:\Program Files\Log Parser 2.2> logparser -i:iisw3c -o:csv “SELECT *FROM C:rizhi.log” >D:rizhi.scv
这就是完成了最简单的转换,把C盘中rizhi.log这个日志转换成csv格式并保存到D盘。我们要注意的是-i:iisw3c,-i代表的是输入,iisw3c代表的是日志格式,例子中分析的是iis日志,因此标准格式的iisw3c。-o:scv,-o 代表的是输出,csv是输出文件的格式。”SELECT*FROM”这个是分析日志的SQL命令语句,我们可以用不同的SQL语句来分析日志。
注意: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-stem
order by c desc
--统计指定IP,访问各个页面次数
SELECT cs-uri-stem, COUNT(*) as c FROM 'F:\iislog\u_extend9681.log'
where c-ip='112.47.159.76'
GROUP BY cs-uri-stem
order by c desc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构