18
2022/04/28 22:04 1/18 Monitorización transaccional de negocio Pandora FMS Documentation - https://pandorafms.com/manual/ Monitorización transaccional de negocio Volver al Índice de Documentación Pandora FMS Monitorización Transaccional Introducción Versión NG 7 o posterior. Pandora FMS incorpora desde su versión 7 la posibilidad de monitorizar procesos de negocio. El componente de servidor transaccional implementado en esta versión permite ejecutar tareas dependientes unas de otras siguiendo un diseño definido por el usuario. Esto significa que es posible coordinar diferentes ejecuciones para comprobar un objetivo en un momento determinado. Pongamos, por ejemplo, un caso práctico. Podría consistir en realizar el seguimiento de un pedido que va pasando por sus diferentes fases, pudiendo llevar un control de los tiempos en cada uno de los pasos, departamentos o etapas: Esto define un grafo de 4 etapas:

Monitorización transaccional de negocio

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Monitorización transaccional de negocio

2022/04/28 22:04 1/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

Monitorización transaccional de negocio

Volver al Índice de Documentación Pandora FMS

Monitorización Transaccional

Introducción

Versión NG 7 o posterior.

Pandora FMS incorpora desde su versión 7 la posibilidad de monitorizar procesos de negocio. Elcomponente de servidor transaccional implementado en esta versión permite ejecutar tareasdependientes unas de otras siguiendo un diseño definido por el usuario. Esto significa que es posiblecoordinar diferentes ejecuciones para comprobar un objetivo en un momento determinado.

Pongamos, por ejemplo, un caso práctico. Podría consistir en realizar el seguimiento de un pedido queva pasando por sus diferentes fases, pudiendo llevar un control de los tiempos en cada uno de lospasos, departamentos o etapas:

Esto define un grafo de 4 etapas:

Page 2: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Portal: Recepción del pedido.1.EMI01: Proceso del pedido.2.ORAMON: Guardado en base de datos.3.Correo electrónico: Notificación a logística.4.

Pandora FMS utilizará este grafo junto con una serie de scripts de control para monitorizar elproceso anteriormente indicado, mostrando visualmente el estado en que está en todo momentocada una de las partes que conforman nuestro proceso de negocio.

A continuación veremos cómo monitorizar de forma completa un proceso transaccional.

Funcionamiento

Una transacción se define como un conjunto de pasos queconforman una tarea más compleja. Estos pasos sondenominados fases.

El conjunto de fases y su flujo de trabajo (relaciones de dependencia) definirá un grafotransaccional.

Pandora FMS, basándose en el grafo transaccional, lanzará una orden de ejecución de scripts decontrol en cada una de las fases anteriormente definidas. Estos scripts de control realizarán las tareasde monitorización de cada fase.

Los puntos más habituales a comprobar en los scripts de control que pueden darnos informaciónsobre el estado de nuestra transacción son:

Entradas en ficheros de log.Presencia de archivos temporales.Consultas directas a bases de datos.Existencia de correos en bandejas de entrada.

El sistema transaccional es distribuido, pudiendo desplegar tantos Agentes transaccionales ennuestra infraestructura como necesitemos, y será el servidor de Pandora FMS el que se comunicarácon estos Agentes, indicándoles los pasos a seguir y los momentos en que deben ejecutar un scriptde control.

Configurar una transacción

Para configurar y realizar adecuadamente un proceso de monitorización transaccional se necesitará:

Análisis previo del proceso de negocio a monitorizar:Flujo de trabajo.Puntos implicados.Scripts de control.

Despliegue de Agentes transaccionales en los equipos requeridos, para controlar el flujo de

Page 3: Monitorización transaccional de negocio

2022/04/28 22:04 3/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

información.Desarrollo y despliegue de los scripts de control en los Agentes transaccionalesnecesarios.Configuración de los Agentes transaccionales.

Desde la Consola de Pandora FMS, crear la transacción introduciendo los datos en losformularios.

Análisis previo

Análisis de un caso habitual:

La transacción se inicia cuando se recibe un pedido en la máquina Portal. Se tiene, por tanto, quedesplegar un Agente transaccional en Portal o bien en una máquina capaz de realizar consultasremotas. En esta primera fase se ejecutará un script crítico, el disparador (trigger) de transacción.

En el siguiente paso de la transacción se lanza una labor de procesado del pedido en la máquinaEMI01, empleando diferentes códigos identificadores del pedido realizado en el paso anterior. Senecesita otro agente transaccional en esta máquina o en una capaz de consultarla remotamente. Elscript de control de esta fase deberá comprobar que el proceso se ha completado correctamente;para ello buscará entradas en archivos de registro, eventos o archivos temporales.

El tercer paso de la transacción será almacenar el pedido ya procesado en una base de datosOracle®, en la máquina ORAMON. Es habitual que estas máquinas estén con alta seguridad y no seaposible la instalación de software adicional en ellas, por lo que desplegaremos el Agentetransaccional en una máquina remota con permisos para lanzar consultas contra la base de datos.

El último paso es confirmar la existencia de un correo electrónico en la bandeja de entrada deldepartamento de Logística en un servidor de correo público. Dado que no podemos desplegar unAgente en esta máquina, se realizarán las consultas desde otra que sea capaz de acceder a ella. Se

Page 4: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

puede utilizar un plugin clásico de Pandora FMS con pequeñas variaciones para realizar la verificaciónde la llegada del correo electrónico.

Despliegue y desarrollo

En este ejemplo se identifican cuatro fases, y se necesitan cuatro scripts:

1. Trigger de transacción: dejar un pedido ficticio en la máquina Portal para poder rastrearlo.2. Script de control: buscar una cadena en un archivo de log.3. Script de control: realizar una consulta a la base de datos.4. Script de control: confirmar la existencia de un correo electrónico en la bandeja de entradade Logística.

El trigger de transacción dejará una copia de un fichero de un pedido en un punto determinado (porejemplo, mediante FTP).

Todos los scripts de control deben tener una estructura básica como la del siguiente ejemplo:

#!/bin/bash######################### Check Control Set########################function check_flag() { # Condiciones del script de control if [ "a" == "a" ]; then

Page 5: Monitorización transaccional de negocio

2022/04/28 22:04 5/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

return 1; fi return 0;}max_tries=100wait=3try=0while [ $try -le $max_tries ]; do if [ check_flag == 1 ]; then echo 1 exit 0 fi sleep $wait try=`expr $try + 1`doneecho 0exit 1

Una vez se tengan todos los scripts funcionando correctamente, se procede a desplegar los Agentestransaccionales en las máquinas que se necesiten.

tar xvzf pandorafms_transactional.tar.gz cd pandora_transactional ./pandora_transactional_installer --install

Puede encontrar el Agente transaccional en la librería de módulos de Pandora FMS.

Se debe modificar el fichero de configuración del Agente (por defecto/etc/pandora/pandora_transaccional.conf ) para apuntar al servidor Pandora FMS quedirigirá el proceso de la transacción.

Para iniciar el servicio del Agente transaccional:

/etc/init.d/transactional_daemon start

Creación de transacción

Vaya a la Consola web de Pandora FMS. Acceda al menú Topology maps → Transactional map:

Page 6: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Haga clic en Create transactions y complete los campos:

Agent: Agente de Pandora FMS donde se guardarán los Módulos generados por el sistema(histórico).Group: Para control de la visibilidad y accesos mediante grupos.Loop interval: Tiempo de espera antes de lanzar de nuevo la transacción.

Creación del árbol de fases

Una vez creada la transacción, vaya al listado y haga clic en el icono de llave ajustable (Edit phases)y proceda a dar forma al árbol de fases

Page 7: Monitorización transaccional de negocio

2022/04/28 22:04 7/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

En el formulario debe introducir los datos de cada fase:

Index: Identificador único de la fase en la transacción actual.Agent: Donde se ejecutará el script de control correspondiente.Dependencies: Fases anteriores que deben estar completadas antes de iniciar la fase encuestión. Se indicarán los índices de las fases correspondientes separados por comas.Enabled: Descendientes, fases que se habilitarán cuando se complete la fase que estamoseditando. Se indicarán los índices de las fases separados por comas.Actions: Guardar cambios.

Page 8: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Por defecto existe una fase inicial START, esta fase se utiliza únicamente para definir qué fases seránlas primeras en ser ejecutadas. Presione el botón Add para insertar el índice de la primera fase aejecutar(1) Recepción de pedido:

Al guardar el cambio automáticamente marca la fase con estado de error. Esto es debido a que, en ladefinición, no existe ninguna fase con índice 1. Presionamos “Agregar” para crearla:

Page 9: Monitorización transaccional de negocio

2022/04/28 22:04 9/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

Una vez guardados los cambios, se crea la fase, actualizando la previsualización del grafo detransacción y corrigiendo el aviso previo.

En el campo dependencias de la fase 1 se ha establecido '0' para indicar que esta fase iniciará cuandola fase START se haya completado con éxito.

Siguiendo el mismo procedimiento se crean todas las fases:

La última fase no habilitará nada, significará que la transacción ha terminado.

En la captura aparece una advertencia en color amarillo que indica que hay algo pendiente de serconfigurado: serán los scripts de control.

Configuración de los scripts de control

Se debe configurar los scripts de control asociados a cada fase. Estos deben haber sido previamentedefinidos para realizar las comprobaciones deseadas, y mantener una estructura básica determinada.

La salida estándar ( STDOUT ) del script determinará el valor central mostrado en la fase, mientrasque el estado (correcto o incorrecto) será determinado por el resultado de la ejecución del propioscript.

El resultado de la ejecución ( STDERR , también llamadoerrorlevel, nivel de error, o código de ejecución) esdistinto de la salida estándar ( STDOUT ) del script (el valorque devuelve por pantalla al ejecutarlo).El resultado deejecución o errorlevel puede comprobarse ejecutando echo$? en sistemas Linux y echo %ERRORLEVEL% en sistemasWindows®.

Page 10: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Teniendo esto presente, acceda al formulario mediante el icono de edición:

En el formulario de configuración de los scripts de control puede ajustar el comando a ejecutar,número de reintentos y el tiempo máximo de ejecución permitido para el script indicado:

Launch script: Ubicación o ruta completa del script de control, llamada, comando, etc. Puedeutilizar la macro _name_ para indicar al script, como argumento, el nombre de la transacción encurso.Retries: Número máximo de reintentos de ejecución hasta conseguir una respuesta positiva.Timeout: Valor máximo, en segundos, que permanecerá en ejecución el script de control(característica no disponible para el Agente transaccional en Windows®).

En este ejemplo se utiliza un script personalizado ( echo1.sh ) para simular las acciones del triggerde transacción y de los scripts de control de cada fase:

Page 11: Monitorización transaccional de negocio

2022/04/28 22:04 11/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

Una vez tenga configurado correctamente el entorno puede iniciar la transacción.

Cualquier cambio realizado sobre la configuración de unatransacción no se hará efectivo hasta que se reinicie lamisma.

Control de una transacción

Iniciar una transacción

Navegue hasta la lista de transacciones y pulse el icono de iniciar:

Page 12: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Una vez iniciada la transacción aparecerá el botón para detener transacción:

Puede visualizar el estado de la transacción desde el visor pulsando sobre el nombre de latransacción:

Detener una transacción

Para detener la transacción solo tiene que accionar el botón correspondiente. Tras pocos segundospuede volver a iniciarla mediante el botón de ejecución.

Visualizar una transacción

Acceda a la vista pulsando en el nombre de la transacción, en el listado de transacciones.

Vista de ejecución en curso (inicio de transacción):

Page 13: Monitorización transaccional de negocio

2022/04/28 22:04 13/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

Vista de ejecución en curso (fase intermedia):

Page 14: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

Vista de transacción completa:

Page 15: Monitorización transaccional de negocio

2022/04/28 22:04 15/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

Configuración

Servidor transaccional

Los parámetros de configuración del servidor transaccional son los siguientes:

transactionalserver 1

transactional_threads 1

transactional_threshold 4

# Work directory # By default in icomingdir/trans transactional_pool trans

transactionalserver: Para iniciar el componente de servidor transaccional al iniciar el serviciopandora_server.

Page 16: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

transactional_threads: Se agrega el campo por convenio; internamente solo es necesario un hilopara gestionar las transacciones activas desde el servidor. Es el Agente el que tiene elsubsistema de hilos dinámico para la gestión de ejecuciones de las transacciones configuradas.transactional_threshold: Tiempo de espera entre cambios de estado. Este campo nos define eltiempo (en segundos) que el sistema esperará entre los cambios de estado de los elementosque componen una transacción (recomendado 4).transactional_pool: Directorio en que se almacenarán los archivos .lock que internamenteutiliza el sistema para realizar las comunicaciones entre los diferentes componentes lógicos(por defecto en /var/spool/pandora/data_in/trans).

Para que el sistema esté totalmente operativo debe tener activos tanto el servidor de datos (dataserver ) como el servidor transaccional ( transactionalserver ). Puede comprobarlo en lavista táctica de servidores:

Agente transaccional

El Agente transaccional tiene un fichero de configuración en su directorio de trabajo, por defecto en:

/etc/pandora/pandora_transactional.conf

Con el siguiente contenido:

############################################################# Base config file for Pandora FMS transactional agent# Version 2.0# Copyright (c) 2003-2016 Artica Soluciones Tecnologicas# http://www.pandorafms.com#############################################################

server_ip=localhostserver_port=41121

# Temporal directorytemporal=/tmp#temporal=C:\Program Files\pandora_transactional\tmp

# Log directorylog=/var/log/pandora/pandora_transactional.log

Page 17: Monitorización transaccional de negocio

2022/04/28 22:04 17/18 Monitorización transaccional de negocio

Pandora FMS Documentation - https://pandorafms.com/manual/

# Tentacle binarytentacle_bin=/usr/bin/tentacle_client

################################ Set the name of the agent################################agent_name=transactional_agentagent_interval=300

# Performance (in seconds) internal clockpause=5

# Show all log messages# (0 - show none, 1 - show script execution messages, 2 - show all)verbose=2

server_ip: Dirección IP o nombre del servidor transaccional de Pandora FMS.server_port: Puerto de escucha el servidor Tentacle.temporal: Directorio auxiliar para ficheros de trabajo temporales.log: Ruta del archivo de registro.tentacle_bin: Ruta del binario del cliente Tentacle.agent_name: Opcional, utilizar un nombre personalizado para identificar este agente. Pordefecto utiliza el nombre de máquina.pause: Tiempo por defecto en segundos entre pasos. Se ajustará a la configuración recibida porel servidor para mantener la sincronía.verbose: Control de la cantidad de información mostrada en los archivos de registro. Pordefecto, se vuelca al fichero cualquier salida en STDERR que generen los scripts de control:

0: mostrar solo mensajes de error crítico.1: mostrar ejecuciones de los scripts de control.2: mostrar todos los mensajes.

Toda la configuración de transacciones se publicará en el servidor de Pandora FMS. Será el Agente elque se encargue de rastrear estos ficheros e iniciar las estructuras de datos necesarias para iniciarlas transacciones solicitadas.

Ante cualquier actualización en una transacción activa, el Agente detendrá esta transacción, iniciandoun nuevo proceso para instanciar una nueva. Se descartará todo progreso previo.

El sistema transaccional ejecuta la transacción completa. Es decir, si falla en la ejecución de un scriptse seguirá ejecutando la transacción, marcando como errónea la fase donde se ha detectado elfallo. Por tanto, interpretaremos una transacción como con fallo completo cuando a partir de unafase hasta el final todas aparecen marcadas como erróneas.

Puede encontrar el Agente transaccional en la librería de módulos de Pandora FMS.

Volver al Índice de Documentación Pandora FMS

Page 18: Monitorización transaccional de negocio

Lastupdate:2022/04/2814:35

es:documentation:03_monitoring:12_transactional_monitoring https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

https://pandorafms.com/manual/ Printed on 2022/04/28 22:04

From:https://pandorafms.com/manual/ - Pandora FMS Documentation

Permanent link:https://pandorafms.com/manual/es/documentation/03_monitoring/12_transactional_monitoring

Last update: 2022/04/28 14:35