`
hongtoushizi
  • 浏览: 375759 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

使用rrdtool统计网站PV和IP

阅读更多

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

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软件使用教程

    RRDtool的官方文档和社区支持提供了丰富的信息和教程,帮助用户学会如何安装和使用这款工具,以及如何编写脚本以自动化数据的采集和图表的生成。对于有志于提高网络管理效率的IT专业人员来说,RRDtool无疑是一个值得...

    RRDTool的安装及使用向导

    使用`rrdtool create`命令,指定数据源(DS)和心跳间隔(Heartbeat),如: ``` rrdtool create mydb.rrd --start N --step 60 DS:cpu:COUNTER:600:0:U RRA:AVERAGE:0.5:1:240 RRA:AVERAGE:0.5:6:1440 ``` ...

    rrdtool lib

    5. **性能优化**:rrdtool设计的目标之一就是高效,它通过使用预定义的采样间隔和数据保留策略,平衡了存储空间与数据精度之间的关系。 ### 使用场景 - **监控系统**:rrdtool常用于服务器和网络设备的性能监控,...

    rrdtool-使用小结与实例

    RRDtool是一款功能强大的数据存储和图形绘制工具,特别适用于监控系统中存储和展示时间序列数据。它采用环状数据库(Round Robin Database)的架构,确保了数据处理的高效性以及存储空间的最小化。RRDtool支持通过...

    RRDTool详解

    RRDTool是一种高性能的数据记录和展示工具,它由Tobias Oetiker开发,旨在提供一种灵活高效的方式来记录各种类型的时间序列数据,并通过图表的形式直观地展现出来。RRDTool的核心特性在于其独特的环形缓冲区数据存储...

    rrdtool-1.7.2.tar.gz

    rrdtool-1.7.2.tar.gz是rrdtool的1.7.2版本,它是一个针对Linux系统的开源软件包,通过压缩后的tar.gz格式提供,便于用户下载、安装和使用。 rrdtool的核心功能在于其高效的数据存储和处理机制。它采用了“圆环形...

    rrdtool 1.6.0

    6. **XML兼容**:rrdtool使用XML格式存储数据库,易于解析和备份,同时也便于与其他系统集成。 ### 版本1.6.0特性 在rrdtool 1.6.0版本中,可能包含以下改进和新特性: - 性能优化:可能提高了数据写入和查询的...

    rrdtool-1.2.15-cygwin-1.5.20.zip

    《rrdtool在Cygwin环境下的应用与详解》 rrdtool,全称为Round Robin Database Tool,...通过深入理解rrdtool的工作原理和使用方法,我们可以有效地监控系统状态,及时发现并解决问题,为系统的稳定运行提供有力保障。

    rrdtool教学【整理版】

    由于它与**Ganglia**系统的紧密联系以及该领域的文档相对匮乏,本文旨在提供一份详尽的教程,帮助读者更好地理解和使用RRDTool。 #### 二、RRDTool简介 ##### 2.1 什么是RRDTool? RRDTool由Tobias Oetiker创建,...

    rrdtool-1.4.8.tar

    1. 下载与解压:首先,用户需要从官方网站或其他镜像站点下载rrdtool-1.4.8.tar文件,然后使用tar命令进行解压缩,例如:`tar -xvf rrdtool-1.4.8.tar`。 2. 编译与安装:进入解压后的目录,执行`./configure`配置...

    ( rrdtool-1.4.5.tar.zip

    用户在安装和使用RRDtool之前,应仔细阅读此文档,以确保顺利进行。 在RRDtool中,有几个关键概念需要理解: 1. **RRA(Round Robin Archive)**:这是RRDtool的数据存储结构,用于存储不同分辨率的数据点,以平衡...

    rrdtool 下载

    **RRDtool(Round Robin Database Tool)** 是一个开源的、强大的时间序列数据库工具,由Tobias Oetiker创建,主要用于收集、存储、查询和图形化周期性数据,如网络流量、系统负载、温度读数等。在IT行业中,RRDtool...

    rrdtool-1.2.26.tar.gz

    2. 图形生成:RRDtool能根据存储的数据生成各种实时和历史图表,如CPU利用率、内存使用率、网络流量等,便于管理员直观了解系统状态。 3. 数据保留:Cacti结合RRDtool的数据保留策略,可设置不同时间范围的数据保留...

    RRDTool 教程

    - RRDTool官方网站提供了详细的文档和示例,是学习的最佳起点。 - 社区论坛和Stack Overflow上的问答也是获取解决方案的好地方。 通过本教程,你将掌握RRDTool的基本操作,能够创建、更新RRD数据库,并生成具有...

    php_rrdtool.tar.gz

    3. 查询和图表生成:可以读取RRD数据库中的数据,生成各种统计图表,用于可视化展示监控结果。 4. 动态监控:结合PHP的灵活性,可以实现动态的监控界面,实时显示系统性能指标。 四、PHP_RRDTool的使用步骤 1. ...

    rrdtool工具包

    RRDTool的设计目标是将存储空间和计算资源的使用降到最低,同时提供灵活的数据查询和可视化功能。它支持多种图表类型,包括线图、饼图、区域图等,可以生成高质量的SVG、PNG和其他图像格式的图表。 **RRDTool与...

    rrdtool源码

    此外,RRDtool提供了一系列的归档规则集(RRAs,Round Robin Archives),用于定义数据的存储策略,比如平均值、最小值、最大值和总和等统计信息。 在图形绘制方面,rrdtool使用PNG格式,通过`rrd_graph.c`中的函数...

    RRDtool绘图

    【RRDtool绘图】是一种使用RRD (Round Robin Database) 技术的高效数据可视化工具,特别适合处理流量和实时数据。RRDtool由Tobi Oetiker开发,其设计目标是提供一种灵活且高效的数据库系统,用于存储时序数据,并...

    rrdtool-1.2.29.tar.gz

    Cacti是一款广泛使用的网络监控工具,其中就包含了RRDTool(Round Robin Database Tool)这个强大的数据存储和图形化工具。本文将详细介绍rrdtool-1.2.29.tar.gz的使用,以及如何结合Cacti来实现网络监控。 RRDTool...

    rrdtool-1.2.23.tar

    1. 创建RRD数据库:使用`rrdtool create`命令创建一个新的RRD数据库,指定数据源类型、步长和心跳间隔等参数。 2. 更新数据:利用`rrdtool update`命令将实时数据写入RRD数据库,保持数据的时效性。 3. 查询数据:...

Global site tag (gtag.js) - Google Analytics