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íbalo- Prometheusy selecciónelo en el menú desplegable.
- En el - URLcampo, ingrese- http://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 el- docker-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 la- rollapp_heightmétrica del menú desplegable.
- Para introducir una consulta adicional, haga clic en el - + Querybotón y seleccione la- rollapp_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
