En este tutorial vamos a crear un panel de monitorización con grafana para nuestra stake pool, esta consta de 3 nodos relays y 1 nodo core.
Uno de los relays, el número 3, lo usaremos para levantar el servicio de Grafana con su interfaz web. El resto de nodos relays y el core siguen los mismos pasos.
Vamos a monitorizar tanto las métricas generadas por cardano-node, como las métricas generales del servidor con node-exporter de Prometheus.
Puesta a punto del entorno
Instalar Grafana
Añadimos el key al apt :
Añadimos el repositorio al apt:
Actualizamos los paquetes(ya tenemos el repo verificable de grafana en apt)
Instalamos grafana:
Cambiamos el puerto donde se desplegará Grafana:
Elige el puerto de tu elección(también puedes dejar el puerto por defecto):
http_port = <port>
Inicia el servicios de grafana y haz que se inicie automáticamente si se reinicia el servidor.
Comprueba el estado de grafana:
Otras opciones:
Abre el puerto establecido en grafana.ini con ufw:
Ahora todo el mundo puede acceder al login de la web de:
http://<ip-address>:<port>
La primera vez que accedes, 'admin' es el usuario y contraseña, después cambia la contraseña.
Puede pensar en establecer un nombre de dominio a la dirección ip para hacer el acceso mas amigable.
Finalmente, instala el plugin Clock:
Instala Prometheus & node exporter
Busca el archivo de configuración de prometheus-node-exporter:
Elige el puerto de tu elección, busca la siguiente linea:
Cámbiala por:
Start the services and enable them to init when reboot:
Inicia el servicio y haz que se inicie automáticamente si se reinicia el servidor.
Una vez que todos los servicios está instalados y funcionando, vamos a editar el archivo de configuración de prometheus para añadir la fuente de las métricas de todos los nodos(incluído el localhost). Buscamos el archivo de configuración:
Añadir las metricas a Prometheus
Antes de continuar, asegúrate de completar todos los pasos del resto de nodos.
Reemplaza el contenido por:
Date cuenta que el relay3 es el host de grafana, entonces solo necesitamos especificar la ip 127.0.0.1 para esta fuente, porque está todo en la misma máquina.
BAsegúrate de reemplazar<ip-address> y <node-exporter-port> con tus valores.
Reiniciamos el servicio para cargar la nueva configuración:
Puesta a punto del entorno
Instalar Prometheus & node exporter
or
Edita el servicio:
Elige el puerto donde se lanzarán las métricas de node-exporter. Cambia la siguiente línea:
Por:
Start the services and enable them to init when reboot: Inicia el servicios y haz que se inicie cada vez que reinicia el servidor.
Cardano config: Hacemos que las métricas sean accesible desde fuera de localhost
Vamos a encontrar el archivo de configuración usado por cardano-node:
Cambia el campo hasPrometheus:
"hasPrometheus": [ "127.0.0.1", 12798 ]
Por:
"hasPrometheus": [ "0.0.0.0", 12798 ]
Después de editar el archivo, tienes que reinicar el nodo para que cargue los nuevos valores de configuración.
Firewall: reestringir el puerto de cardano-node 12798
Abrimos el puerto para una dirección ip específica, en este caso, para el relay3-host.
Felicidades! Hemos hecho que cardano-node genere metricas accesibles desde el puerto 12798 y que node-exporter genere métricas sobre el servidor en el puerto <port>.
Grafana monitor web
Añade la fuente de métricas Prometheus:
En el panel de grafana, Ir a Configuration > Data Sources > Add data source y selecciona Prometheus.
Crear un panel para tu stake pool desde cero
En el menú izquierdo de grafana, vete a + > Create > Dashboard.
Crear un gráfico que muestre los peers conectados a cardano-node.
1. Seleccionamos la fuente de datos Prometheus
2. Seleccionamos la métrica específica
Ejemplo de gráfico:
3. Establece las propiedades de la gráfica
Cargar un dashboard desde archivo.
En el panel de grafana, Ir a + > Create > Import > introduce el contenido json.
Ejemplo de panel version 1:
Apoyo nuestro trabajo delegando al pool Ada Booster.