zoukankan      html  css  js  c++  java
  • Grafana使用总结

    Metrics

    Metrics即为度量,主要用于监控和服务度量。以key-values的方式进行存储。

    Metrics支持以下几种类型:

       - Gauges:  某个key的value为特定值。 如Guages(haha, 3), 则haha这个key对应的value即为3.

       - Counter:  某个key的value进行变更。如Counter(haha, +1), 则haha这个key对应的value从3变成了4.

       - Meters:   度量某件事情发生的速率。如,1分钟内调用Meter(haha)5次,则haha这个key对应的value为5/min

       - Histograms:  Histogram统计数据的分布情况。比如1分钟内调用了很多次update(hehe, x), 则会根据x的计算分布。

       - Timer: Meters & Histogram 的结合。 

    metrics,底层使用的可以是opentsdb

    opentsdb

    opentsdb是一个时间序列的数据库。就是一段时间内某些特定指标量的一些列数据点。
    这里结合metrics来讲
     
    调用顺序:
     1.解析并验证,保证格式正确。
    2.扫描底层数据,抓取匹配metric_name&timestamp的数据
    3.分组
    4.降采样
    5.使用特定聚合器聚合每组数据
    6.检查是否使用rate
    7.返回数据
     
    一、降采样
    比如metrics 30s一个点,但是当我查询一天或者几天的数据的时候,我觉得30s一个点太多了,我
    想5min一个点,就可设置降采样区间为5m。
    设置5m,它显示的时间戳表示的是它的时间以及之后5min的值聚合成一个值。
    这里可以设置聚合方法,比如使用avg.如原本是30s一个点,那么5min有10个点,那使用avg,就是把这10点的值相加,然后除以10。
     
    二、查询过滤器
    3.1、literal_or ,或查询,区分大小写。类似sql的in,使用时用|分割
    • host=literal_or(web01|web02|web03),类似于SQL:where host in(‘web01’,’web02’,’web03’)
    3.2、iliteral_or 大致同上,不区分大小写。所以效率低,因为他是处理存储中的所有行。
    3.3、not_literal_or 类似not in
    3.4、not_iliteral_or 同
    3.5、wildcard 区分大小写,类似sql的like,host=wildcard(*mysite.com), SQL: where host=’%mysite.com’,使用*
    3.6、iwildcard同上 ,不区分大小写
    3.9 、regexp 使用正则表达式匹配.例:regexp(web[0-9].com)
     
    三、聚合器
    这里说下它的存储方式,以metrics为例
    我们使用的时候,会设置它的metric_name ,多个(tagk,tagv)对,时间戳,值.
    格式类似于:metric_name,tagk1=tagv1,tagk2=tagv2,时间戳,值这种形式
    metrics中默认,除了你设置的tag外,会加上host和dc
    这里和过滤器配合使用。
    当使用降采样后,比如这个时间点有4点,他们的metric_name 和时间戳是一致的。tag不一样,分别是:
    1.host=h1,dc=lf value=1 
    2.host=h1,dc=hl value=2 
    3.host=h2,dc=lf value=3 
    4.host=h2,dc=hl value=4
    这里,当我们不选择过滤器的时候,默认是出来一条线的,也就是说把这里的4个点聚合成一个点。假设这里使用avg ,那值就是:(1+2+3+4)/4=2.5
     
    这里假如我们选择过滤器host,那会出来两条线,分别是h1线和h2线。
    这里假如选择avg ,  h1:(1+2)/2=1.5     h2:(3+4)/2=3.5
     
    mertic:metric_name,aggregator,选择聚合方式
    dev:求标准差
    zimsum:求和,但是少数据的不进行插值,而是用0替代
    mimmin:最小值,但是当缺少数据时,会返回数据类型的最大值,比如long.maxvalue
    minmax:最大值,但是当缺少数据时,会返回数据类型的最小值,比如long.minvalue
     
    alias:线条名,当和filters结合使用的时候,使用$tag_key的方式,可以用filters中的key,作为线条名
     
    downsample:降采样,interval:降采样的时间范围,格式有:30s,1m,5m,1h等
     
  • 相关阅读:
    383. Ransom Note
    598. Range Addition II
    453. Minimum Moves to Equal Array Elements
    492. Construct the Rectangle
    171. Excel Sheet Column Number
    697. Degree of an Array
    665. Nondecreasing Array
    视频网站使用H265编码能提高视频清晰度吗?
    现阶段的语音视频通话SDK需要解决哪些问题?
    企业远程高清会议平台视频会议系统在手机端使用的必备要求有哪些?
  • 原文地址:https://www.cnblogs.com/codingforum/p/13535434.html
Copyright © 2011-2022 走看看