本文概览:如何设计表,合理使用tag和field。
1 建议
1.1 tag和field
出现在where条件中,此时可以使用tag类型来保存此值,如 select * from monitorwhere uri=/app/query.json。那么uri应该就是一个tag列。
如果需要进行group操作,此时也需要设置为tag。
如果要用到influx的函数操作,此时需要设置为field。
如果保存值类型为数字类型,不为string,此时使用filed保存,因为tag都是保存字符串类型数据。
综上,指标名称需要使用tag来保存,这样在where条件中使用时查询速度很快。指标有CPU使用信息、http接口信息、jvm信息等。以统计一个接口的成功次数、失败次数、执行时间为例来说明保存方式,
方式1:一个接口的三个指标信息在一行中保存
使用如下命令,在monitor表中保存指标名称为/app/intrest.json,对应的field属性有访问次数sucessCount、平均时间meanTime、失败次数
montior,tagName=/app/intreasht.json suceeScount=13,meanTime=1s,failCount=0
1
montior,tagName=/app/intreasht.jsonsuceeScount=13,meanTime=1s,failCount=0
在查询的weher条件中可以使用如下格式
# 查询成功次数
select mean(xx_SUCESS_COUNT) where tagName=xx;