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.
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.encsudo 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
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
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.
Para agregar ambas URLs a NMIS, accedemos a la ruta System > System Configuration > Services.
Se mostrará la tabla de servicios. Damos clic en "add".
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-checkProgram Args: se agregan las URLs
-f /app/credentials/server1.enc -url https://linkdelstio1 -timeout 40s
-f /app/credentials/server2.enc -url https://linkdelsitio2 -timeout 40sMax 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.
Dar clic en "Add" para guardar los servicios. Se agregarán a la tabla.
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.