Apache日志分割——rotatelogscronolog

Posted 可乐卷儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache日志分割——rotatelogscronolog相关的知识,希望对你有一定的参考价值。


前言

随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不对日志进行分割,那么日志文件占用磁盘空间很大的话势必会将整个日志文件删除,这样会丢失很多对网站比较宝贵的信息,而这些日志可以用来进行访问分析、网络安全监察、网络运行状况监控等。另外,服务器遇到故障时,运维人员要打开日志文件进行分析,打开的过程会消耗很长时间,也势必会增加处理故障的时间。因此管理好这些海量的日志对网站的意义重大,我们会将Apache的日志按每天的日期进行自动分割。下面 介绍的两种方法均可实现。

一、Apache自带rotatelogs软件

1、配置的格式为

ErrorLog "| rotatelogs命令的绝对工具 -| 日志文件路径/网站名-error_%Y%m%d.log 86400"
CustomLog "| rotatelogs命令路径 -| 日志文件路径/网站名-access_%Y%m%d.log 86400" combined

-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年-月-日
86400:表示日志分隔的间隔是1天,单位是秒

2、设定日志时间

可以设定时间为次日,再次访问,查看是否产生新的日志

date -s 20210619  ##设置系统时间 年月日
date -s 18:30:50  ##设置时间 时分秒

3、配置

yum -y install httpd
vim /etc/httpd/conf/httpd.conf
43 Listen 192.168.35.40:80
98 ServerName www.zyt.com:80
184 ErrorLog "| /usr/sbin/rotatelogs -l /var/log/httpd/error_log_%Y%m%d.log 86400
212 CustomLog "|/usr/sbin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400"   combined
systemctl stop httpd
systemctl start httpd
cd /var/log/httpd/
ls
access_log  error_log  error_log_20210621.log  httpd.conf

在这里插入图片描述
在这里插入图片描述

二、使用第三方工具cronolog

1、配置格式

ErrorLog "| cronolog命令的绝对工具 -| 日志文件路径/网站名-error_%Y%m%d.log "
CustomLog "| cronolog命令路径 -| 日志文件路径/网站名-access_%Y%m%d.log " combined

2、安装cronolog

wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
tar xvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2 
./configure
make && make install

三、日志消息的级别

编号越小越紧急
0 EMERG:紧急,又称疼痛级别;会导致主机系统不可用的情况
1 ALERT:警告;必须马上采取措施解决问题
2 CRIT:临界值,严重;比较严重的情况
3 ERR:错误;运行出现错误
4 WARNING:提醒;提醒但不影响程序运行
5 NOTICE:注意;不会影响系统单值得注意
6 INFO:信息;一般信息
7 DEBUG:调试;程序或系统调试信息等

总结

本文讲解了日志分割的重要性,以及两种日志分割的方法,并加入实例

以上是关于Apache日志分割——rotatelogscronolog的主要内容,如果未能解决你的问题,请参考以下文章

apache中部署rotatelogs日志分割和awstats日志分析

apache日志分割

apache日志及日志分割

Apache日志分割

Apache日志分割(rotatelogscronolog)

Apache日志分割and日志分析