使用awk命令对IBM HTTP Server的日志进行快速有效的分析

IBM HTTP Server 是基于 ">Apache Web Server 之上开发的一个多功能 Web 服务器。IBM HTTP Server 扩展了 Apache 的功能,引入了一些 Apache 没有的功能。比如,能够使用 IBM 快速响应高速缓存加速器,以及更方便的与 IBM WebSphere 其他产品进行集成。为了了解 IBM HTTP Server 的运行状况,需要对 IBM HTTP Server 的日志进行快速有效的分析。虽然现在有很多商业、或开源软件提供图形化用户界面的方式,辅助分析服务器的访问日志,但是他们大多需要事先在服务器端安装和配置。使用 awk 命令,在很多特殊情形下,可以更快速从日志中捕获所需要的信息。本文从 IBM HTTP Sever 访问日志格式说起,进而简单介绍了 AWK 的语言基础,最后列举了一些典型的使用场景。

IBM HTTP Server 访问日志的格式

定义日志的格式

我们可以在 IBM HTTP Server 的配置文件中,使用预定义的经典格式,或者自定义访问日志的格式。下文中如无特别说明,将假设日志使用名称为 combined的经典格式。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

以下是每个域的简单介绍:

%h = 发起请求的客户端 IP 地址。这里记录的 IP 地址并不一定是真实用户客户机的 IP 地址,它可能是私网客户端的公网映射地址或代理服务器地址。

%l = 客户机的 RFC 1413 标识 ( 参考 ) ,只有实现了 RFC 1413 规范的客户端,才能提供此信息。 %u = 访问用户的 ID %t = 收到请求的时间 %r = 来自客户端的请求行 %>s = 服务器返回客户端的状态码 %b = 返回给客户端的字节
大小,但不包括响应头的大小 %{Referer}i = 引用页 %{User-Agent}i = 浏览器的类型

以下三行为样例日志:

202.189.63.115 - - [31/Aug/2008:15:42:31 +0800] "GET / HTTP/1.1" 200 1365 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1"

设置滚动日志

由于 Web 服务器每天的访问量可能巨大,我们需要把访问日志分别写到不同的日志文件中,这样可以避免单个文件太大,无法使用编辑器打开的情况。比如,我们可以在配置文件中定义每 5 M 生成一个日志文件。

Linux 服务器:

TransferLog "|/opt/IBM/HTTPServer/bin/rotatelogs /opt/IBM/HTTPServer/logs/access_log 5M"

Windows 服务器:

CustomLog "|C:/IBM/HTTPServer/bin/rotatelogs.exe C:/IBM/HTTPServer/logs/access%Y_%m_%d_%H_%M_%S.log 5M" combined

时间: 2024-11-02 09:58:41

使用awk命令对IBM HTTP Server的日志进行快速有效的分析的相关文章

Shell基础之-awk命令

Shell基础之-awk命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ awk编程 awk是一种编程语言.gawk.是最新版本,当前的linux版本用的都是gawk awk是gawk的软链接 awk工作原理 BEGIN #在未读取文件行之前执行 主输入循环 (main input loop),反复执行,直到终止条件触发 END #在读取文件行完毕后执行 1.在shell命令行输入命令调用awk #awk [-f 域分隔符] 'awk cmd'

IBM HTTP Server 远程溢出漏洞

server 涉及程序: GET 描述: 通过提交超长的GET请求导致IBM HTTP Server远程溢出 详细: IBM 的 HTTP 服务器是一个 web 服务器.在 Windows NT 使用的版本中存在拒绝服务的漏洞. 如果提交一个超过219个字符的 GET 请求,将导致服务器停止响应,并报错.要恢复服务正常工作需要重新启动应用程序.成功的利用该漏洞,攻击者可在受害的主机上执行任何代码.(但这还未得到完全证实.) 以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负

Linux命令之awk命令使用介绍

  awk简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上

IBM HTTP Server Plugin默认plugin-key.kdb 密钥数据库文件默认个人证书密码过期分析与解决方法

IBM HTTP Server Plugin默认plugin-key.kdb 密钥数据库文件默认个人证书密码过期分析与解决方法    http://www.Java2Class.net/IBM/WebSphere/IBM_IHS_PLG_Personal_Certificate_Password_Expired_2012.04.26.pdf

awk命令详解

来源:http://caoyanbao.iteye.com/blog/570868 来源:http://blog.sina.com.cn/s/blog_6ceed3280101dsir.html 什么是awk?  你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度.awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写.事实上,awk是

PowerShell及命令行打开Windows Server 2008玻璃特效Aero

PowerShell及命令行打开Windows Server 2008玻璃特效Aero操作如下: 打开Powershell 后输入以下命令.(可按微标+2运行,未更改任务栏图标.)1. 安装桌面体验servermanagercmd -install http://www.aliyun.com/zixun/aggregation/16493.html">Desktop-Experience 2. 安装完成后重新启动,执行.shutdown -r -t 0 3. 更改Theme服务为自动运行s

linux awk命令详解

来源:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它

linux awk命令详解(转)

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

关闭IBM HTTP Server插件自动生成服务,以避免部署大量应用时导致Dmgr内存溢出

IBM HTTP Server插件文件plugin-cfg.xml自动生成机制在WAS的Dmgr里默认是启用的,为了避免在部署大量应用的场景中,因配置的变动而触发插件文件的自动再次生成,进而导致Dmgr内存溢出.解决方法除了直接加大Dmgr自身的JVM堆大小之外,也可以禁用掉插件自动生成机制,操作步骤如下: 1.控制台 ==>> 服务器 ==>> 服务器类型 ==>> Web服务器 ==>> 点击右边具体的<Web服务器名称> ==>>