【问题标题】:Spring Actuator Metrics generate logsSpring Actuator Metrics 生成日志
【发布时间】:2019-11-08 19:28:02
【问题描述】:

我正在尝试向 Splunk 获取千分尺指标数据。每个指标端点都会给出指标的当前值,因此我需要 Splunk 定期向我的应用程序发送 http 请求,或者我可以定期将指标值写入日志文件。

那么如何让我的应用程序将指标值写入日志?

【问题讨论】:

    标签: spring spring-mvc splunk micrometer spring-micrometer


    【解决方案1】:

    如果您使用的是 spring boot 2.x 并且 Micrometer 是 1.1.0+ 版本,您可以创建一个 bean 定期(1 分钟)特殊日志记录注册表见 (https://github.com/micrometer-metrics/micrometer/issues/605)

    @Bean
    LoggingMeterRegistry loggingMeterRegistry() {
        return new LoggingMeterRegistry();
    }
    

    这是迄今为止通过日志系统记录所有内容的最简单方法。

    另一种选择是创建一个计划作业,该作业将在注入计量注册表的 bean 上运行某些方法,该方法将遍历所有指标(可能会过滤掉您不需要的指标)并准备格式日志.

    如果您考虑一下,这正是 spring boot actuator 的 metrics 端点所做的,除了通过 http 返回数据而不是写入日志。

    Here 是来自 spring boot 执行器源的相关端点的最新实现

    【讨论】:

    • 您也可以考虑将LoggingMeterRegistry 子类化以更改格式以满足您的需求。最终,我希望看到一个 Splunk 特定的计量注册表,它最终可以发布到 Splunk 指标索引,但目前还不存在。
    • 我们是否可以使用 Spring Boot v1.5 获得相同的日志记录?我在 v1.5 中没有看到这个注册表。
    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 2017-07-19
    • 2013-10-12
    • 2016-04-26
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    相关资源
    最近更新 更多