现在网站服务器已经使用snmp进行监控,已经对CPU,内存,流量等进行了监控,但觉得还需要加一项监控,就是网站的PV和IP的监控,这样可以快速知道服务器负载上升是否是网站访问量增加的原因。这几天初学rrdtool,这个工具既能存储数据,又能画图,非常的方便。
下面是统计近一天的pv和ip图。
1、安装rrdtool
- centos: yum install rrdtool
- ubuntu: sudo apt-get install rrdtool
2、创建rrdtool数据库
- rrdtool create /var/www/test.rrd \
- -s 300 \
- DS:pv:GAUGE:600:U:U \
- DS:ip:GAUGE:600:U:U \
- 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、创建更新脚本
- #!/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 /var/www/test.rrd N:${pv}:${ip}
- #每五分钟更新图片
- rrdtool graph /var/www/1h-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=/var/www/test.rrd:pv:AVERAGE \
- DEF:myip=/var/www/test.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轴
rrdtool相关教程:http://oss.oetiker.ch/rrdtool/
转载自: https://www.centos.bz/2013/03/count-pv-ip-with-rrdtool/
相关推荐
RRDtool的官方文档和社区支持提供了丰富的信息和教程,帮助用户学会如何安装和使用这款工具,以及如何编写脚本以自动化数据的采集和图表的生成。对于有志于提高网络管理效率的IT专业人员来说,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 ``` ...
5. **性能优化**:rrdtool设计的目标之一就是高效,它通过使用预定义的采样间隔和数据保留策略,平衡了存储空间与数据精度之间的关系。 ### 使用场景 - **监控系统**:rrdtool常用于服务器和网络设备的性能监控,...
RRDtool是一款功能强大的数据存储和图形绘制工具,特别适用于监控系统中存储和展示时间序列数据。它采用环状数据库(Round Robin Database)的架构,确保了数据处理的高效性以及存储空间的最小化。RRDtool支持通过...
RRDTool是一种高性能的数据记录和展示工具,它由Tobias Oetiker开发,旨在提供一种灵活高效的方式来记录各种类型的时间序列数据,并通过图表的形式直观地展现出来。RRDTool的核心特性在于其独特的环形缓冲区数据存储...
rrdtool-1.7.2.tar.gz是rrdtool的1.7.2版本,它是一个针对Linux系统的开源软件包,通过压缩后的tar.gz格式提供,便于用户下载、安装和使用。 rrdtool的核心功能在于其高效的数据存储和处理机制。它采用了“圆环形...
6. **XML兼容**:rrdtool使用XML格式存储数据库,易于解析和备份,同时也便于与其他系统集成。 ### 版本1.6.0特性 在rrdtool 1.6.0版本中,可能包含以下改进和新特性: - 性能优化:可能提高了数据写入和查询的...
《rrdtool在Cygwin环境下的应用与详解》 rrdtool,全称为Round Robin Database Tool,...通过深入理解rrdtool的工作原理和使用方法,我们可以有效地监控系统状态,及时发现并解决问题,为系统的稳定运行提供有力保障。
由于它与**Ganglia**系统的紧密联系以及该领域的文档相对匮乏,本文旨在提供一份详尽的教程,帮助读者更好地理解和使用RRDTool。 #### 二、RRDTool简介 ##### 2.1 什么是RRDTool? RRDTool由Tobias Oetiker创建,...
1. 下载与解压:首先,用户需要从官方网站或其他镜像站点下载rrdtool-1.4.8.tar文件,然后使用tar命令进行解压缩,例如:`tar -xvf rrdtool-1.4.8.tar`。 2. 编译与安装:进入解压后的目录,执行`./configure`配置...
用户在安装和使用RRDtool之前,应仔细阅读此文档,以确保顺利进行。 在RRDtool中,有几个关键概念需要理解: 1. **RRA(Round Robin Archive)**:这是RRDtool的数据存储结构,用于存储不同分辨率的数据点,以平衡...
**RRDtool(Round Robin Database Tool)** 是一个开源的、强大的时间序列数据库工具,由Tobias Oetiker创建,主要用于收集、存储、查询和图形化周期性数据,如网络流量、系统负载、温度读数等。在IT行业中,RRDtool...
2. 图形生成:RRDtool能根据存储的数据生成各种实时和历史图表,如CPU利用率、内存使用率、网络流量等,便于管理员直观了解系统状态。 3. 数据保留:Cacti结合RRDtool的数据保留策略,可设置不同时间范围的数据保留...
- RRDTool官方网站提供了详细的文档和示例,是学习的最佳起点。 - 社区论坛和Stack Overflow上的问答也是获取解决方案的好地方。 通过本教程,你将掌握RRDTool的基本操作,能够创建、更新RRD数据库,并生成具有...
3. 查询和图表生成:可以读取RRD数据库中的数据,生成各种统计图表,用于可视化展示监控结果。 4. 动态监控:结合PHP的灵活性,可以实现动态的监控界面,实时显示系统性能指标。 四、PHP_RRDTool的使用步骤 1. ...
RRDTool的设计目标是将存储空间和计算资源的使用降到最低,同时提供灵活的数据查询和可视化功能。它支持多种图表类型,包括线图、饼图、区域图等,可以生成高质量的SVG、PNG和其他图像格式的图表。 **RRDTool与...
此外,RRDtool提供了一系列的归档规则集(RRAs,Round Robin Archives),用于定义数据的存储策略,比如平均值、最小值、最大值和总和等统计信息。 在图形绘制方面,rrdtool使用PNG格式,通过`rrd_graph.c`中的函数...
【RRDtool绘图】是一种使用RRD (Round Robin Database) 技术的高效数据可视化工具,特别适合处理流量和实时数据。RRDtool由Tobi Oetiker开发,其设计目标是提供一种灵活且高效的数据库系统,用于存储时序数据,并...
Cacti是一款广泛使用的网络监控工具,其中就包含了RRDTool(Round Robin Database Tool)这个强大的数据存储和图形化工具。本文将详细介绍rrdtool-1.2.29.tar.gz的使用,以及如何结合Cacti来实现网络监控。 RRDTool...
1. 创建RRD数据库:使用`rrdtool create`命令创建一个新的RRD数据库,指定数据源类型、步长和心跳间隔等参数。 2. 更新数据:利用`rrdtool update`命令将实时数据写入RRD数据库,保持数据的时效性。 3. 查询数据:...