1. 安装rrdtool

yum install rrdtool

2. 创建 rrdtool 数据库

rrdtool create /opt/local/rrdtool/jicki.rrd -s 300 DS:pv:GAUGE:600:U:U DS:ip:GAUGE:600:U:U RRA:AVERAGE:0.5:1:288

-s 300                  每 300秒存储一次数据

DS:pv:GAUGE:600:U:U     指定数据源DS 字段pv

DS:ip:GAUGE:600:U:U     指定数据源DS,字段ip

RRA:AVERAGE:0.5:1:288   指定RRA,相当于数据表,存储一天的数据。

3. 创建一个更新 脚本 每五分钟更新一次 数据

#!/bin/bash

becur=`date -d "5 minute ago" +%H%M%S`

list=`tac /var/log/apache2/access.log |  awk  -v a="$becur"  -F [' ':] '{t=$5$6$7;if (t>=a) {print;} else {exit;} }' | egrep -v "\.(gif|jpg|jpeg|png|css|js)" `

#获取五分钟内PV

pv=`echo "$list" | wc -l`

#获取五分钟内IP

ip=`echo "$list" | awk '{print $1}' | sort | uniq | wc -l `

#每五分钟更新数据库

rrdtool update /opt/local/rrdtool/moxian.rrd N:${pv}:${ip}

#每五分钟更新图片

rrdtool graph /opt/local/rrdtool/pv.png -t "PV and IP statistics in an hour" --start now-3600 --watermark "`date`" --no-gridfit --slope-mode -l 0 -y 1000:5 -X 0 DEF:mypv=/opt/local/rrdtool/jicki.rrd:pv:AVERAGE DEF:myip=/opt/local/rrdtool/jicki.rrd:ip:AVERAGE AREA:mypv#9F35FF:"PV Num" AREA:myip#00DB00:"IP Num"

把此脚本添加进计划任务,每五分钟执行一次。

-t "PV and IP statistics in an hour"   指定图表标题

--start now-3600                       获取近一小时数据

-l 0                                   Y轴从0开始

-y 1000:5                              定义y轴分隔线为1000,5条显示一刻度

-X 0                                   以原值显示y轴

日志文件 统计 网站PV IP的更多相关文章

  1. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  2. PHP统计网站pv(访问量)

    //首先判断有没有统计的文件 if(is_file("pv.txt")){//有 //取文件里面的值 $count=file_get_contents("pv.txt&q ...

  3. 如何查询日志文件中的所有ip,正则表达式

    IPV4必须满足以下四条规则: 1.任何一个1位或2位数字,即0-99: 2.任何一个以1开头的3位数字,即100-199: 3.任何一个以2开头.第2位数字是0-4之间的3位数字,即200-249: ...

  4. Python开发程序:生产环境下实时统计网站访问日志信息

    日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ...

  5. Python开发【项目】:生产环境下实时统计网站访问日志信息

    日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ...

  6. 网站数据采集|埋点设计|nginx日志文件

    数据获取的方式主要可以分为两种: 1.网站日志文件(log files) 页面埋点js自定义的采集. 优缺点: web服务器自带的日志记录功能:优点方便,缺点信息收集不全 自定义的js埋点收集:优点想 ...

  7. 批处理(BAT) Ping监控, 结果记录入日志文件

    ::执行效果 @echo off ::等待用户输入需要监控IP set /p ip=Input the IP required to monitor: echo executing...... :st ...

  8. NGINX: 统计网站的PV、UV、独立IP

    做网站的都知道,平常经常要查询下网站PV.UV等网站的访问数据,当然如果网站做了CDN的话,nginx本地的日志就没什么意义了,下面就对nginx网站的日志访问数据做下统计: 概念: UV(Uniqu ...

  9. 通过Nginx统计网站的PV、UV、IP

    转载:通过Nginx统计网站的PV.UV.IP 概念 UV:独立访客:以cookie为依据,假设一台电脑装有3个不同的浏览器,分别打开同一个页面,将会产生3个UV.PV:访问量:页面每访问或刷新一次, ...

随机推荐

  1. 编程实现Windows瞬间关机

    我们先来看看Windows正常的关机流程:①关机指令通知Windows子系统csrss.exe,csrss.exe收到通知后会和Winlogon.exe做一个数据交换,再由Winlogon.exe通知 ...

  2. wpf无法加载程序集的元数据 可能已从web下载

    wpf无法加载程序集的元数据 可能已从web下载     别人写的wpf程序,源代码放到自己电脑上,设计器加载出现问题:无法加载程序集“XXX”的元数据. 解除锁定步骤:找到你的dll->右键属 ...

  3. c语言库函数

    #include <stdio.h> #define LENGTH 100 main() { FILE *fd; char str[LENGTH]; fd = fopen("he ...

  4. OC与Swift桥接问题

    入职新公司后,接手了一个Swift项目.项目质量已经吐槽过一次就略过了,感兴趣的可以看我之前的博客.当然我之前对Swift只是略有了解,略到只看过没写过的程度,主要语言还是OC.不过嘛其实语言都是相通 ...

  5. Clock Pictures

    Clock Pictures 题目描述 You have two pictures of an unusual kind of clock. The clock has n hands, each h ...

  6. UIKit控件直接显示网页文字内容

    NSString *html = @"<bold>Hello</bold> Now<br> <em>iOS</em> can cr ...

  7. Singleton ——运行时全局唯一对象

    Singleton 运行时全局唯一对象 Singleton模式只解决一个问题,如何做到运行时创建一个全局唯一的对象? 1:隐藏类的实例化操作,即将构造函数声明为private或protected.任何 ...

  8. pur-ftpd在ubuntu上的安装

    1.安装 apt-get install pure-ftpd 2.建立ftp目录 /var/ftp/public 3.建立ftp用户组 groupadd ftpgroup 4.建立ftp非系统用户 u ...

  9. HDU 5480 Conturbatio

    区间求和不更新,开个数组记录一下前缀和就可以了 #include<cstdio> #include<cstring> #include<cmath> #includ ...

  10. js 判断网页类型

    <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页</title ...