Guía del usuario de IBTransaction Monitor
Dmitry Kuzmenko, 08-Jun-2008
IBSurgeon Transaction Monitor (IBTM) es un paquete de software diseñado para monitorear, visualizar y analizar transacciones dinámicas en bases de datos InterBase y Firebird.
Contenido
Guía del usuario de IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}
¿Qué hay dentro?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Monitor{C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
¿Qué se registra?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Asistente de configuración{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}
Uso del Asistente de configuración{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Gestión del servicio Monitor. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Configuración de servidores. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Configuración de bases de datos. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}
Visualizador{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}
Tipos de vista de gráfico. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}
Soporte técnico{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}
El paquete IBTM contiene tres módulos principales:
- Monitor - Un pequeño programa basado en servicios Win32 para monitorear y registrar los estados de transacciones de una o más bases de datos.
- Asistente de configuración Para configurar los ajustes del Monitor y el Visor.
- Visualizador Diseñado para ver y analizar la información registrada por el Monitor.
El Monitor es un pequeño programa basado en servicios Win32 (ibtm.exe), que funciona en Windows NT, 2000, XP y Windows Server 2003 y 2008 (tanto de 32 como de 64 bits). Al iniciarse, el Monitor lee la configuración (establecida por el Asistente de configuración) y monitorea la base de datos especificada. Durante el monitoreo, se conecta a la base de datos cada minuto (intervalo predeterminado recomendado) y lee el estado de las transacciones.
Si InterBase o Firebird se ejecuta en Windows, el Monitor puede instalarse en el servidor donde reside la base de datos. Para servidores basados en Linux, puede instalarse en cualquier computadora Windows con acceso de red al servidor InterBase o Firebird. Puede instalar el Monitor utilizando los siguientes métodos:
- Usando el Asistente de configuración
- Desde una ventana de shell de comandos
¡Importante! Antes de comenzar a instalar el Monitor, debe asegurarse de haber iniciado sesión en Windows con derechos y privilegios de Administrador. El Monitor se instalará como un servicio con inicio Automático bajo la cuenta de usuario Localsystem.
Dado que el Monitor solo se conecta periódicamente a la base de datos y escribe la información recopilada en un archivo de registro de texto plano, no es necesario aplicar reglas adicionales. Sin embargo, si desea proteger la configuración del Monitor y la información de inicio de sesión de la base de datos, debe cambiar la configuración del servicio del Monitor y el acceso a su directorio (y registro) según sea necesario, a través del Panel de control de servicios de Windows.
Los parámetros de configuración del Monitor se discutirán en el Asistente de configuración.
El Monitor verifica periódicamente la página de cabecera de la base de datos y luego almacena la información de transacciones de la base de datos en el registro, de la siguiente manera:
- Hora del registro
- Número de transacción más antigua
- Número de transacción de instantánea más antigua
- Número de transacción activa más antigua
- Número de siguiente transacción
- Conteo de transacciones activas (depende de la versión del servidor)
Esta información se almacena en el archivo de registro y luego puede verse y analizarse usando el Visualizador. Usando la información visual del estado de transacciones, puede comprender cuánto tiempo sus aplicaciones mantienen transacciones abiertas, cuántas transacciones simultáneas se están ejecutando, cuánto tiempo se ejecutan las transacciones de instantánea, cuándo es el momento más intensivo en que las aplicaciones inician transacciones, etc.
Nota: El Monitor registra la información del estado de transacciones en el archivo de registro local. No envía esta ni ninguna otra información a través de la red.
El Asistente de configuración (ibtmconfig.exe) se utiliza para establecer los parámetros de configuración del Monitor y el Visor. Guarda los parámetros de configuración en el archivo ibtm.ini.
¡En Windows Vista o Windows 7 debe ejecutar el Asistente de configuración con privilegios administrativos (clic derecho del mouse), o no podrá gestionar el servicio IBTM (Error 5, acceso denegado).
¡Consejo! IBTM no utiliza el Registro para almacenar parámetros de configuración, por lo que puede preparar una configuración en una computadora y luego mover ibtm.ini a otra computadora donde esté instalado el Monitor (el servicio Monitor debe reiniciarse para leer una nueva configuración).
El Monitor y el Asistente de configuración son colocados por el instalador de IBTM en el mismo directorio, de modo que el Monitor y el Asistente de configuración comparten el mismo archivo de configuración (ibtm.ini).

El Asistente de configuración le ayuda a
- Gestionar el servicio Monitor - instalar, desinstalar, iniciar, detener, pausar y reiniciar.
- Especificar los servidores InterBase o Firebird que tienen bases de datos que necesitan ser monitoreadas
- Especificar bases de datos y opciones de monitoreo/programación para una base de datos particular

Cuando el Asistente de configuración se inicia, determina el estado del servicio Monitor en el Sistema.
Instalación del Monitor - si el servicio Monitor no está instalado, verá un mensaje de “no instalado” en la etiqueta de estado de IBTM en la esquina superior izquierda. Para instalar el Monitor, presione el botón Instalar en el lado derecho de la ventana. Tenga en cuenta que el servicio Monitor utilizará el valor de la casilla de verificación Tipo de inicio (automático o manual). Si la instalación del servicio Monitor ha tenido éxito, verá que el estado de IBTM cambia a “detenido” y el botón “Ejecutar servicio” se habilitará.
Debe reiniciar el servicio Monitor cada vez que cambie cualquier parámetro de configuración de la base de datos.
IBTM utiliza el protocolo de conexión TCP/IP para acceder a la(s) base(s) de datos para el monitoreo. Por lo tanto, si instaló el Monitor en la misma computadora en la que está el servidor, debe agregar el servidor como localhost o el nombre de host del servidor. Una vez hecho esto, podrá agregar las bases de datos que se monitorearán en este servidor.
Con esta versión de IBTM solo puede monitorear una base de datos a la vez. Se requieren licencias adicionales para monitorear una o más bases de datos simultáneamente. Por favor contáctenos para más detalles ( www.ibphoenix.com).
Sin embargo, puede configurar varios servidores y bases de datos y cambiar entre ellos para seleccionar la base de datos a monitorear (la base de datos activa se resaltará en negrita). Con licencias adicionales podrá monitorear varias bases de datos simultáneamente.
Use los botones Agregar servidor y Agregar base de datos en el lado izquierdo de la lista de Bases de datos.
Cada registro de base de datos puede configurarse con los siguientes parámetros:
Método de obtención de estadísticas. Esto depende de la versión del servidor y admite diferentes capacidades. Cada método se describe con sus pros y contras:
| Services API | Firebird API | Tablas TMP$ | |
| InterBase 4.x/5.x | No | No | No |
| InterBase 6.0 Classic | No | No | No |
| Firebird Classic - 1.0, 1.5.0, 1.5.1, 1.5.2 |
No | Sí | No |
| InterBase 6.x SuperServer | Sí | No | No |
| InterBase 7.x/2007 | Sí | No | Sí |
| Firebird Classic y SuperServer: 1.5.3, 1.5.4 /2.0 | Sí | Sí | No |
Diferencias entre Services API, Firebird API y tablas TMP$:
| Método | Pro | Defectos |
| Services API API pública introducida en InterBase 6.0 SuperServer |
- Método universal, funciona con todas las versiones de InterBase y Firebird - No afecta a la siguiente transacción |
- No tiene la capacidad de encontrar el conteo real de transacciones activas - Puede mostrar información desactualizada si el servidor rara vez guarda la página de cabecera de la base de datos en disco (InterBase V7.1/V7.5) |
| Firebird API Firebird desde V1.0 tiene parámetros extendidos para la llamada isc_database_info, que permite devolver información del estado de transacciones. |
Permite la capacidad de obtener información del conteo de transacciones activas (no más de 4676 transacciones activas) | - No es compatible con ninguna versión de InterBase - Internamente incrementa la siguiente transacción. El Monitor incrementará la siguiente transacción en +1 cada vez que se conecte a la base de datos. Si no hay actividad de transacciones en la base de datos en ese momento, los números de Transacción activa más antigua, Instantánea más antigua y Transacción más antigua permanecerán sin cambios. Si no hay ninguna actividad en la base de datos, el Monitor mismo incrementará la siguiente transacción a +1440 en 24 horas, si está configurado para verificar la base de datos cada (1) minuto. (La Firebird API en sí no tiene este efecto. El comportamiento descrito es específico del método isc_database_info) |
| Tablas TMP$ Fue introducido en InterBase 7.0 para permitir el monitoreo del estado del servidor |
- Permite la recuperación del estado real de transacciones de InterBase V7.x/V2007, incluido el conteo de transacciones activas. - Para obtener la información del estado de transacciones, el Monitor inicia una transacción con parámetros read_only read_committed rec_version. Dicha transacción no se trata como activa para fines de contabilidad de transacciones y no afecta el rendimiento del servidor o la base de datos. |
- Solo es compatible con InterBase V7.0/V7.1/V7.5/V2007 - Al igual que con la Firebird API, incrementa el número de la siguiente transacción, porque la lectura de datos de las tablas TMP$ debe realizarse dentro de una transacción. - El tiempo de acceso es un poco más largo que usar la Services API (< 0.5 segundos). |
Si ha elegido un método de estadísticas que es incompatible con su servidor, no se escribirá nada en el registro de transacciones del Monitor. Verifique la pestaña Registro de errores en el Asistente de configuración para ver los errores que pueden ocurrir durante el monitoreo de la base de datos.
Intervalo de verificación. Esto determina con qué frecuencia el Monitor toma la información de transacciones de una base de datos. 1 minuto es el intervalo mínimo. Puede establecer 1, 3, 5, 10, 20, 30 minutos, o incluso un intervalo de 1 hora, pero el intervalo más informativo es de 1 o 3 minutos.
Usando el intervalo de 1 minuto, el Monitor verificará el estado de transacciones de la base de datos 1440 veces cada 24 horas. El tamaño del archivo de registro será de ~150 Kilobytes.
Hora de inicio y Hora de fin. Si no se establece, el Monitor tomará estadísticas de la base de datos especificada todo el tiempo que esté funcionando. Si se establece el límite de tiempo, el Monitor operará solo durante el período de tiempo especificado.
Nombre de usuario y Contraseña. El nombre de usuario y la contraseña de la cuenta que se utilizará para monitorear el estado de transacciones de la base de datos. Puede usar el inicio de sesión SYSDBA o cualquier otro inicio de sesión de usuario que desee. Si se usa un inicio de sesión que no sea SYSDBA, para los métodos Services API y Firebird API no es necesario otorgar privilegios adicionales para esa cuenta de usuario. Puede crear un usuario como ‘TM’, y el Monitor funcionará correctamente.
Para Tablas Temporales del Sistema (IB V7.1, V7.5, V2007), el inicio de sesión del usuario debe tener derechos de acceso de lectura en las tablas TMP$TRANSACTIONS y TMP$DATABASES. Si usa Autenticación de Usuario Embebida en su base de datos InterBase V7.5/V2007, necesita crear un inicio de sesión y otorgar esos derechos de acceso para esa base de datos explícitamente.
Botón Probar conexión al servidor.

Permite verificar el servidor especificado para encontrar el mejor método de monitoreo de transacciones. También puede usar este botón para verificar si el método seleccionado funciona para el servidor especificado.
El Visualizador puede ver la información de transacciones recopilada por el Monitor. El directorio base para los archivos .tmd se toma de la configuración del Asistente de configuración.

En el lado izquierdo puede ver la lista de archivos de estadísticas. Por defecto, el Visor busca en la carpeta Log que se encuentra en la carpeta base de instalación. Puede cambiar esta carpeta mediante el Asistente de configuración, o abrir la carpeta requerida a través de la opción de menú del Visor.
Haga clic en el archivo de estadísticas: se mostrará en el gráfico inmediatamente. Puede consultar varias estadísticas al mismo tiempo presionando el botón Ctrl o Shift y haciendo clic en los archivos de estadísticas:

En la esquina inferior izquierda puede activar o desactivar diferentes líneas del gráfico (Next, Oldest…). Por ejemplo, si desea ver la dinámica de transacciones, active Next dynamic: mostrará cuántas transacciones nuevas se iniciaron entre las lecturas de IBTM de la base de datos:

En los lados derecho, izquierdo, superior e inferior del gráfico hay líneas especiales que puede arrastrar (con el mouse) para comprobar cuándo ocurrió un evento y qué valor tiene. Observe la línea vertical azul en el centro del gráfico y la línea horizontal marrón. Cuando mueve estas líneas, las etiquetas correspondientes cambian: las líneas verticales le permiten señalar un momento específico, las líneas horizontales le permiten señalar números de transacción específicos:

También puede hacer zoom dentro o fuera del intervalo horizontalmente, verticalmente o en ambas direcciones. Para devolver el gráfico a su estado inicial, presione el botón Reset Zoom (o haga zoom con el mouse en la dirección opuesta).

¡Importante! Si los datos de estadísticas de IBTM se recopilaron utilizando métodos de acceso de Firebird o InterBase 7.x, puede ver el recuento real de transacciones activas.

Este gráfico muestra que el 10 de noviembre de 2005 había entre 65 y 105 transacciones activas, abiertas por aplicaciones. Y se puede ver que durante la hora del almuerzo (de 13:00 a 14:00) todavía había alrededor de 80 transacciones activas. Esto significa que:
- los usuarios no cierran las aplicaciones cuando van a almorzar
- las aplicaciones tienen transacciones abiertas y activas
Con esta información puede tomar decisiones sobre lo que podría estar mal en la forma en que funcionan las aplicaciones. Esto dependerá de cuántas transacciones sean gestionadas directamente por las aplicaciones.
Hay tres botones que cambian la vista del gráfico:
Relative (oldest). Se calcula restando la transacción Oldest o la instantánea Oldest (la que sea menor) de los números de transacción Next y Oldest Active. Permite ver la brecha de transacciones semi-activas observando la leyenda en el lado izquierdo del gráfico. Aquí hay un ejemplo del gráfico anterior con el botón Relative activado:

AutoMin. Por defecto, cuando abre cualquier archivo de estadísticas de IBTM, el número de transacción más bajo se trata automáticamente como “0”. Normalmente, este sería la transacción Oldest (interesante) o la instantánea Oldest.

Abs. Permite ver el flujo de números de transacción y la diferencia para números de transacción grandes. En las imágenes anteriores, el número de transacción más bajo era de aproximadamente 7 millones, lo que dificultaba entender cuál es la diferencia, por ejemplo, entre las transacciones Oldest y Next. Aquí podemos ver que, para estas estadísticas, la diferencia de datos no superaba las 18000 transacciones.

Si desea una explicación profesional del comportamiento de las transacciones de su base de datos, probablemente le interese solicitar nuestro soporte técnico. Lea más sobre nuestros servicios aquí.
También puede contactarnos con cualquier pregunta por correo electrónico a [email protected].