Description
Component(s)
No response
Describe the issue you're reporting
Is your feature request related to a problem? Please describe.
The attributes included in K8s entity events are handpicked and collected by separate code paths aside from regular metric reporting. This results in the attributes of each K8s entity widely missing compared to those included in K8s metrics. For example, the k8s.pod
entity type does not report the k8s.pod.name
attribute, which is pretty basic.
The issue with such thin coverage of entity attributes is that a consumer would struggle to characterize the entities based on the K8s entity event packets, making the feature a lot less valuable.
Describe the solutions you'd like
We have identified a list of needful attributes currently included in the metrics and missing in the entity event packets. Some of the are more critical than others, and some of them are really nice to have. We are planning on creating multiple PRs to enhance the metadata collecting logic of K8s entities. For instance, here.
We will also try our best to break down this issue into multiple pieces if it makes more sense. Please advise if there is a good strategy for doing that. We will also deliver the enhancement in the reasonably sized chunks.
Below is the list of attributes we have identified so far:
Entity type: Namespace
k8s.cluster.uid
k8s.namespace.name
k8s.namespace.uid
Entity type: Node
k8s.cluster.uid
k8s.node.condition_ready
k8s.node.condition_disk_pressure
k8s.node.condition_memory_pressure
k8s.node.condition_pid_pressure
k8s.node.condition_network_unavailable
k8s.node.condition_read
removing as not relevant in this contexthost.id
removing as not relevant in this contextcloud.availability_zone
Entity type: Pod
k8s.pod.name
k8s.node.uid
k8s.node.name
k8s.namespace.name
k8s.namespace.uid
k8s.cluster.uid
removing as not relevant in this contextservice.name
Entity type: Container
container.image
container.name
k8s.pod.uid
k8s.pod.name
removing as not relevant in this contextservice.name
Entity type: ReplicaSet
k8s.replicaset.name
k8s.cluster.uid
k8s.namespace.uid
k8s.namespace.name
Entity type: StatefulSet
k8s.statefulset.name
k8s.cluster.uid
k8s.namespace.uid
k8s.namespace.name
Entity type: DaemonSet
k8s.daemonset.name
k8s.cluster.uid
k8s.namespace.name
Entity type: Job
k8s.job.name
k8s.cluster.uid
k8s.namespace.uid
k8s.namespace.name
Entity type: CronJob
k8s.cronjob.name
k8s.namespace.uid
k8s.namespace.name
Entity type: Deployment
k8s.cluster.uid
k8s.namespace.uid
k8s.namespace.name