关于apache的access_log 过大的问题- -

本文探讨了Apache web服务器中access_log文件过大的解决方案,包括如何正确配置logrotate以实现日志文件的周期性归档,并提供了手动安装Apache时的具体配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于apache的access_log 过大的问题- -

                                      

apache的log过大的问题.很郁闷.

Q:我安装的是httpd-2.0.47, 每隔一星期日 xxxx.com-access_log 就会变成0 Kb 反而 xxxx.com-access_log.1 却在增大. 好像更该记录档时出现了问题, 怎样处理这种情况呢?

我设定过/etc/logrotate.conf 把 weekly 改成 monthly 每隔一个月也会出现这种情况,只是把时间间隔延长而已.

A:没有设置号,设置好了应该是声称.1 .2 .3 ...

Q:有设置号
xxxx.com-access_log
xxxx.com-access_log .1
xxxx.com-access_log .2
xxxx.com-access_log .3
xxxx.com-access_log .4

/etc/logrotate.conf 中
weekly
rotate 4
create

A:你是系统自带的apache还是手动安装的?手动安装的apache的如果使用syslog来进行logrotate是有些问题。
可以在apache配置文件中使用apache带的logrorate带进行log的rotate,示例如下:
CustomLog "|/usr/local/apache/bin/rotatelogs /logs/apachelog/access_log.%Y%m%d 86400" common

Q:谢谢!

我的apache就是手动安装的.

请问CustomLog "|/usr/local/apache/bin/rotatelogs /logs/apachelog/access_log.%Y%m%d 86400" common

会不会每个域名都有它自己的log呢?

我想每个域名都有它自己的access_log该怎样做呢?

A:在虚拟主机里设置log就可以了

Q:不知道能不能用于error_log呢?

A:当然可以了。照猫画虎

Q:我这样设定,对吗?
<VirtualHost 192.168.1.250>
DocumentRoot /home/test/public_html
ServerName test.com
ErrorLog logs/other-error_log
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/test.com_log" common
</VirtualHost>

怎么在/usr/local/apache/logs 里不会生成test.com_log

A:用cronolog做日志论许。
VirtualHost 192.168.1.250>
DocumentRoot /home/test/public_html
ServerName test.com
ErrorLog logs/other-error_log
CustomLog "|/usr/sbin/cronolog /logs/test.com/access.%Y%m%d" combined
env=!gif-image
ErrorLog "|/usr/sbin/cronolog /logs/test.com/errors.%Y%m%d"

</VirtualHost>

前提,找个cronolog安装,或者找个同版本地系统copy过来这个文件就ok了。

 
### 使用 GoAccess 分析 Apache 访问日志 为了使用 GoAccess 分析 Apache 的访问日志,可以按照如下方法配置并执行命令: 通过指定 `-f` 参数指向要分析的日志文件位置以及 `--log-format` 来告知 GoAccess 日志的具体格式。对于标准的 Combined Log Format (CLF),可以直接利用内置的支持而无需额外设置 log format。 如果需要自定义日志格式,则应参照 Apache 配置中的 `LogFormat` 定义[^3]。例如,在给定的情况下,日志格式被设定为 `%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"`,这对应于 GoAccess 中的标准 combined 格式的表示方式。 当直接运行 GoAccess 命令时,可采用以下形式: ```bash goaccess -f /etc/httpd/logs/access_log --log-format=COMBINED -o report.html ``` 上述命令会读取 `/etc/httpd/logs/access_log` 文件作为输入源,并假设其遵循 Combined Log Format;最后将生成的结果保存到名为 `report.html` 的 HTML 报告中。 若希望在 Docker 环境下操作,基于所提供的信息,可以通过下列指令完成相同任务[^1]: ```bash cat /path/to/ssl_access_log | docker run -v /var/logs/httpd/goaccess.conf:/etc/goaccess/goaccess.conf --rm -i -e LANG="zh_CN.UTF-8" allinurl/goaccess -a -o html -p /etc/goaccess/goaccess.conf - ``` 注意这里应当替换掉 `/path/to/ssl_access_log` 成实际的日志路径,并确保容器内的配置文件正确无误地映射到了主机上的相应位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值