Spring-Boot的度量标准看起来像
metrics_counter.status.200.hello 20
metrics_counter.status.200.jolokia.star-star 1
metrics_counter.status.200.metrics 2
metrics_counter.status.200.star-star.favicon.ico 4
metrics_counter.status.304.star-star 3
metrics_counter.status.404.star-star 1
它是动态的url;对于这个例子/ hello有20次http状态200。
在Influxdb中,字段看起来像这样
> show field keys
name: jolokia
fieldKey fieldType
-------- ---------
metrics_counter.status.200.jolokia.star-star float
metrics_counter.status.200.metrics float
metrics_counter.status.200.persons float
metrics_counter.status.200.star-star float
metrics_counter.status.200.star-star.favicon.ico float
metrics_counter.status.304.star-star float
metrics_counter.status.404.star-star float
如果我通过正则表达式查询,结果是
> SELECT mean(/status.200.*/) FROM jolokia
name: jolokia
time mean_metrics_counter.status.200.hello mean_metrics_counter.status.200.jolokia.star-star mean_metrics_counter.status.200.metrics mean_metrics_counter.status.200.persons mean_metrics_counter.status.200.star-star mean_metrics_counter.status.200.star-star.favicon.ico
---- ------------------------------------- ------------------------------------------------- --------------------------------------- --------------------------------------- ----------------------------------------- -----------------------------------------------------
0 3.8686440677966103 112.582995951417 8.935643564356436 651.429718875502 1 7.7923728813559325
如何将所有http状态汇总为
200 27
304 3
404 1
通过动态字段键查询?
答案 0 :(得分:0)
您必须稍微修改您的架构,但它应该是可能的。
而不是插入看起来像石墨格式的数据
jolokia metrics_counter.status.200.jolokia.star-star=100 <timestamp>
使用标签
jolokia,type=metrics_counter,status=200 star-star=100 <timestamp>
事实上,我实际上建议您像这样构建数据
metrics_counter,status=200,app=jolokia star-star=100
metrics_counter,status=200,app=jolokia star-star.favicon=100
metrics_counter,status=304,app=jolokia star-star=100
metrics_counter,status=400,app=jolokia star-star.favicon=100
然后您可以发出类似
的查询SELECT mean(*) FROM metrics_counter GROUP BY status