Guía de instalación Prometheus y Grafana para un Validador
Guia de instalación del monitoreo para un Validador
Last updated
Guia de instalación del monitoreo para un Validador
Last updated
Los nodos validadores miden el tiempo de disponibilidad u operación (en inglés uptime) como parámetro de calidad, para mantener un tiempo de disponibilidad entre valores de 99,9% y 100% es muy importante tener un mecanismos que nos permita conocer el estado del sistema constantemente, dado que en algún momento puede ocurrir algún problema en los servicios o en el hardware, un sistema de monitoreo y alertas nos ayuda a identificar oportunamente y tomar acción para mitigar los largos periodos de inactividad en los nodos validadores.
Para ello nosotros usamos y recomendamos Prometheus como sistema de recopilación y almacenamiento de métricas, Node Exporter como exportador de datos a monitorear en cada uno de los servidores y Grafana como interfaz gráfica y de fácil administración para el monitoreo y las alertas.
Prometheus
Prometheus es un software libre enfocado en la recopilación de métricas, monitoreo de eventos y alertas cuando sea necesario, Está desarrollado en Go y está licenciado bajo Apache también se dispone de su código fuente en su github y es un proyecto graduado de Cloud la Native Computing Foundation junto a Kubernetes. Si quiere conocer más sobre Prometheus puede ir a su página oficial aquí.
Node exporter
Es el encargado de enviar los datos a prometheus referente al hardware y métricas del sistema operativo, este software también está desarrollado en go, si quiere conocer más acerca de node exporter puede revisar su información y código fuente que también está publicado en github. Para descargarlo puede ir al link de descarga oficial aquí.
Grafana
Grafana es una aplicación web desarrollada en lenguaje Go y cuenta con licencia de apache 2, esta aplicación permite la visualización de métricas en cuadros y paneles, esta aplicación admite varias fuentes de datos y recopiladores de métricas como lo pueden ser Graphite y Prometheus. Si quiere conocer más acerca de Grafana puede ir a su página oficial aquí.
Para nuestro caso hemos dispuesto de una máquina o servidor dedicado solamente a monitorear los otros servidores, en dicha máquina tenemos comunicación de manera privada hacia los diferentes validadores ó sistemas que deseamos monitorear. El sistema está basado en Gnu/Linux y lo tenemos parametrizado de manera estándar en este momento.
Cada nodo validador tiene trabajando el software llamado Node Exporter, este software se encarga de exportar los datos necesarios o los que necesitemos para el monitoreo, estos datos son recopilados por prometheus el cual está en el servidor dedicado al monitoreo y este se encarga de darles formato para que podamos visualizarlos y entenderlos. Grafana por su parte tiene la capacidad de tomar los datos que recopila prometheus y mostrarlos vía web de una forma agradable y más entendible a la vista de un usuario.
A continuación vamos a describir el proceso de instalación de las diferentes herramientas:
Usuario y grupo de monitoreo
Se crea el usuario y el grupo de monitoreo, también se crean los directorios para prometheus
Descargar Prometheus:
Posterior a esto se descarga la última versión desde la página oficial aquí.
Se procede a instalar
Configuración de Prometheus
Ingresar a la ubicación del archivo de configuración de prometheus
En el contenido de configuración puede dejarlo por defecto, el primer job_name es el correspondiente a prometheus que se aloja por defecto en el puerto 9090 y el otro es el que estaría exportando los datos de métricas desde node exporter, que es lo que veremos después de terminar prometheus.
Se establecen los permisos en los archivos y binarios de instalación al usuario y grupo de monitoreo.
Procedemos a crear el proceso para permitir que se ejecute en segundo plano.
Se fijan los siguientes permisos al usuario monitoreo sobre el binario de prometheus
Habilitamos e iniciamos el servicio de prometheus
Ahora se podrá ver la interfaz web de prometheus en cualquier navegador web, se pone en la barra de búsqueda la ip y el puerto de prometheus para este caso localhost:9090
Para que prometheus pueda obtener las métricas de otros servidores o del servidor mismo donde está instalado se debe usar el software Node Exporter, esta se puede descargar también de la página oficial aquí.
Descarga e instalar node_exporter
Descarga la última versión desde la página oficial, esta puede estar obsoleta al momento de leer esta guía
Se mueve y se copia el binario dentro de las carpetas del sistema y se le otorgan permisos al usuario y grupo de monitoreo
Procedemos a crear el proceso para permitir que se ejecute en segundo plano.
Habilitamos e iniciamos el servicio de Node Exporter
Se puede verificar la información exportada en cualquier navegador web colocando en la barra de búsqueda la ip del servidor con el puerto dedicado para Node Exporter en este caso usamos localhost:9100 y se obtiene lo siguiente:
Grafana es nuestra parte visual y de administración de dashboards para la información recolectada por prometheus, acá también se podrán configurar las alertas para que lleguen a nuestro email, telegram, line, discord entre otras muchas posibilidades.
Descargar e instalar grafana.
Para descargar grafana, vamos a la página oficial y descargamos la última versión, en este caso es la v9.3.6 pero para el momento que está mirando esto, puede que ya esté obsoleta, por favor verifique la última versión en la página de descarga oficial aquí.
Grafana ya viene con un proceso por defecto, lo único que tendremos que hacer es iniciarlo.
Se puede verificar si está activo revisando desde cualquier navegador web y colocando en la barra de búsqueda la ip del servidor con el puerto dedicado para Grafana en este caso usamos localhost:3000 y se obtiene lo siguiente:
Para ingresar por defecto el usuario de grafana es admin y la contraseña también es admin, una vez haya ingresado puede modificar sus credenciales de acceso.
Vamos a la sección Import para traer un panel por defecto, si conoce del tema puede poner su propio panel favorito si no tiene panel favorito puede usar uno de los dashboard más conocidos que es el 11074 de la siguiente manera:
Cuando le damos clic al boton “Load” nos saldrá la siguiente interfaz donde le asignamos el nombre, el folder donde queremos que se almacene el dashboard, el ID del Dashboard y por último elegiremos Prometheus para que automáticamente lo detecte.
Después damos clic sobre el boton “Import” y aparecerá un dashboard similar a este.
Puede probar distintos dashboards que existen por defecto, los puede buscar en la documentación de grafana o puede crear uno personalizado.
Realizado por:
Mauricio Gil - maurog@decry.io
fabian - vfabian@decry.io
Fecha: Marzo del 2023