系统管理 维护监控 简单生活
Apache Don't Log Specific IP Address and User-Agents
自cacti 开启通过mod_status对apache 的监控后,apache多了很多监控的访问日志, 对手动分析apache日志,或用awstats分析日志时都需要先对日志进行过滤,一是对监控固定的ip进行日志址滤掉,二是监控访问的固定URL,(awstats也可以过滤掉)先是cat.再grep 然后又是sed ,费时,日志大了还很耗资源.
以关键词"dontlog special ip apache" 找到"setenvif"指令 apache果然可以对特定的url 和或访问IP 不进行日志记录, 详细了解请看:apache 中文手册 (chinaunix)
实现
apache需要装载mod_setenvif模块,可用apachectl -M 命令确认apache是否已装载此模块.如果没有则需要手动编绎一下.可用下面的指令来进行编绎
cd apache_source/modules/metadata /usr/local/apache2/bin/apxs -a -i -c mod_setenvif.c
如下:apachectl -M 已看到apache已成功装载 mod_setenvif
userdir_module (static)
alias_module (static)
so_module (static)
setenvif_module (shared)
打开httpd.conf 文件在合适的位置添加如下内容,
#SetEnvIf Remote_Addr "10\.11\.10\.254" dontlog SetEnvIf Remote_Addr "::1" dontlog SetEnvIf Request_URI "server-status" dontlog
然后修改CustomLog "logs/access_log" combined 为
CustomLog "logs/access_log" combined env=!dontlog
重启apache
可以用tail -f ../logs/access_log 已看不到监控访问的日志了
| 打印文章 | 这篇文章由admin于2009年10月21日 2:52 下午发表在apache, 技术实践, 系统管理, 经验技巧。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。 |
大约2年前
now I know it!
大约2年前
hope it helps
大约1年前
Really good work about this website was done. Keep trying more - thanks!