A logo showing the text blog.marcnuri.com
English
Inicio»Operaciones»Cómo instalar Prometheus y Grafana en Minikube

Entradas Recientes

  • Go: Testing de aplicaciones Kubernetes con EnvTest
  • Cómo crear un plugin de kubectl con client-go para eliminar un Namespace
  • Desarrollo de aplicaciones Java cloud-native en Kubernetes con Okteto Cloud
  • Eclipse JKube 1.15 está disponible!
  • Introducción a Testcontainers para Go

Categorías

  • Antiguo
  • Front-end
  • Go
  • Herramientas
  • Java
  • JavaScript
  • Operaciones
  • Personal
  • Proyectos personales

Archivos

  • noviembre 2023
  • octubre 2023
  • septiembre 2023
  • agosto 2023
  • julio 2023
  • junio 2023
  • mayo 2023
  • abril 2023
  • marzo 2023
  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • agosto 2022
  • julio 2022
  • mayo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • diciembre 2020
  • octubre 2020
  • agosto 2020
  • mayo 2020
  • marzo 2020
  • noviembre 2019
  • octubre 2019
  • julio 2019
  • diciembre 2018
  • agosto 2018
  • julio 2018
  • junio 2018
  • mayo 2018
  • marzo 2018
  • febrero 2018
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • julio 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • junio 2008
  • mayo 2008
  • abril 2008
  • enero 2008
  • abril 2007
  • marzo 2007

Cómo instalar Prometheus y Grafana en Minikube

2021-07-02 en Operaciones etiquetado Grafana / Helm / Kubernetes / Métricas / monitorización / Prometheus por Marc Nuri | Última actualización: 2023-09-20
English version

Introducción

En esta publicación os enseñaré a desplegar Prometheus y Grafana en vuestro cluster Minikube empleando Helm charts. Prometheus nos ayudará a monitorizar nuestro cluster Kubernetes además del resto de recursos que se ejecuten sobre él. Grafana nos ayudará a visualizar las métricas obtenidas por Prometheus mostrándolas en elegantes cuadros de mando o dashboards.

Publicación actualizada por última vez el 2023-09-20, gracias a Dannis Eller por su contribución.

Requisitos

  • Minikube
  • Helm

Instalar Prometheus

Los Helm charts del canal estble de Prometheus se han marcado como obsoletos en favor de aquellos ofrecidos por su comunidad (Prometheus Community Kubernetes Helm Charts).

El primer paso será añadir el repositorio a nuestra configuración de Helm:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

Una vez el repositorio esté listo, instalaremos los charts ofrecidos ejecutando los siguientes comandos:

helm install prometheus prometheus-community/prometheus
kubectl expose service prometheus-server --type=NodePort --target-port=9090 --name=prometheus-server-np

El primer comando instala los charts. Tardará un poco hasta que todo esté desplegado, podemos comprobar el estado ejecutando:

kubectl get pods -l app.kubernetes.io/instance=prometheus

Como estamos utilizando Minikube, el segundo comando expone el servicio prometheus-server utilizando un NodePort. De este modo podremos acceder de forma muy sencilla a la interfaz web de Prometheus cuando el Pod esté disponible:

minikube service prometheus-server-np

Esto abrirá una ventana del navegador con la interfaz web de Prometheus.

Captura de pantalla mostrando la interfaz web de Prometheus en Minikube
Captura de pantalla mostrando la interfaz web de Prometheus en Minikube

Instalar Grafana

Al igual que con Prometheus, el canal estable de los Helm charts oficiales para Grafana se han discontinuad. Los charts que ahora se recomiendan son aquellos ofrecidos por el repositorio Grafana Community Kubernetes Helm Charts.

Del mismo modo que antes, comenzaremos agregando el repositorio a nuestra configuración de Helm:

helm repo add grafana https://grafana.github.io/helm-charts

A continuación instalamos Grafana utilizando los charts disponibles:

helm install grafana grafana/grafana
kubectl expose service grafana --type=NodePort --target-port=3000 --name=grafana-np

Nuevamente, considerando que estamos utilizando Minikube, para poder acceder de forma sencilla a la interfaz web de Grafana, exponemos el servicio como un NodePort.

Nota: La interfaz de Grafana está protegida por password por defecto, para conseguir el password del usuario admin, podemos ejecutar el siguiente comando:

kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

Ahora ya podemos acceder a la interfaz web de Grafana utilizando el usuario admin y el password que hemos obtenido en el paso anterior.

minikube service grafana-np
Captura de pantalla mostrando la pantalla de Login de Grafana en Minikube
Captura de pantalla mostrando la pantalla de Login de Grafana en Minikube

Configurar el Datasource de Prometheus

Una vez hemos accedido a la interfaz de administración, es el momento de que configuremos el Datasource de Prometheus.

Para ello, debeos de acceder al menú Connections > Datasources y añadir una nueva instancia de Prometheus.

Captura de pantalla de la interfaz de Grafana: Add Prometheus Datasource
Captura de pantalla de la interfaz de Grafana: Add Prometheus Datasource

La URL para nuestra instancia de Prometheus coincide con el nombre del servicio http://prometheus-server:80.

Kubernetes Dashboard bootstrap

Seguidamente, configuraremos uno de los múltiples dashboards para Kubernetes proporcionados por la comunidad.

En este artículo voy a utilizar este https://grafana.com/grafana/dashboards/6417, aunque podéis utilizar cualquier otro Dashboard. Incluso podéis crear vuestro propio dashboard, aunque esto lo veremos en otra publicación

Presionamos sobre el menú Create (+) > Import. En la sección Import via grafana.com, introducimos el código 6417 en el campo id y presionamos Load.

Captura de pantalla de la interfaz de Grafana con el título Grafana Import Dashboard from grafana.com
Captura de pantalla de la interfaz de Grafana con el título Grafana Import Dashboard from grafana.com

En la configuración del dashboard debemos de seleccionar el datasource Prometheus Datasource que hemos creado en el paso anterior.

Captura de pantalla de la interfaz de Grafana con el título Grafana import dashboard - configure Datasource
Captura de pantalla de la interfaz de Grafana con el título Grafana import dashboard - configure Datasource

Una vez hayamos confirmado el proceso de importación en el diálogo, la interfaz nos redirigirá al nuevo Dashboard.

Captura de pantalla del Dashboard de Grafana Kubernetes Cluster (Prometheus)
Captura de pantalla del Dashboard de Grafana Kubernetes Cluster (Prometheus)

Si todo ha ido bien, podremos ver el Dashboard actualizándose con la información de nuestro cluster.

Conclusión

En esta publicación os he mostrado cómo instalar Prometheus y Grafana en un cluster Kubernetes/Minikube. Este mismo procedimiento lo podéis utilizar para instalar en cualquier cluster de Kubernetes (no es necesario que sea Minikube). También hemos visto cómo desplegar de forma muy sencilla uno de los dashboards disponibles en grafana.com utilizando únicamente su ID.

Espero que este artículo os ayude a dar los primeros pasos con Prometheus y Grafana y que pronto seáis capaces de crear vuestros propios Dashboards y paneles.

Si os interesan los dashboards y otras formas de visualizar vuestros recursos de kubernetes, no dejéis de leer el artículo YAKC – Kubernetes Dashboard.

Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

Navegador de artículos
Gradle: Cómo añadir Gradle Wrapper desde DockerKubernetes: Operador vs. Controller
© 2007 - 2023 Marc Nuri