[Prometheus Receiver] Generic OTel Prometheus Receiver configuration for each K8s component that works for all or major certified K8s distros #33937
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
help wanted
Extra attention is needed
receiver/prometheus
Prometheus receiver
Stale
Component(s)
receiver/prometheus
Is your feature request related to a problem? Please describe.
I don't know if there was something already exists.
OTel has kubeletstatsreceiver and k8sclusterreceiver, which fetches only some K8s component metrics.
I was wondering if there is a generic or template OpenTelemetry configuration manifest that we can apply to any or major certified K8s distribution such that I would be able to get every K8s component Prometheus metrics (both control plane components and data plane components), assuming that OpenTelemetry could be deployed as Daemonset(for Kubeproxy etc.) and Deployments (etcd, coredns, apiserver, kube-api scheduler, kube-controller etc ).
The major problem is writing scrape configuration for each variant of certified K8s distribution, which might vary with their labels and annotations.
Describe the solution you'd like
I have tried some scrape configurations for the vanilla K8s cluster. Some of the components worked, but not all.
I did try something from the Kubecon event:
https://raw.githubusercontent.com/pavolloffay/kubecon-na-2023-opentelemetry-kubernetes-metrics-tutorial/main/backend/06-collector-k8s-cluster-metrics.yaml
As I said, it is not working for some components and I will have to change the scrape configuration suitable for the running K8s cluster. Some of the components worked, but not all
Describe alternatives you've considered
I am not sure and I did not consider any idea.
Additional context
A single generic standard OTel Prometheus receiver configuration that fetches the metrics of all the K8s cluster components (control plane and data plane) for major or any certified K8s distribution when deployed as both Deamonset and Deployment.
We need two OTel Prometheus receiver configurations: one for Deployment(apiserver, etcd, coredns, cloud controller(if on a cloud) etc.) and another for Kube proxy, CNI, and CSI(if they are exposed).
Kubelet has been covered under OTel native kubeletstats receiver.
Thank you.
The text was updated successfully, but these errors were encountered: