Apache配置与应用——日志分割

日志分割

**随着网站的访问量增加,默认情况Apache单个日志文件也会越来越大**
*   日志文件占用磁盘空间很大
*   查看相关信息不方便
**对日志文件进行分割**
*   Apache自带rotatelogs分割工具实现
*   第三方工具cronolog分割

rotatelogs分割工具

配置网站的日志文件转交给rotatelogs分割处理

配置格式为

  • > ErrorLog "| rotatelogs命令的绝对路径 -l 日志文件路径/网站名-error_%Y%m%d.log 86400"
  • > CustomlogLog "| rotatelogs命令路径 -l 日志文件路径/网站名-error_%Y%m%d.log 86400" combined

环境

一台Linux服务器(192.168.13.128)
一台win7测试主机

Apache自带rotatelogs日志分割工具

1,安装Apache服务

[[email protected] ~]# yum install httpd -y
[[email protected] ~]# cd /usr/sbin    ##切换到/usr/sbin目录下
[[email protected] sbin]# ls rotat*     ##日志分析工具位置
rotatelogs
[[email protected] sbin]# vim /etc/httpd/conf/httpd.conf     ##修改配置文件
Listen 192.168.13.128:80               ##修改ipv4监听端口
#Listen 80      ##将ipv6端口注释
ServerName www.kgc.com:80       ##修改域名
[[email protected] named]# systemctl stop firewalld.service    ##关闭防火墙
[[email protected] named]# setenforce 0   ##关闭增强功能
[[email protected] html]# systemctl start httpd.service  ##启动网络服务
[[email protected] sbin]# ls /var/log/httpd/   ##此时就有了日志文件了
accesslog  errorlog

2,配置http主配置文件信息

[[email protected] sbin]# cd /etc/httpd/conf
[[email protected] conf]# vim httpd.conf ##配置http主配置文件
#ErrorLog "logs/errorlog"
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.error
%Y%m%dlog 86400"
##此处添加工具绝对路径,生成日志的时间

CustomLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.access_%Y%m%dlog 86400" combined
##此处添加工具绝对路径,生成日志的时间

3,关闭重启服务,查看日志分割情况

[[email protected] conf]# systemctl stop httpd.service   ##关闭http服务
[[email protected] conf]# systemctl start httpd              ##启动http服务
[[email protected] conf]# cd /var/log/httpd/                   ##切换到日志目录下查看
[[email protected] httpd]# ls
access_log  error_log  www.kgc.com.error_20191025log   ##即为今日的分割日志文件
[[email protected] httpd]# date
2019年 10月 25日 星期五 09:12:31 CST
[[email protected] httpd]# date -s 10/26/19   ##修改时间为明天
2019年 10月 26日 星期六 00:00:00 CST
[[email protected] httpd]# systemctl stop httpd   ##关闭重启服务
[[email protected] httpd]# systemctl start httpd
[[email protected] httpd]# ls                  ##查看日志分割的情况
access_log  www.kgc.com.error_20191025log
error_log   www.kgc.com.error_20191026log

第三方工具cronolog工具

源码编译安装cronolog工具
配置网站日志文件转交给cronolog分割处理

配置格式为

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

1,安装http服务,远程挂载第三方工具

[[email protected] ~]# yum install httpd -y
[[email protected] ~]# smbclient -L //192.168.10.88/
                Sharename       Type      Comment
                ---------       ----      -------
                LAMP-C7         Disk      

[[email protected] ~]# mount.cifs //192.168.10.88/LAMP-C7 /mnt
##远程挂载软件包到/mnt目录
[[email protected] ~]# cd /mnt/   ##切换到/mnt目录下
[[email protected] mnt]# ls
apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  LAMP-php5.6.txt
apr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           mysql-5.6.26.tar.gz
awstats-7.6.tar.gz     httpd-2.4.29.tar.bz2              php-5.6.11.tar.bz2
[[email protected] mnt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm  ##安装工具

2,查看工具并修改http配置文件

[[email protected] mnt]# cd /usr/sbin
[[email protected] sbin]# ls cronolog*
cronolog
[[email protected] sbin]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.13.128:80      ##修改监听的地址
#Listen 80
ServerName www.kgc.com:80   ##修改域名
ErrorLog "| /usr/sbin/cronolog logs/www.kgc.com.error_%Y%m%d.log"
CustomLog "| /usr/sbin/cronolog logs/www.kgc.com.access_%Y%m%d.log" combined
##修改日志文件

3,重启http服务并查看日志文件

[[email protected]alhost sbin]# systemctl restart httpd     ##重启http服务
[[email protected] sbin]# ls /var/log/httpd   ##查看日志文件
www.kgc.com.error_20191025.log

以上就是Apache的日志分割

谢谢阅读!!!

原文地址:https://blog.51cto.com/14080162/2445299

时间: 2024-08-09 08:45:41

Apache配置与应用——日志分割的相关文章

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

概述:rotatelogs日志分割:apache使用自带的日志分割模块rotatelogs分割日志,rotatelogs 是 Apache中自带的管道日志程序.awstats日志分析:是一款开源日志分析系统,可用来分析Apache网站服务器的访问日志,也可用来分析Samba.Vsftpd.IIS等服务的日志信息.结合crond等计划任务服务,可以对不断增长的日志内容定期进行分析.实验步骤:(一).rotatelogs日志分割1.vim编辑/etc/httpd/conf/httpd.conf配置文

配置tomcat日志分割

由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已及其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文件中输入内容,这也会降低tomcat的性能.下面利用一个工具来将tomcat产生的catalina.out文件根据日期来分割,将每天产生的日志存放在一个独立的文件中,这样单个log文件就不会太大,而且过期的日志文件可以根据情况在不需要的时间删除掉,或者备份到其他

Apache日志分割

1.cronolog安装 采用 cronolog 工具进行 apache 日志分割 http://download.chinaunix.net/download.php?id=3457&ResourceID=1851 下载上传安装包文件到服务器 安装日志分割工具: [[email protected] ~]# cd /data/ [[email protected] data]#tar -xvf  cronolog-1.6.2.tar.gz [[email protected] cronolog

Apache日志分割&日志分析

Apache日志分割 随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来越大,如果不采用日志分割,当日志文件不断增大时,当占用太大的磁盘空间时将会被系统删除,而且随着日志文件的增大,对于管理员对Apache服务器进行访问分析.网络安全监察.网络运行状况监控等操作带来较大难度,因此管理这些海量日志对网站的意义重大. 实验描述: 完成对Apache的日志分割 本实验采用Apache2.2版本 服务器IP:192.168.100.107 所需服务:httpd.DNS 服务

Apache日志分割(rotatelogs、cronolog)

为什么要进行日志分割? 随着网站的访问量越来越大,web服务器产生的日志文件也会越来越大,如果不对其进行分割管理,单个日志文件会变得异常庞大,不利于对日志进行综合分析.监控等.另外,当服务器遇到故障时,运维人员就要打开日志文件进行分析,打开的过程必然会消耗很长时间,也势必会增加处理故障的时间.因此管理好海量的日志文件对管理网站是有重大意义的. 以下介绍两种常见的日志分割方法: 一. Apache自带的rotatelogs分割工具 1.查询rotatelogs命令的绝对路径 which rotat

apache日志及日志分割

在apache的配置文件httpd.conf中找到 ErrorLog logs/error_log //错误日志 CustomLog logs/access_log common           //访问日志 为什么要分割日志随着网站的访问越来越大,WebServer产生的日志文件也会越来越大,如果不对日志进行分割,那么只能一次将大的日志(如Apache的日志)整个删除,这样也丢失了很多对网站比较宝贵的信息,因为这些日志可以用来进行访问分析.历史安全监察.历史运行状况监控等,因此管理好这些海

Nginx(二) Nginx主机配置、日志分割、日志自动备份

Nginx主机配置.日志分割.日志自动备份 一 主机配置以及按主机分割日志文件 1.在目录/usr/local/nginx/conf下 修改nginx.conf文件的server节点,并添加一个新的server节点 2.因为使用了Nginx默认的全局日志格式(main),这个日志格式默认是注释掉的,需要再nginx.conf中放开. 3.创建www.solr.com以及www.hadoop.com两个主机欢迎页面根节点文件夹以及文件. 切换到Nginx的安装目录下,复制Nginx默认的欢迎页面根

Nginx服务优化之隐藏版本号、修改用户与组、配置页面缓存与时间、日志分割以及设置连接超时

Nginx服务优化之隐藏版本号.修改用户与组.配置页面缓存与时间.日志分割以及设置连接超时 前言 ? 在企业信息化应用环境中,服务器的安全性和响应速度需要根据实际情况进行相应参数配置,以达到最优的用户体验. ? 默认的nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服务器的最大作用. 一.隐藏版本号 ? 我们为什么要隐藏版本号? ? 我们一定要有一个意识:对于软件或者说服务,其安全性必然不可能是无懈可击的,总会或多或少地存在各种bug或者

Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割

七.Nginx日志及日志分割 (1)Nginx日志文件 查看Nginx配置文件: 找到access_log,yum安装默认存储在/var/log/nginx目录下,且默认main格式: main格式定义: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '       '"$ht