安装日志轮询工具cronolog:

[root@bqh- tools]# tar xf cronolog-1.6..tar.gz
[root@bqh- tools]# cd cronolog-1.6.
[root@bqh- cronolog-1.6.]# ./configure
make
make install
[root@bqh- cronolog-1.6.]# ll /usr/local/sbin/cronolog
-rwxr-xr-x root root 7月 : /usr/local/sbin/cronolog

按天轮询:(生产环境常见用法,推荐使用):

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m%d.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d.log" combined

注:按天记录日志,日志不会自动覆盖。

按小时轮询:(较常见用法)

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m%d%H.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d%H.log" combined

注:适合短时间分析的apache详细日志信息。

按周轮询:(较常见用法)

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%w.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%w.log" combined
----------------------------------------------------------------------------------------------↓↓↓分目录按周记录日志
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/%w/access_blog_%w.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/%w/access_bbs_%w.log" combined

注:每周循环覆盖;如果需要保留少量日志,供sa等使用,不作为特殊其他信息分析等,可以按周轮询,免去担心空间问题。

按月轮询:

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m.log" combined

按天+按小时轮询:

CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m%d.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m%d%H.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d.log" combined
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%%d%H.log" combined

.....可以自由组合来轮询日志。

下面以按天轮询日志的测试配置:

[root@bqh- extra]# vim httpd-vhosts.conf

......以上省略
<VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/blog"
ServerName blog.bqh123.com
ServerAlias bg.bqh123.com
ErrorLog "logs/blog-error_log"
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_blog_%Y%m%d.log" combined
</VirtualHost> <VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.bqh123.com
ServerAlias bs.bqh123.com
ErrorLog "logs/bbs-error_log"
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d.log" combined
</VirtualHost>

 刷新配置:

[root@bqh- extra]# vim httpd-vhosts.conf
[root@bqh- extra]# ../../bin/apachectl -t
Syntax OK
[root@bqh- extra]# ../../bin/apachectl graceful

访问测试,并查看日志:

[root@bqh- logs]# ll
总用量
-rw-r--r-- root root 7月 : access_bbs_20190715.log
-rw-r--r-- root root 7月 : access_blog_20190715.log
-rw-r--r-- root root 7月 : access_log
-rw-r--r-- root root 7月 : bbs-access_log
-rw-r--r-- root root 7月 : bbs-error_log
-rw-r--r-- root root 7月 : blog-access_log
-rw-r--r-- root root 7月 : blog-error_log
srwx------ daemon root 7月 : cgisock.
srwx------ daemon root 7月 : cgisock.
srwx------ daemon root 7月 : cgisock.
-rw-r--r-- root root 7月 : error_log
-rw-r--r-- root root 7月 : httpd.pid
[root@bqh- logs]# tail - ./access_blog_20190715.log
192.168.0.105 - - [/Jul/::: +] "GET / HTTP/1.1" "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"
[root@bqh- logs]# tail - ./access_bbs_20190715.log
192.168.0.105 - - [/Jul/::: +] "GET / HTTP/1.1" "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"

apache不记录图片的日志:

程序配置:
<FilesMatch “\.(css|js|gif|jpg|ico|swf)”>
SetEnv IMAG
</FilesMatch>
日志配置:
<VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.bqh123.com
ServerAlias bs.bqh123.com
ErrorLog "logs/bbs-error_log"
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d.log" combined env=!dontlog

RS服务器不记录负载均衡健康检查日志(check.html):

<VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.bqh123.com
ServerAlias bs.bqh123.com
SetEnvIf Request_URI “^/check\.html$” dontlog
ErrorLog "logs/bbs-error_log"
CustomLog "|/usr/local/sbin/cronolog /application/apache/logs/access_bbs_%Y%m%d.log" combined env=!dontlog
</VirtualHost>

统计apache日志单IP访问请求数排名:

[root@bqh- logs]# awk '{print $1}' ./access_bbs_20190715.log |sort|uniq -c|sort -rn -k1
11 192.168.0.105
9 192.168.0.200
4 192.168.0.88
3 192.168.0.109
2 192.168.0.107
1 192.168.0.10
192.168.0.96
192.168.0.5
192.168.0.222
192.168.0.15
192.168.0.110
[root@bqh- logs]# awk '{++s[$1]} END {for (key in s) print s[key],key}' access_bbs_20190715.log |sort -rn -k1
192.168.0.105
192.168.0.200
192.168.0.88
192.168.0.109
192.168.0.107
192.168.0.10
192.168.0.96
192.168.0.5
192.168.0.222
192.168.0.15
192.168.0.110

Apache日志轮询Cronolog安装及简单用法的更多相关文章

  1. apache日志轮询技术

    1.首先先下载安装apache的日志轮询工具cronolog: wget http://cronolog.org/download/cronolog-1.6.2.tar.gz .tar.gz cd c ...

  2. linux Apache 日志轮询

    安装日志轮询工具 cronolog [root@Nagios-Server tools]# wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz ...

  3. apache 日志轮询 linux cronolog

    Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.安装cronolog后,可以将日志文件按时间分割,易于管理和分析. cronolog安装配 ...

  4. Nginx的继续深入(日志轮询切割,重写,负载均衡等)

    Nginx的访问日志轮询切割 通常什么情况Nginx会把所有的访问日志生成到一个制定的访问日志文件access.log里面,但时间一长,日志个头很大不利于日志的分析和处理. 有必要对Nginx日志进行 ...

  5. nginx日志配置,以及日志轮询

    一.为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置 err_l ...

  6. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...

  7. 源码安装最新版keepalived,剥离日志出来并配置日志轮询

    安装 yum install -y gcc openssl-devel popt-devel ipvsadm libnl3-devel net-snmp-devel libnl libnl-devel ...

  8. logrotate关于日志轮询和分割

    如果你的是源码包安装的服务,那么对于Linux服务器上的一些服务在运行当中产生的日志很重要,可以判断你的服务是否有异常等,但源码包安装的日志是没有日志的轮询或者说是切割能力的, 所以你就需要用到bas ...

  9. logrotate 日志轮询(转存)

    1.建立/etc/logrotate.d/nginx文件[1] vim /etc/logrotate.d/nginx 2.写入如下内容: /var/log/nginx/*log { daily rot ...

随机推荐

  1. 【DataBase】H2 DateBase的简单使用

    H2介绍 H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容. H2还提供兼容模式,可以兼容一些主流的数据库,因此 ...

  2. Docker容器(三)——容器端口映射

    (1).容器端口映射 容器的端口映射用到了-p选项,-p [物理机端口]:[容器实例端口] 让centos:httpd运行在后台 [root@youxi1 ~]# docker run -d -p 8 ...

  3. 123457123456#0#----com.DoraGame.YingYu65--前拼后广--儿童英语doraX

    com.DoraGame.YingYu65--前拼后广--儿童英语doraX

  4. Django中的QuerySet查询优化之实例篇

    转载的,做个笔记,原文链接 在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子 ...

  5. Delphi 调用控件的过程,初学者都想知道

    假设有过程: procedure TForm1.Button1Click(Sender: TObject);begin    ShowMessage('唐细刚 2008');end; 想在 FormC ...

  6. easyui datagrid里的toobar按钮隐藏、显示、禁用等方式的实现

    easyui datagrid里的toobar按钮隐藏.显示.禁用等方式的实现 //隐藏第一个按钮 $('div.datagrid-toolbar a').eq(0).hide(); //隐藏第一条分 ...

  7. Sequelize模型定义

    定义 定义模型与表之间的映射,使用 define 方法. Sequelize 会自动增加 createdAt 和 updated 属性,这样能知道一个实例的创建时间和最终修改时间.如果不想自动生成,可 ...

  8. web端自动化——自动化测试准备工作

    准备工作# 在开始自己项目的自动化测试之前,我们最好已经完成了下面的准备工作: 1.熟悉待测系统 对项目的待测系统整体功能和业务逻辑有比较清晰的认识. 2.编写系统的自动化测试用例大纲和自动化测试用例 ...

  9. 打印格式化printf

    #define _DEBUG_ #ifdef _DEBUG_#define  printm(fmt, ...) do { printf("%s line %d, "fmt, __f ...

  10. php str_getcsv解决explode不能解决的问题

    php str_getcsv解决explode不能解决的问题 <pre><?php$str = "中国,广东省,广州市,天河区,'113.329884,23.154799' ...