现在网站服务器已经使用snmp进行监控,已经对CPU,内存,流量等进行了监控,但觉得还需要加一项监控,就是网站的PV和IP的监控,这样可以快速知道服务器负载上升是否是网站访问量增加的原因。这几天初学rrdtool,这个工具既能存储数据,又能画图,非常的方便。
下面是统计近一天的pv和ip图。

1、安装rrdtool

  1. centos: yum install rrdtool
  2. ubuntu: sudo apt-get install rrdtool

2、创建rrdtool数据库

  1. rrdtool create /var/www/test.rrd             \
  2. -s 300      \
  3. DS:pv:GAUGE:600:U:U   \
  4. DS:ip:GAUGE:600:U:U   \
  5. RRA:AVERAGE:0.5:1:288

这里创建一个test.rrd数据文件,相关参数说明如下:
-s 300 300秒存储一次数据
DS:pv:GAUGE:600:U:U
DS:ip:GAUGE:600:U:U 指定两个数据源DS,字段分别为pv和ip
RRA:AVERAGE:0.5:1:288 指定RRA,相当于数据表,存储一天的数据。

3、创建更新脚本

  1. #!/bin/bash
  2. becur=`date -d "5 minute ago" +%H%M%S`
  3. 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)" `
  4. #获取五分钟内PV
  5. pv=`echo "$list" | wc -l`
  6. #获取五分钟内IP
  7. ip=`echo "$list" | awk '{print $1}' | sort | uniq | wc -l `
  8. #每五分钟更新数据库
  9. rrdtool update /var/www/test.rrd N:${pv}:${ip}
  10. #每五分钟更新图片
  11. rrdtool graph /var/www/1h-pv.png \
  12. -t "PV and IP statistics in an hour"  \
  13. --start now-3600 \
  14. --watermark "`date`" \
  15. --no-gridfit \
  16. --slope-mode \
  17. -l 0 \
  18. -y 1000:5 \
  19. -X 0  \
  20. DEF:mypv=/var/www/test.rrd:pv:AVERAGE \
  21. DEF:myip=/var/www/test.rrd:ip:AVERAGE \
  22. AREA:mypv#9F35FF:"PV Num"  \
  23. 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轴

rrdtool相关教程:http://oss.oetiker.ch/rrdtool/

转载自: https://www.centos.bz/2013/03/count-pv-ip-with-rrdtool/

使用rrdtool统计网站PV和IP相关推荐

  1. Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

    http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...

  2. 用户行为分析大数据系统(实时统计每个分类被点击的次数,实时计算商品销售额,统计网站PV、UV )

    Spark Streaming实战对论坛网站动态行为pv,uv,注册人数,跳出率的多维度分析_小强签名设计 的博客-CSDN博客_spark streaming uv 实时统计每天pv,uv的spar ...

  3. JavaSpark | RDD实战:统计网站 pv 和 uv

    文章目录 1.pv 和 uv 1.1 什么是 PV 值? 1.2 什么是 UV 值? 2. 代码实战 JavaSpark | 算子 JavaSpark | RDD实战:WordCount JavaSp ...

  4. 大数据离线分析系统:统计网站PV、UV

    目录 一.业务需求 二.业务实现方案 1.技术栈 2.业务实现流程 3.离线分析系统架构图 三.技术实现 1.Hadoop CDH集群管理平台 2.Flume采集服务器日志数据到HDFS 3.Spar ...

  5. 网站pv/uv/ip指标解释说明

    pv(page view,浏览量) 页面的浏览次数,衡量网站用户访问的网页数量: 用户每打开一个页面就记录1次,多次打开同一页面则浏览量累计. uv(unique visitor,独立访客) 1天内访 ...

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

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

  7. shell脚本统计网站pv,每分钟/小时/天~

    脚本内容如下: #!/bin/bash ####获取输入 read -p "请输入日志名称: " log_name ####将日志进行统计,每秒钟的请求数 cat ./$log_n ...

  8. vue 项目统计网站pv uv

    router.afterEach((to, from, next) => {setTimeout(() => {var _hmt = _hmt || [];(function() {var ...

  9. php+pv统计代码实现,Laravel 10 行代码实现简单的网站 pv uv 统计

    最近在优化博客呀,想做一个统计网站 pv uv 的功能,虽然有第三的统计平台再用,但还是想自己写一个啊. 其实统计的数据非常简单,就是网站的访问量丶访客量. public function __con ...

最新文章

  1. 虚拟化的故事连载系列一
  2. SAP Fiori应用没能从Fiori Launchpad启动的一个可能原因及分析过程
  3. arduino智能浇花系统_创新成果 | 养花神器——智能浇花机
  4. HDU-1253-胜利大逃亡(bfs)
  5. Could not create local repository at /home/yizhenn/.m、IDEA倒入maven项目无法导报问题
  6. java实现rabbitmq简单队列模型,生产者 消费者 消息队列
  7. 图片字符串base64的判断
  8. 本世纪最经典好文---新系统下经典老游戏[中文HGAME]重玩全攻略(感谢作者)
  9. linux网络服务配置说课,说课稿 LINUX.ppt
  10. 前端实时可视化开发工具
  11. 163邮箱格式 ,个人邮箱的正确格式
  12. C语言——学习笔记(全)
  13. ios弧形进度条_iOS圆形进度条
  14. MySQL的binLog、redoLog、undoLog是什么?
  15. 使用百度AI将语音转换成文字(JAVA)
  16. Kong 网关 | Rate Limiting 限流
  17. 这样的萌妹,谁不爱呢?
  18. 【小麦苗课堂】高可用培训(RAC+DG+OGG)--包括11g、12c、18c、19c等版本
  19. 计算机应用方面中文学术论文写作详细总结
  20. java mock verify_java-缺少对verify(mock)的方法调用,但是有一个?

热门文章

  1. 暑假实习 + 提前批 +校园招聘(更新中)
  2. 大数据技术之Flume(一)Flume概述、Flume快速入门
  3. java 1029: 三角形判定
  4. python中geometry_python shapely.geometry.polygon任意两个四边形的IOU计算实例
  5. java 导出excel打开报错_java导出excel文件报“失败-网络错误”
  6. Android实现截屏
  7. 计算机专业java餐厅点餐系统,Java实现餐厅点餐系统的实例代码.pdf
  8. 每日算法智力题(杀狗问题)
  9. java号码分身_电话号码分身问题
  10. mysql 数据精确度_mysql数据精度丢失问题深入探讨