0

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

  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”,我怎样才能保留这些点?

4

1 回答 1

1

Micrometer 中的单词分隔符是“点”(请参阅​​文档),根据Elastic 命名约定,单词分隔符在 Elastic 中是“下划线”。在 Micrometer 中,每个注册表都有一个NamingConvention. 对于 Elastic,它是ElasticNamingConvention.

正如您在该类中看到snake_case的那样,默认命名约定是:

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

您可以查看如何ElasticMeterRegistry 使用此命名约定,但您可以提供自己的,请查看文档

于 2021-04-20T17:24:28.490 回答