zoukankan      html  css  js  c++  java
  • WEB监控系列第四篇:statsd指南


    用法:

    http://pypi.python.org/pypi/python-statsd/1.5.2与我安装的不是很一样,稍作修改再用(使用help(statsd)查看用法)

    一 概念说明

    这个是使用说明跟下面描述的statsd的用法不是很一样。可能是不同版本所致。

    Concepts

    • bucketsEach stat is in its own "bucket". They are not predefined anywhere. Bucketscan be named anything that will translate to Graphite (periods make folders,etc)

    • valuesEach stat will have a value. How it is interpreted depends on modifiers. Ingeneral values should be integer.

    • flushAfter the flush interval timeout (defined by config.flushInterval,default 10 seconds), stats are aggregated and sent to an upstream backend service.

    Counting

    gorets:1|c
    

    This is a simple counter. Add 1 to the "gorets" bucket.At each flush the current count is sent and reset to 0.If the count at flush is 0 then you can opt to send no metric at all forthis counter, by settingconfig.deleteCounters (applies only to graphitebackend). Statsd will send both the rate as well as the count at each flush.

    Sampling

    gorets:1|c|@0.1
    

    Tells StatsD that this counter is being sent sampled every 1/10th of the time.

    Timing

    glork:320|ms
    

    The glork took 320ms to complete this time. StatsD figures out percentiles,average (mean), standard deviation, sum, lower and upper bounds for the flush interval.The percentile threshold can be tweaked withconfig.percentThreshold.

    The percentile threshold can be a single value, or a list of values, and willgenerate the following list of stats for each threshold:

    stats.timers.$KEY.mean_$PCT
    stats.timers.$KEY.upper_$PCT
    stats.timers.$KEY.sum_$PCT
    

    Where $KEY is the stats key you specify when sending to statsd, and$PCT isthe percentile threshold.

    Gauges

    StatsD now also supports gauges, arbitrary values, which can be recorded.

    gaugor:333|g
    

    Sets

    StatsD supports counting unique occurences of events between flushes,using a Set to store all occuring events.

    uniques:765|s
    


    Multi-Metric Packets

    StatsD supports receiving multiple metrics in a single packet by separating themwith a newline.

    gorets:1|c\nglork:320|ms\ngaugor:333|g\nuniques:765|s
    

    二 具体使用

    1

    下面是python版本的statsd的用法:

    import python

    import statsd

    使用help(statsd)观察statsd的用法

    ccc=statsd.client.StatsClient(host='127.0.0.1',port=8125)#建立链接

    ccc.incr("hello",5)#把hello这个值增加5


    2变量的路径

    你使用statsd发送的数据,例如上面的变量hello是在stats 和stats_count路径下面。

    假如你定义了local.random.diceroll这样一个变量,并且不使用statsd发送,那么它会产生再根目录下。echo "local.random.diceroll 4 `date +%s`" | nc ${SERVER} ${PORT};






    所有函数的定义:

     class StatsClient(__builtin__.object)
         |  A client for statsd.
         |  
         |  Methods defined here:
         |  
         |  __init__(self, host='localhost', port=8125, prefix=None)
         |      Create a new client.
         |  
         |  decr(self, stat, count=1, rate=1) #减少一个值stat的大小count (rate是抽样的比例)
         |      Decrement a stat by `count`.
         |  
         |  gauge(self, stat, value, rate=1)#设置一个值stat的大小
         |      Set a gauge value.
         |  
         |  incr(self, stat, count=1, rate=1)#增加一个值stat的大小count (rate是抽样的比例)
         |      Increment a stat by `count`.
         |  
         |  timer(self, stat, rate=1)#发送一个时间值stat
         |  
         |  timing(self, stat, delta, rate=1) #微秒
         |      Send new timing information. `delta` is in milliseconds.
         |  


    网上还有其它语言版本的statsd,似乎使用起来更加方便






  • 相关阅读:
    Gridview利用DataFormatString属性设置数据格式
    Sqlserver 字符串操作
    解决“网络不存在或尚未启动”
    ASP.NET中Url重写后,打不开真正的Html页面
    jquery 清空表单
    Sqlserver2005远程访问
    FCKeditor 在Ie中弹出“未知工具栏项目”的暂时解决方法
    表单成功提交了,点后退显示网页过期
    找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
    LINQ 标准的查询操作符 设置操作符号 两个结果集的 并、交、差、唯一
  • 原文地址:https://www.cnblogs.com/catkins/p/5270668.html
Copyright © 2011-2022 走看看