Monitoreo de transacciones sintéticas

Monitoreo de transacciones sintéticas

La solución permite implementar monitoreo de transacciones sintéticas para evaluar de forma continua el comportamiento de aplicaciones y servicios críticos, simulando recorridos o validaciones previamente configuradas sobre portales, sistemas internos o procesos de negocio.

Este enfoque permite medir disponibilidad, tiempos de respuesta y comportamiento funcional de las aplicaciones, incluso en ausencia de usuarios reales, facilitando la detección temprana de fallas, degradaciones del servicio o respuestas inesperadas durante la navegación y ejecución de procesos.

Adicionalmente, este tipo de monitoreo proporciona visibilidad del desempeño percibido por el usuario final, ayudando a identificar incidentes asociados con lentitud, errores visibles, fallas de acceso o afectaciones en componentes involucrados en la atención de una transacción.

Los resultados pueden representarse mediante gráficas, históricos, umbrales, alertas y vistas operativas, permitiendo analizar tendencias, validar el funcionamiento esperado de los servicios y contar con trazabilidad sobre el comportamiento de las transacciones configuradas.

A continuación se detallan los pasos realizados para poder agregar las URLs al monitoreo de NMIS 9.

  1. Se accede a la consola del servidor y se ejecuta el siguiente comando para almacenar cada una de credenciales de las URLs. Nunca usar caracteres especiales para generar este archivo. Se debe teclear el usuario y el password donde se solicite.

sudo docker exec -it go_monitor /app/encrypt_credentials -e -o /app/credentials/server1.enc Enter username: usuario Enter password: contraseña Credentials encrypted and stored in /app/credentials/server1.enc
sudo docker exec -it go_monitor /app/encrypt_credentials -e -o /app/credentials/server2.enc Enter username: usuario Enter password: contraseña Credentials encrypted and stored in /app/credentials/server2.enc

 

  1. Verificar que la credencial ha sido correctamente almacenada en la ruta /etc/go_monitor_credentials:

cd /etc/go_monitor_credentials ll server1.enc* -rw-r--r-- 1 root root 153 Jan 30 05:23 server1.enc ll server2.enc* -rw------- 1 root root 153 Feb 13 20:01 server2.enc

 

  1. Validar que la conexión a las dos páginas sean correctas, utilizando los siguientes comandos:

curl --silent -X POST http://localhost:2165/monitor -H "Content-Type: application/json" -d '{ "url": "https://linkdelsitio1", "credential_file": "/app/credentials/serve1.enc", "decrypt_binary": "/app/encrypt_credentials", "debug": true, "timeout": "40s" }' {"success":true,"message":"Monitoring completed successfully","login_success":true,"green_semaphore":true,"time_drift_seconds":18.011502074,"last_access_time":"2025-03-13 12:36:36"}

 

curl --silent -X POST http://localhost:2165/monitor -H "Content-Type: application/json" -d '{ "url": "https://linkdelsitio2", "credential_file": "/app/credentials/server2.enc", "decrypt_binary": "/app/encrypt_credentials", "debug": true, "timeout": "40s" }' {"success":true,"message":"Monitoring completed successfully","login_success":true,"green_semaphore":true,"time_drift_seconds":5.636414076,"last_access_time":"2025-03-13 12:30:32"}

 

El success indica que las credenciales funcionan y la conexión es exitosa.

 

  1. Para agregar ambas URLs a NMIS, accedemos a la ruta System > System Configuration > Services.

image-20241210-184600.png
  1. Se mostrará la tabla de servicios. Damos clic en "add".

image-20241210-185007.png
  1. Agregamos el servicio como sigue:

  • Name / Service Name: se puede agregar el nombre del servicio en ambos campos (no agregar diagonales).

  • Service Type: para monitorear estas dos URLs de transacciones sintéticas, se requiere "program" en este campo.

  • Port: agregar puerto si es requerido.

  • Poll Interval: seleccionar el tiempo de consultas.

  • Program Path: para este desarrollo, se utiliza el script especializado:

    /usr/local/nmis9/conf/scripts/go_monitor-check
  • Program Args: se agregan las URLs

-f /app/credentials/server1.enc -url https://linkdelstio1 -timeout 40s -f /app/credentials/server2.enc -url https://linkdelsitio2 -timeout 40s
  • Max Program Runtime: intervalo de tiempo máximo para la ejecución, se recomienda un timeout de 45 para este desarrollo.

  • Collect Program Output: dejar en falso para no colectar logs.

  • Descripción: puede dejarse en blanco o agregar una descripción.

image-20260325-193411.png

Dar clic en "Add" para guardar los servicios. Se agregarán a la tabla.

image-20260325-193434.png
  1. Para agregar el servicio a un nodo, se realiza el proceso ya conocido accediendo a "Edit Node" > "Service Monitoring" y se selecciona el servicio creado. Se da clic en "Edit and Update Node" para guardarlo. El servicio aparecerá en el apartado "services" del nodo correspondiente.

image-20260325-193622.png
image-20260325-193722.png