StatsD学习

这4个文章是一个系列的,关于如何配置 StatsD,Graphite以及如何使用两者来显示访问信息:

StatsD学习:http://blog.csdn.net/puncha/article/details/9083061
在Ubuntu Server 12.04 x64下安装Graphite: http://blog.csdn.net/puncha/article/details/9092765
StatsD与Graphite联合作战:http://blog.csdn.net/puncha/article/details/9112293
Graphite实战:http://blog.csdn.net/puncha/article/details/9137001


今天学习StatsD这个小服务,StatsD是用来收集数据的,收集完数据就发送到其他服务器进行处理。StatsD项目是根据老外的这篇文章启发的:(要翻墙,不然看不到图片):

Measure Anything, Measure Everything 。
这是StatsD的一些tips:

1,StatsD是一个NodeJs的daemon程序,简单,轻巧。使用的UDP协议。可以和Graphite图片渲染应用结合。

2,UDP好处就是fire-and-forget。你不用去管后台的StatsD 服务器是不是崩了,崩了就崩了,不会影响前台应用。

3,StatsD有一个时间周期的概念,默认是10秒钟,就是说,StatsD会把收集到的数据(经过处理)每隔10秒,发送给后端。比如Counter,他就会把10秒内该Counter累加的值,发送到后端。比如Time/Timing,他会把次数、最大值、最小值、平均值发往后端。所以,所有的数据都是以10秒为一个周期的。

3,StatsD::increment("grue.dinners"); 这句话会创建一个新的计数器(假如原来没有的话),而且每次执行,都把计数+1(以周期为单位,下一个周期计数器自动重置为0)。

4,利用timing()可以用来计算时间差。StatsD::timing("gure.dinners", 时间差*1000); 可以自动计算在这段时间内发生的计数器次数,最大值,最小值,90位百分点(可以过滤掉突发的、异常的、脉冲之类的值)。

5,为了应对非常频繁的计数,可以增加一个取样率的参数:StatsD::increment("adventurer.heartbeat", 0.1); 0.1就是取样率,StatsD会自动帮你换算成100%的取样率,然后发送给后端。

这2篇文章很好,可以帮你理解StatsD的Matric/Magic:

StatsD plugin metrics explanation:http://cookbook.logstash.net/recipes/statsd-metrics/
Understanding StatsD and Graphite: http://blog.pkhamre.com/2012/07/24/understanding-statsd-and-graphite/
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值