I'm creating tags in my metrics exporter, in this way:
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}
But I don't know why "kubernetes.pod.name" is converted to "kubernetes_pod_name", how can I preserve the dots ?
The word separator in Micrometer is 'dot' (see docs), according to the Elastic naming conventions, the word separator is 'underscore' in Elastic. In Micrometer, every registry has a
NamingConvention
. For Elastic, it isElasticNamingConvention
.As you can see in that class, the default naming convention is
snake_case
:You can see how
ElasticMeterRegistry
uses this naming convention, but you can provide your own, please check the docs.