您所在的位置: 首页>>系统应用>>Web>>

网站服务器(Apache)的日志与监视(4)

http://sysapp.51cto.com  2006-10-25 13:34  少青筝  51CTO博客  我要评论(0)
  • 摘要:Apache还提供广泛的记录自己运行状态的各方面信息的工具。本文主要讲解当要求比如有条件性的记录日志,日志循环,确定IP地址等时普遍会遇到的问题。本章还讲解很多用于检测您的Apache服务器状态以及分析其日志的捆绑的第三方模块和工具。
  • 标签:Apache  日志

IP地址和域名之间对应处理
将HostNameLookups设置成on,那么日志记录中将显示来访者所在的域名,设置成on可降低服务器性能。为了解决这一问题,Apache提供了一个事后分析IP地址域名信息的工具logresolve,例如$ logresolve < access_log > resolved_log
如果用代理服务器或网关设备来完成的网站访问,Apache服务器将只能记录到代理服务器和网关的IP地址和域名。
如何自动启动Apache服务器
#!/bin/bash
if [ 'ps -waux | grep -v grep | grep -c httpd' -lt 1
]; then apachectl restart; fi
在windows平台下以服务方式启动的Aapche遇到意外退出后可以由服务管理器自动自动,Unix平台下需要借助watchdog脚本来实现自动启动功能,watchdog程序专门用来监视其他程序的运行状态,发现被监视的程序退出或停止后可以重新将他们启动。例子中简单的linux脚本将监视系统的进程表,如果网站服务器httpd进程消失,则负责将它重新启动,使用该脚本的条件有2个,首先保证该脚本文件具备可执行权限,第二必须将该文件设置到cron文件中,使之可以在预定的时间间隔内运行,如果使用Solaris系统,需要将例子中的ps -waux改成ps -ef。用户可以访问http://perl.apache.org/docs/general/control/control.html网页发现更多高级的watchdog类脚本工具,大多数linux发行版自带一些用于Apache的脚本工具。
日志文件的分割和合并
如果用户的网站环境是用服务器集群来搭建的,通常需要将所有服务器上的日志做合并成单个文件后,才可以进行分析和处理。相似的道理,如果在单台服务器上运行多个虚拟网站,则需要将单个日志文件分割成多个部分供不同的虚拟网站用户去分析。在Apache服务器源码的support/文件夹下可以找到相应的脚本工具split-logfile等。在http://www.coker.com.au/logtools/网页可以找到一些其他的日志工具。比如vlogger工具就可以替代cronologs来对单个服务器上的虚拟网站日志进行分别处理,该工具在http://n0rp.chemlab.org/vlogger/下载。
为虚拟网站保存独立的日志文件
<virtualhost>
ServerName vhost1.example.com
CustomLog logs/vhost1.example.com_log combined
ErrorLog logs/vhost2.example.com_log
.......
</virtual host>
使用CustomLog标志段在Apache配置文件的<Virtualhost>区块内实现虚拟网站日志文件的独立处理。
LogFormat "%v %h %l %u %t \"%r\" %>s %b" common_virtualhost
CustomLog logs/access_log common_virtualhost
在Apache全局配置中配置方法,其中的v%负责把提供服务的虚拟网站记录下来,对于配置了很多虚拟网站的单台服务器来说,这种配置不错。如果不想记录虚拟服务器的日志只需要在配置文件中加入"CustomLog /dev/null"就可以了。
日志文件中常见的条目
缺少favicon.ico文件,该文件可在浏览器的标题栏显示网站的个性图案;
缺少robots.txt文件,利于站点复制工具和搜索引擎使用;
覆写httpd.pid文件,网站服务器不正常退出后遗留的PID记录文件;
陌生的长记录条,
"SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02 ..."
"GET /scripts/..%252f../winnt/system32/cmd.exe?/
c+dir HTTP/1.0..."
"GET /default.ida?NNNNNNN NNNNNNNNNNNNNNNNNN ..."
类似的记录条表示访问者请求了网站上根本没有的cmd.exe,root.exe或dir等文件。
日志文件中的一些条目经常反映了那些自动探测网站服务器漏洞的动作,多数来源于针对IIS网站服务器的蠕虫和恶意程序。有时候也会发现一些针对Apache的漏洞,所以为了保证Apache的正常运行,用户应保持经常更新Apache软件。

(责任编辑:城尘 68476636-8003)



共4页: 上一页 [1] [2] [3] 4
【内容导航】
系统应用日志分析管理
PHP+APACHE+MYSQL下载汇总
Apache技术专题
金蝶 Apusic OperaMasks 全国巡演
文档格式标准开战 OOXML成国际标准
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有