安装日志轮询工具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. Spring cloud微服务安全实战-5-7实现基于session的SSO(客户端应用的Session有效期)

    授权模式改造成了Authorization code完成了改造的同时也实现了SSO.微服务环境下的前后端分离的单点登陆. 把admin的服务重启.刷新页面 并没有让我去登陆,直接就进入了首页. ord ...

  2. 函数和宏实现打印的增强myprintf

    函数和宏实现打印的增强

  3. lnmp 多版本php 同时运行

    首先需要装好两个版本以上的PHP(例如:php5.6和php7两个版本).这里假设你已安装完成. .配置并启动php默认版本: (设置 nginx 的 vhost 域名配置文件监听端口就好) ).打开 ...

  4. Python第一阶段06

    1.面向对象编程: class Dog: def __init__(self, name): self.name = name def bulk(self): print("%s 汪汪汪.. ...

  5. C#多线程编程实例 线程与窗体交互

    C#多线程编程实例 线程与窗体交互 代码: public partial class Form1 : Form { //声明线程数组 Thread[] workThreads = ]; public ...

  6. 如何使用threejs实现第一人称视角的移动

    在数据可视化领域利用webgl来创建三维场景或VR已经越来越普遍,各种开发框架也应运而生.今天我们就通过最基本的threejs来完成第一人称视角的场景巡检功能.如果你是一位threejs的初学者或正打 ...

  7. Redis概述与基本操作

    redis教程 概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(strin ...

  8. golang中sync.RWMutex和sync.Mutex区别

    golang中sync包实现了两种锁Mutex (互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能. type Mutex     f ...

  9. PHP使用glob方法遍历文件夹下所有文件

    PHP使用glob方法遍历文件夹下所有文件 遍历文件夹下所有文件,一般可以使用opendir 与 readdir 方法来遍历.<pre><?php$path = dirname(__ ...

  10. .net core中关于System.Text.Json的使用

    在.Net Framework的时候序列化经常使用Newtonsoft.Json插件来使用,而在.Net Core中自带了System.Text.Json,号称性能更好,今天抽空就来捣鼓一下. 使用起 ...