【问题标题】:Spring micrometer actuator StatsD tags definition弹簧千分尺执行器 StatsD 标签定义
【发布时间】:2021-03-08 15:59:41
【问题描述】:

我正在尝试配置弹簧执行器指标以及千分尺以发送到 Datadog stastd 代理。

不过,我希望将它们全部发送一个标签,这样我就可以在我的 Datadog 仪表板中过滤我的服务指标,而不考虑其他服务指标。

我已添加:

management:
  metrics:
    tags:
      application: my_app

到我的服务指标配置,但我在 Datadog 仪表板中看不到这个标签值。我在应用程序日志和执行器日志文件中都没有看到任何奇怪的东西。

我对服务中的指标一无所知,因为我不想实现自定义指标,只想使用执行器提供的指标。

这是整个指标配置的样子:

management:
  metrics:
    export:
      statsd:
        host: ${STATSD_AGENT_HOST}
        port: ${STATSD_AGENT_HOST_PORT}
        flavor: datadog
    tags:
      application: my_app
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS

版本:

千分尺版本:1.6.4

执行器版本:2.4.3

春季版:2.3.8

有什么线索可以让标签到达 Datadog 吗?

谢谢!

【问题讨论】:

  • 只是为了澄清,是只有单个标签没有传输到datadog还是所有标签都没有传输?
  • 就是那个标签 AFAIK。正如我所写的,我没有配置或实现其他任何东西。不过,检查起来并不容易,因为我无法将这些服务指标与其他指标混在一起。
  • management.metrics.tags.application 绝对应该添加标签。如果您看到那里列出的任何指标上的标签,请检查/actuator/metrics 吗? “春季版”是指弹簧启动?如果是这样,spring-boot 模块应该匹配,所以如果您使用的是 spring-boot-actuator 2.4.3,那么一切都应该是 2.4.3。 2.3.x 和 2.4.x 不兼容。
  • 我在/actuator/metrics 上列出的任何指标中都看不到标签,我只看到默认指标,“http.server.requests”、“jvm.buffer.count”、“jvm.buffer” .memory.used" 等。在访问任何这些指标的详细信息时,我都看不到 available_tags 列表中的标签。是的,我所说的春季版本是指弹簧靴。我不知道版本之间的兼容性要求。我在应用程序日志中没有看到任何兼容性报告。不过,我将尝试使用 actuator 2.3.x 并再次检查。
  • 你是对的@JonatanIvanov,这就是问题所在。版本不兼容。现在,将 spring-boot-starter-actuator 设置为 2.3.8.RELEASE 版本,当访问任何指标时,例如/actuator/metrics/jvm.buffer.count 在available_tags 下列出的标签中,我可以看到application 标签设置为我设置的值在 application.yml 配置文件中。感谢您的帮助!

标签: spring tags micrometer actuator


【解决方案1】:

我们在 cmets 中发现了这一点,我发布了一个总结了这一切的答案:似乎根本原因是使用了不同版本的 spring-boot 模块。

一个很好的经验法则是不要自己定义版本,而是使用 BOM 并让他们为您定义版本,例如见:spring-boot-dependencies。这样您就可以使用兼容(并经过测试)的版本。

management.metrics.tags.your-tag 是向所有指标添加标签的方式。一个很好的检查方法是查看/actuator/metrics。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 2020-04-01
    • 1970-01-01
    • 2019-11-07
    • 2020-02-17
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多