Agregar un objetivo de raspado de Kubernetes a una instancia de Prometheus que NO está en Kubernetes.
Ejecuto prometheus localmente como http://localhost:9090/targets con
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
y quiero conectarlo a varias instancias de Kubernetes (clúster) que tenemos.
Verificar que el raspado funcione, probar tableros de Grafana, etc.
Y luego haré lo mismo en un servidor dedicado que será especialmente para monitoreo.
Sin embargo, todas las búsquedas en Google me dan diferentes formas de configurar prometheus que ya está dentro de una instancia de Kubernetes, y no hay forma de leer métricas de un Kubernetes externo.
¿Cómo agregar un objetivo de raspado de Kubernetes a una instancia de Prometheus que NO está en Kubernetes?
He leído De dónde provienen las métricas de Kubernetes y verifiqué que mi (primer) clúster de Kubernetes tenga el Servidor de Métricas.
kubectl get pods --all-namespaces | grep metrics-server
Definitivamente no tiene sentido agregar una instancia de Prometheus a cada instancia de Kubernetes (clúster). Un Prometheus debe poder leer métricas de muchos clústeres de Kubernetes y de cada nodo dentro de ellos.
P.D. Alguna pregunta antigua tiene respuesta para instalar Prometheus en cada Kubernetes y luego usar federación, que es justo lo contrario de lo que estoy buscando.
P.P.D. También me resulta extraño que Kubernetes y Prometheus, que son los proyectos número 1 y 2 de la Cloud Native Foundation, no tengan un simple “agregar objetivo de Kubernetes en Prometheus” o un simple paso.
davy.ai
Para agregar un objetivo de escrapeo de Kubernetes a una instancia de Prometheus que NO está en Kubernetes, puedes seguir estos pasos:
prometheus.yml
y agrega lo siguiente:Reemplaza
<dirección del="" servidor="" api="" de="" kubernetes="">
con la dirección obtenida en el paso 1. Si el servidor API no está asegurado con TLS, elimina la seccióntls_config
. Si el servidor API está asegurado con un certificado autofirmado, proporciona la ruta al certificado de CA en el campoca_file
, y el certificado y la clave de cliente en los camposcert_file
ykey_file
, respectivamente.Reinicia la instancia de Prometheus para cargar la nueva configuración.
Verifica que el objetivo de escrapeo de Kubernetes esté funcionando accediendo a la página de destinos del servidor Prometheus (
http://localhost:9090/targets`) y verificando que el trabajo
kubernetes-cluster` esté presente y tenga objetivos saludables.Ahora puedes utilizar paneles de Grafana para visualizar las métricas de Kubernetes recopiladas por Prometheus. Asegúrate de configurar Grafana para usar el punto de conexión de Prometheus (`http://localhost:9090`) como su origen de datos.</dirección></dirección>