Repository navigation
[Kubernetes] Add support for TSDB - set dimension fields for state data streams - #5621
Conversation
🌐 Coverage report
|
@constanca-m why not the container.id? Isn't it unique across the cluster? |
| - description: Add support for TSDB on all state metric data streams | ||
| type: enhancement | ||
| link: https://github.com/elastic/integrations/pull/5621 | ||
| - version: "1.33.0" |
There was a problem hiding this comment.
Here, you should go with the 1.33.0 version. If the other commit gets merged first you will rebase/merge on this one and increment the version.
There was a problem hiding this comment.
I know, I chose it assuming the other one was being merged first. But I will adjust this if it is not case.
We just needed one set as dimension. I think they are both good and always available, there was no special reason to choose one over another. @MichaelKatsoulis |
I asked mainly because container.id had already dimension:true and you removed it. If we go with pod.uid then what happens if a pod has multiple containers. They will all have same pod.uid but different container.id |
You're right, I hadn't remember that. I checked, and |
|
Package kubernetes - 1.34.0 containing this change is available at https://epr.elastic.co/search?package=kubernetes |
…ta streams (elastic#5621) * Update dimension fields.
What does this PR do?
Set the dimension fields for each state metric datastream. This is a follow up to the PR #5464.
Checklist
changelog.ymlfile.Changes
The general reasons for this change can be found in #5464, as well as more information such as testing or
ecsfields set as dimension.Specifically, for each data stream:
kubernetes.pod.uidis a dimension, since it is unique across the whole cluster, as well askubernetes.container.id. Every metric label is set as dimension (phaseandreason) to avoid overlap on documents.kubernetes.cronjob.nameis set as dimension, along withkubernetes.namespace_uidas the name is unique per namespace.kubernetes.daemonset.nameandkubernetes.namespace_uidare dimensions.kubernetes.deployment.nameandkubernetes.namespace_uidare dimensions.kubernetes.job.nameandkubernetes.namespace_uidare dimensions. Note: other keyword fields insidefields.yamlare not set as dimension, because thejob.nameis enough to uniquely identify the document.kubernetes.node.nameset as dimension, since it is always present and is unique across a cluster. Note: none of the keywords insidefields.ymlis set as dimension. This is because they were obtained through the method label metric that only stores values that are set to 1, so no overlap will happen.: kubernetes.persistentvolume.nameset as dimensionkubernetes.persistentvolumeclaim.nameset as dimension andkubernetes.namespace_uidas well.kubernetes.pod.uidset as dimension since it is unique. Note: none of the keywords insidefields.ymlis set as dimension, for the same reason as stated for state node.kubernetes.namespace_uidandkubernetes.replicaset.nameare dimensions.kubernetes.namespace(for the unique combination name + namespace) are set as dimension.kubernetes.namespace_uidandkubernetes.service.nameare dimensions.kubernetes.namespace_uidandkubernetes.statefulset.nameare dimensions.kubernetes.storageclass.nameis set as dimension.Screenshots
Before and after enabling TSDB, there was no change in the number of docs:
