Spring Actuator Metrics 在标签中保留“点”

问题描述

我正在以这种方式在我的指标导出器中创建标签

  metrics:
    export:
      elastic:
        host: "xx"
        index: "metricbeat-k8s-apps"
        user-name: "elastic"
        password: "xx"
        step: 30s
        connect-timeout: 10s
    tags:
      cluster: ${CLUSTER}
      kubernetes.pod.name: ${POD_NAME}
      kubernetes.namespace: ${POD_NAMESPACE}

但是我不知道为什么“kubernetes.pod.name”会被转换成“kubernetes_pod_name”,我该如何保留这些点?

解决方法

Micrometer中的单词分隔符是'dot'(Datapicker code I want to achieve),根据see docs,Elastic中的单词分隔符是'underscore'。在 Micrometer 中,每个注册表都有一个 NamingConvention。对于 Elastic,它是 Elastic naming conventions

因为您可以在该类中使用 ElasticNamingConvention,所以默认命名约定是 snake_case

public ElasticNamingConvention() {
    this(NamingConvention.snakeCase);
}

您可以看到如何ElasticMeterRegistry see,但您可以提供自己的,请uses this naming convention

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...