当前位置: 首页 > news >正文

LogParser的IIS网站分析技巧

日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强。但是命令行的操作界面令很多非专业的管理人员望而生畏,现在好了,有一个可视化的LogParser的UI工具可以使用了!
Log Parser Lizard 1.1,这是一款用Vc++.net写的logParser增强工具。主要有以下特点:

1、封装了logParser命令,带图形界面,大大降低了LogParser的使用难度。

2、集成了几个开源工具,如log4net等。可以对IIS logs\EventLogs\active directory\log4net\File Systems\T-SQL进行方便的查询。

3、集成了Infragistics.UltraChart.Core.v4.3、Infragistics.Excel.v4.3.dll等,使查询结果可以方便的以图表EXCEL格式展示。

4、集成了常见的查询命令,范围包含六大模块:IIS

5、可以将查询过的命令保存下来,方便再次使用。

最重要的是,它是完全免费的。

下载地址为:http://www.brothersoft.com/log-parser-lizard-download-238815.html


需要先安装LogParser 2.2,下载地址:http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

下载后4.9M的一个MSI文件,直接安装即可。注意安装位置尽量不要带空格

注意:如果LogParser没有安装,会运行出错

LogParser是微软的一个免费的日志分析工具,它支持许多格式的文件类型。主要有如下几类:

· IIS 文件格式

Ø IISW3C: IIS产生的W3C扩展格式

Ø IIS: IIS专有格式.

Ø BIN: IIS的BIN格式.

Ø IISODBC: IIS可以把日志存储在数据库中。LogParser可以分析存储在数据库中的IIS日志.

Ø HTTPERR: Http.sys日志格式.

Ø URLSCAN: URLScan 日志格式.

· 通用文本格式

Ø CSV: 逗号分隔符文件.

Ø TSV: 以空格或者以制表符分隔的文件.

Ø XML: XML格式.

Ø W3C: W3C格式.

Ø NCSA: NCSA格式.

Ø TEXTLINE: 普通文件文件. LogParser可以按行返回内容

Ø TEXTWORD: LogParser可以把按字返回内容.

· 系统信息

EVT: 事件日志文件.

FS: 文件目录.

REG: 注册表格式.

ADS: AD信息.

另外还有一些其它格式,如NetMon, ETW等,在此不详述了。

LogParser原理

LogParser架构如下图所示:

clip_image001

注:图片引自http://e-mojo.net/wp-content/uploads/2009/11/logparser_architecture.gif

LogParser的核心为类SQL引擎,主要用于LogParser的SQL解析。使用LogParser我们可以把日志文件转换为很多格式,然后,我们可以用自己顺手的工具对其进行分析。

需要注意的是,如果我们要输出图形格式,必须安装Office Web组件。

IIS高级日志分析

本文主要介绍一些高级IIS日志分析功能,基本的分析功能请参考这些BLOG:

http://hi.baidu.com/tpxc/blog/item/b6e4561060f2ecf9c2ce7931.html

http://www.cnblogs.com/yonglun/archive/2007/02/20/652929.html

每天用户访问数

logparser “SELECT To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time))) AS [Date1], c-ip AS CIP INTO IISHC_DistinctClientIPPerDay.csv FROM *.log GROUP BY [Date1], CIP” -i:IISW3C -o:CSV -recurse:-1

我们按日期进行汇总,主要是利用Group by 实现。由于IIS日志中时间为UTC格式,因此,我们需要使用To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))把其转换为本地时间。

recurse:-1参数使LogParser对子目录下所有文件进行统计。

本例中产生一个CSV文件,我们可以使用Excel进行处理,得出每天用户数曲线(当然,我们也可以直接用LogParser产生图形)。如下是一个例子:

clip_image003

每小时用户访问数

logparser “SELECT TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date, time),3600)) AS Hours, COUNT(*) AS Hits INTO IISHC_RequestsPerHour.csv FROM *.log where To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))=TIMESTAMP(’10/08/2010′,’MM/dd/yyyy’ ) GROUP BY Hours ORDER BY Hours” -i:IISW3C -o:CSV -recurse:-1

主要用法与上例类似。不过我们需要指定日期。指定日期在where To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))=TIMESTAMP(’10/08/2010′,’MM/dd/yyyy’ )中实现。

clip_image005

拆分文件

缺省情况下,IIS每天产生一个日志文件。对于一些特别繁忙的网站来说,IIS日志文件可能会非常大。我曾经有一个客户,每个日志文件有2个G之多。这么大的文件用LogParser进行分析时会非常慢,同时也很容易报错。

解决办法是把日志文件进行拆分成许多小文件分别进行分析。如下命令可以把一个IIS日志按小时分成24个文件:

logparser “SELECT REPLACE_CHR(REPLACE_CHR(TO_STRING(TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date, time), 3600)), ‘yyyy-MM-dd hh:mm:ss’), ‘:’, ‘_’), ‘ ‘, ‘_’), date, time, c-ip, cs-uri-stem, cs-uri-query, sc-status, sc-substatus, sc-win32-status, sc-bytes, cs-bytes, time-taken FROM ex080114.log TO ex080114_*.log” -i:IISW3C -o:W3C

这里边的技巧请大家自己去理解J 怎么样?

http://www.mikel.cn/tag/logparser/

相关文章:

  • SQL注入攻击-来自微软安全博客的建议
  • MySQL 备库设置编码语句
  • 批处理+Linux书籍+黑客编程+脚本攻防+逆向工程书籍+海量资源(pdf+chm电子书)
  • aircrack-ng 系列工具使用笔记
  • 外围渗透测试的一些小领悟
  • Windows下使用skipfish
  • Oracle11g日志查看方法
  • 通杀IIS7.0畸形解析0day漏洞
  • 人人都能做PHP简易留言板
  • Discuz x1.5 – x2版本 二次注射
  • 网络风险评估与大致流程
  • Joomla Component com_bch LFI Vulnerability
  • IIS“页面无法显示”的故障及其解决方法
  • Linux服务器安全配置
  • sqlmap使用文档
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES6 学习笔记(一)let,const和解构赋值
  • Hibernate【inverse和cascade属性】知识要点
  • Idea+maven+scala构建包并在spark on yarn 运行
  • javascript数组去重/查找/插入/删除
  • js数组之filter
  • vagrant 添加本地 box 安装 laravel homestead
  • vue数据传递--我有特殊的实现技巧
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 仿天猫超市收藏抛物线动画工具库
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 类orAPI - 收藏集 - 掘金
  • 王永庆:技术创新改变教育未来
  • Java性能优化之JVM GC(垃圾回收机制)
  • Java总结 - String - 这篇请使劲喷我
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • $refs 、$nextTic、动态组件、name的使用
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)计算机毕业设计大学生兼职系统
  • (九十四)函数和二维数组
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (转) Android中ViewStub组件使用
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net网站发布-允许更新此预编译站点
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @Autowired自动装配
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [C++]指针与结构体
  • [Codeforces] probabilities (R1600) Part.1
  • [dts]Device Tree机制