暴露给用户的概念:
metric 字符串,标明指标的类型,metric相同的指标才能实现聚合运算,
如system.cpu等,metric需要预先注册才可使用
tags 一组key-value键值对,标明指标的属性,如
{ip=10.11.11.11,service=www_pool} tagKey需要预先注册才能使用
timestamp 时间戳,精确到秒
values 一组key-value键值对,标明具体指标的值,如{user=30,sys=20,util=50},
metric+tags+value名称唯一确定一条曲线
aggregate 聚合方式,查询时的概念,决定了同一metric下多条曲线按照什么方式聚合,
如aggregate=sum,则将符合筛选条件的所有曲线加和,变为一条新的曲线,
目前支持的聚合方式:avg/sum/max/min/fullsum
downsample 采样间隔,查询时的概念,决定显示在图表上的点的间隔
写入接口
1、单写:api/put
put方式,参数:
data={
metric,
tags,
timestamp,//可省略
values
}
2、批量写:api/multiput
put方式,参数:
data=[{
metric,
tags,
timestamp,//可省略
values
},{
...
}]
3、query接口:api/query
get方式,参数:
metric=xxx,
tags=xxx,
aggr=sum/avg/max/min/fullsum,
downsample=10m(若忽略downsample,则为auto方式,根据查询时间段设置downsample)
4、multiquery:api/multiquery
5、search接口:api/search
查询某个metric下的tagValue值的合集
metric=xxx
tags={service=A,ip=*}