快捷搜索:  汽车  科技

日志分析系统设计:运维神力

日志分析系统设计:运维神力注意:系统上面需要提前安装Office Web Components组件PS C:\Program Files (x86)\Log Parser 2.2> .\logparser "SELECT c-ip COUNT(c-ip) AS requestcount FROM C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log WHERE cs-uri-stem LIKE '/images/f2_.png' GROUP BY c-ip ORDER BY COUNT(c-ip) DESC" c-ip requestcount -------------- ------------ 101.200.106.10 7 101.200.106.11 7 123.57.117.136 4 101.200.106.9 4 101.200.106.12 3 1

对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情。有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了;还有些时候,我们希望不断地优化网站,让网站更快速的响应用户请求。

日志分析系统设计:运维神力(1)

与开发阶段不同的,运维阶段不可能让你去调试程序,发现各类问题,我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方。

一、LogParser功能

Logparser是一款非常强大的日志分析软件,可以帮助你详细的分析网站日志。它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory。

日志分析系统设计:运维神力(2)

它可以像使用 SQL 语句一样查询分析这些数据,甚至可以把分析结果以各种图表的形式展现出来。安装完后 就会有命令行的执行程序LogParser.exe 供API使用的LogParser.dll及说明文件LogParser.chm 里面还会有一些Sample Code可以供参考。

Logparser是微软的一款软件完全免费的,大家可以在微软的官网上去下载,下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=24659

二、使用方法

1)输出TOP 5 的每个客户端的请求次数

PS C:\Program Files (x86)\Log Parser 2.2> .\LogParser.exe "SELECT TOP 5 c-ip COUNT(*) FROM C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log GROUP BY c-ip ORDER BY COUNT(*) DESC" c-ip COUNT(ALL *) -------------- ------------ 123.57.117.131 3248 101.200.106.11 3219 123.57.117.136 3158 123.57.117.135 3137 101.200.106.10 3058 Statistics: ----------- Elements processed: 27681 Elements output: 5 Execution time: 0.41 seconds

2)请求某个URI的客户端ip以及每个ip的请求次数。

PS C:\Program Files (x86)\Log Parser 2.2> .\logparser "SELECT c-ip COUNT(c-ip) AS requestcount FROM C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log WHERE cs-uri-stem LIKE '/images/f2_.png' GROUP BY c-ip ORDER BY COUNT(c-ip) DESC" c-ip requestcount -------------- ------------ 101.200.106.10 7 101.200.106.11 7 123.57.117.136 4 101.200.106.9 4 101.200.106.12 3 123.57.117.135 3 123.57.117.131 3 123.57.117.133 2 123.57.117.130 1 Statistics: ----------- Elements processed: 27681 Elements output: 9 Execution time: 0.16 seconds PS C:\Program Files (x86)\Log Parser 2.2>

3)生成请求某个URI的客户端ip和次数的图表

注意:系统上面需要提前安装Office Web Components组件

PS C:\Program Files (x86)\Log Parser 2.2> .\logparser "select c-ip count(c-ip) as requestcount into logparserchart.gif from C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log where cs-uri-stem like '/images/f2_.png' group by c-ip order by count(c-ip) desc" -o:chart

日志分析系统设计:运维神力(3)

Statistics: ----------- Elements processed: 27681 Elements output: 9 Execution time: 0.36 seconds PS C:\Program Files (x86)\Log Parser 2.2>

4)某个特定ip在每个小时内的访问次数

.\logparser "select TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date time) 3600)) count(*) as numberrequests from C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log where c-ip='123.57.117.131' group by TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date time) 3600))" TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date time) 3600)) numberrequests ------------------------------------------------------ -------------- 2017-09-28 08:00:00 119 2017-09-28 09:00:00 189 2017-09-28 10:00:00 140 2017-09-28 11:00:00 162 2017-09-28 12:00:00 120 2017-09-28 13:00:00 124 2017-09-28 14:00:00 145 2017-09-28 15:00:00 167 2017-09-28 16:00:00 172 2017-09-28 17:00:00 263 Press a key... TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date time) 3600)) numberrequests ------------------------------------------------------ -------------- 2017-09-28 18:00:00 108 2017-09-28 19:00:00 138 2017-09-28 20:00:00 111 2017-09-28 21:00:00 141 2017-09-28 22:00:00 110 2017-09-28 23:00:00 113 2017-09-29 00:00:00 105 2017-09-29 01:00:00 108 2017-09-29 02:00:00 111 2017-09-29 03:00:00 105 Press a key...

5)获取前10的URI以及它们的总请求次数,最大时间,平均时间,平均发送的字节数

.\logparser "Select TOP 10 STRCAT(EXTRACT_PATH(cs-uri-stem) '/') AS RequestPath EXTRACT_FILENAME(cs-uri-stem) AS RequestedFile COUNT(*) AS TotalHits Max(time-taken) AS MaxTime AVG(time-taken) AS AvgTime AVG(sc-bytes) AS AvgBytesSent FROM C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log GROUP BY cs-uri-stem ORDER BY TotalHits DESC"

日志分析系统设计:运维神力(4)

Statistics: ----------- Elements processed: 27681 Elements output: 10 Execution time: 0.17 seconds PS C:\Program Files (x86)\Log Parser 2.2>

6)获取状态码以及该状态码总的请求次数

.\logparser "SELECT sc-status As Status COUNT(*) As Number FROM C:\inetpub\logs\LogFiles\W3SVC1\u_ex170928.log GROUP BY Status ORDER BY Status" Status Number ------ ------ 200 26673 206 15 301 5 302 30 304 143 404 811 500 4 Statistics: ----------- Elements processed: 27681 Elements output: 7 Execution time: 0.47 seconds PS C:\Program Files (x86)\Log Parser 2.2> 其他

一提到 IT 运维,脑海中浮现的都是:背锅、填坑、救火、7*24小时待命…

如果可以:我们也想每天不加班、一觉到天亮、追网游、陪女友…

这个真的可以有!

推荐一个运维监控神器——王教授。不仅可以接入多来源的各式监控汇聚一图展示,还可对资源使用中出现的异常、未来可能出现的风险以告警的形式手机通知到个人。提前发现系统问题,减小了运维事故的发生。用王教授!晚上不“肝”白天干!

绑定云账号AcessKey随时查看到账户下所有资产状况,获取及时的云资源变化情况、问题提醒。

日志分析系统设计:运维神力(5)

服务器 CPU 使用率偏

日志分析系统设计:运维神力(6)

云数据库存在慢查询

神仙运维生活,一招即获~有需要的运维同学欢迎点击文末王教授二维码查看详情!


网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

私信小编“联盟”,即可加入我们~

猜您喜欢: