Supervisión
La aplicación rollapp expone un servidor de métricas HTTP en el puerto 2112, con las métricas rollapp_heighty rollapp_hub_height. El servidor de métricas está habilitado de forma predeterminada cuando se utilizaroller
Configurar Prometeo y Grafana
Antes de configurarlos, debemos asegurarnos de que Docker y Docker Compose estén instalados en su sistema.
Instalación de Docker
Para verificar si Docker está instalado, escriba el siguiente comando:
docker --versionSi Docker está instalado, mostrará los detalles de la versión. Si Docker no está instalado, use estos comandos para instalarlo:
sudo apt-get update -y
sudo apt-get install docker.io
sudo systemctl start docker
sudo systemctl enable dockerInstalación de Docker Compose
Para comprobar si Docker Compose está instalado, escriba el siguiente comando:
docker-compose --versionSi Docker Compose está instalado, mostrará los detalles de la versión. Si Docker Compose no está instalado, use estos comandos para instalarlo:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeConfigurando Prometheus y Grafana
Ahora preparémonos para la configuración del monitoreo. En primer lugar, cree un nuevo directorio llamado 'monitoreo':
mkdir monitoring
cd monitoringAhora, creemos dos directorios para conservar los datos de Prometheus y Grafana:
mkdir prometheus_data grafana_dataAhora actualice la propiedad de estos directorios para el usuario que usaremos en el archivo docker-compose:
sudo chown nobody:nogroup prometheus_data grafana_dataA continuación, cree un prometheus.ymlarchivo con el siguiente contenido:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["172.17.0.1:2112"]NOTA:
Establecimos el objetivo en 172.17.0.1:2112 porque Prometheus se ejecuta dentro de un contenedor Docker y 172.17.0.1 es la puerta de enlace predeterminada para que los contenedores Docker accedan a la red de la máquina host.
Cree también un docker-compose.ymlarchivo con el siguiente contenido:
version: "3"
services:
grafana:
image: grafana/grafana
user: "65534:65534"
ports:
- "3000:3000"
volumes:
- ./grafana_data:/var/lib/grafana
networks:
- monitor-net
prometheus:
image: prom/prometheus
user: "65534:65534"
ports:
- "9092:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus_data:/prometheus
networks:
- monitor-net
networks:
monitor-net:NOTA:
Asignamos el puerto de Prometheus al 9092 en la máquina host (9092:9090). Esto se debe a que el punto final de Rollapp gRPC tomará el puerto 9090 de forma predeterminada. Entonces, para evitar un conflicto de puertos y aún poder acceder a Prometheus, usamos el puerto 9092.
Ya está todo listo. Para iniciar los servicios de monitoreo, ejecute:
sudo docker-compose up -dPara verificar que los servicios se estén ejecutando, ejecute:
sudo docker-compose psAgregar Prometheus como fuente
Después de configurar Prometheus y Grafana, el siguiente paso es agregar Prometheus como fuente de datos en Grafana. Siga los pasos a continuación:
Acceda a la interfaz web de Grafana navegando
http://<Your_IP>:3000en su navegador web. Asegúrese de que el puerto esté expuesto en su firewall.Inicie sesión con las credenciales predeterminadas (
admintanto para el nombre de usuario como para la contraseña). Se le pedirá que cambie la contraseña la primera vez que inicie sesión.Haga clic en el botón grande
Add your first data sourceen el medio de la pantalla.En el
Filter by name or typecampo, escríbaloPrometheusy selecciónelo en el menú desplegable.En el
URLcampo, ingresehttp://prometheus:9090ya que Prometheus se ejecuta dentro de la misma red Docker que Grafana y se puede acceder a él a través del nombre del servicio definido en eldocker-compose.ymlarchivo.Clic en el
Save & Testbotón.
Incorporación de un Dashboard para monitorear RollApp
Comience haciendo clic en el
Create your first dashboardbotón destacado ubicado en el centro de la pantalla de inicio de Grafana.Continúe haciendo clic en el
Add Visualizationbotón.De la variedad de fuentes de datos, elija
Prometheus.En el
Querysegmento ubicado en la sección inferior de la pantalla, seleccione larollapp_heightmétrica del menú desplegable.Para introducir una consulta adicional, haga clic en el
+ Querybotón y seleccione larollapp_hub_heightmétrica en el menú desplegable.Ejecute las consultas haciendo clic en el
Run Queriesbotón y vea los resultados. Suponiendo que la aplicación rollapp se esté ejecutando como se esperaba, debería ver la altura de la aplicación rollapp y la altura del centro.Para conservar la configuración del panel, haga clic en el
Savebotón ubicado en la esquina superior derecha de la pantalla.
¡Felicidades! 🎉
¡Has configurado exitosamente Prometheus y Grafana con tu rollapp para monitoreo a nivel de producción! Ahora está bien equipado para vigilar las métricas críticas de su RollApp.
Recuerde, el monitoreo es un proceso continuo y estas herramientas están aquí para ayudarlo a mantener el mejor rendimiento posible para su RollApp. ¡Feliz seguimiento!
NOTA:
La configuración de alertas está fuera del alcance de esta guía, pero puede encontrar más información sobre cómo hacerlo aquí .
NOTA:
Una métrica clave a monitorear es la rollapp_heightmétrica. Si la altura de su RollApp no aumenta, significa que su RollApp no está produciendo bloques. Esto podría deberse a varios motivos, como falta de equilibrio en las capas base, configuración incorrecta, errores, etc. Para obtener más información, consulte nuestra guía de solución de problemas .
En la siguiente sección, aprenderemos cómo incluir su RollApp en el Portal Dymension .
Last updated