【问题标题】:Query field keys in regex-using Springboot and Influxdb使用 Springboot 和 Influxdb 查询正则表达式中的字段键
【发布时间】:2016-12-31 04:20:20
【问题描述】:

Spring-Boot 的 Metrics 看起来像

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

如果我通过 regex 查询,结果是

> 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

通过动态字段键查询?

【问题讨论】:

  • 有什么建议吗?

标签: spring-boot metrics influxdb


【解决方案1】:

您必须稍微修改一下您的架构,但应该可以。

而不是插入看起来像石墨格式的数据

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2012-07-28
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    相关资源
    最近更新 更多