monitor_mt
v1.0.6
Published
Módulo para notificaciones y generación de versiones.
Readme
monitor_mt
jp_monitor es un módulo diseñado para notificar el estado de despliegues y reinicios de servicios mediante un webhook. También genera un archivo de versión (monitor_version.json) que identifica de manera única cada despliegue.
Instalación
Instala el módulo en tu proyecto:
npm install monitor_mtUso
1. Generar el archivo de versión
El archivo monitor_version.json se genera automáticamente durante la construcción de la imagen Docker. Este archivo contiene un identificador único (version) y una marca de tiempo (timestamp) que representan el despliegue actual.
Si deseas generar el archivo manualmente (por ejemplo, para pruebas locales), puedes ejecutar el siguiente comando:
npx monitor-mt generate-versionEsto generará un archivo monitor_version.json en el directorio raíz del proyecto.
2. Notificar al webhook
Para enviar el contenido del archivo monitor_version.json a un webhook, puedes usar la función notifyDeploymentStatus:
const { notifyDeploymentStatus } = require('jp_monitor');
const webhookUrl = 'https://example.com/webhook';
notifyDeploymentStatus(webhookUrl)
.then(() => console.log('Webhook enviado correctamente.'))
.catch((error) => console.error('Error al enviar el webhook:', error));Integración con Docker
Dockerfile
El archivo de versión se genera automáticamente durante la construcción de la imagen Docker. Asegúrate de incluir el siguiente comando en tu Dockerfile:
RUN npx jp_monitor generate-versionEjemplo completo del Dockerfile:
FROM node:18-alpine as builder
WORKDIR /app/server
COPY ./package*.json ./
RUN npm install
RUN npx monitor-mt generate-version
COPY . .
RUN npm run build
CMD [ "/bin/sh", "start.sh" ]
Flujo de despliegue
Construcción de la imagen Docker: Durante la construcción de la imagen, el archivo
monitor_version.jsonse genera automáticamente mediante el comandonnpx monitor-mt generate-version.Inicio del contenedor: Cuando el contenedor se inicia, el script
start.shse ejecuta para iniciar la aplicación:# start.sh #!/bin/bash npm run migration:run node dist/main.jsNotificación al webhook: La aplicación puede enviar el contenido del archivo
monitor_version.jsonal webhook configurado para notificar el estado del despliegue.
Ejemplo de archivo monitor_version.json
El archivo generado tendrá el siguiente formato:
{
"version": "123e4567-e89b-12d3-a456-426614174000",
"timestamp": "2025-05-02T12:00:00.000Z"
}Notas importantes
- Generación única por despliegue: El archivo
monitor_version.jsonse genera durante la construcción de la imagen Docker, asegurando que sea único para cada despliegue. - Reinicios del contenedor: Si el contenedor se reinicia, el archivo de versión no se regenera, lo que permite identificar si se trata de un nuevo despliegue o un reinicio.
Si tienes preguntas o necesitas ayuda, ¡no dudes en abrir un issue o contactarme!
