Cette page a été traduite automatiquement. Lisez l'original en anglais. English

Bibliothèque IBSurgeon

Guide de l'utilisateur du moniteur IBTransaction

Dmitry Kuzmenko, 08-Juin-2008

IBSurgeon Transaction Monitor (IBTM) est un ensemble de logiciels conçu pour surveiller, visualiser et analyser les transactions dynamiques dans les bases de données InterBase et Firebird.

Sommaire

Guide de l’utilisateur d’IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}

Contenu du package. {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’est-ce qui est journalisé ?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Assistant de configuration{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}

Utilisation de l’Assistant de configuration{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Gestion du service Monitor. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configuration des serveurs. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configuration des bases de données. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}

Visualiseur{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}

Types de vues graphiques. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}

Support technique{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}

Le package IBTM contient trois modules principaux :

  • Monitor - Un petit programme Win32 basé sur un service pour surveiller et journaliser les états de transactions d’une ou plusieurs bases de données.
  • Assistant de configuration Pour configurer les paramètres du Monitor et du Visualiseur.
  • Visualiseur Conçu pour visualiser et analyser les informations journalisées par le Monitor.

Le Monitor est un petit programme Win32 basé sur un service (ibtm.exe), qui fonctionne sur Windows NT, 2000, XP et Windows Server 2003 et 2008 (32 et 64 bits). Au démarrage, le Monitor lit les paramètres (définis par l’Assistant de configuration) et surveille la base de données spécifiée. Pendant la surveillance, il se connecte à la base de données chaque minute (intervalle par défaut recommandé) et lit l’état des transactions.

Si InterBase ou Firebird fonctionne sous Windows, le Monitor peut être installé sur le serveur où se trouve la base de données. Pour les serveurs basés sur Linux, il peut être installé sur n’importe quel ordinateur Windows ayant un accès réseau au serveur InterBase ou Firebird. Vous pouvez installer le Monitor en utilisant les méthodes suivantes :

  • En utilisant l’Assistant de configuration
  • À partir d’une fenêtre d’invite de commandes

Important ! Avant de commencer l’installation du Monitor, vous devez vous assurer que vous êtes connecté à Windows avec les droits et privilèges d’administrateur. Le Monitor sera installé comme un service avec démarrage automatique sous le compte utilisateur Localsystem.

Étant donné que le Monitor se connecte uniquement périodiquement à la base de données et écrit les informations recueillies dans un fichier journal en texte brut, il n’est pas nécessaire d’appliquer d’autres règles. Cependant, si vous souhaitez sécuriser la configuration du Monitor et les informations de connexion à la base de données, vous devez modifier les paramètres du service du Monitor et l’accès à son répertoire (et au journal) selon vos besoins, via le Panneau de configuration des services Windows.

Les paramètres de configuration du Monitor seront abordés dans l’Assistant de configuration.

Le Monitor vérifie périodiquement la page d’en-tête de la base de données, puis stocke les informations de transaction de la base de données dans le journal, comme suit :

  • Heure de journalisation
  • Numéro de la transaction la plus ancienne
  • Numéro de la transaction d’instantané la plus ancienne
  • Numéro de la transaction active la plus ancienne
  • Numéro de la prochaine transaction
  • Nombre de transactions actives (dépend de la version du serveur)

Ces informations sont stockées dans le fichier journal et peuvent ensuite être visualisées et analysées à l’aide du Visualiseur. En utilisant les informations d’état de transaction visuelles, vous pouvez comprendre combien de temps vos applications maintiennent des transactions ouvertes, combien de transactions simultanées sont en cours d’exécution, combien de temps les transactions d’instantané s’exécutent, quand est le moment le plus intensif où les applications démarrent des transactions, etc.

Remarque : Le Monitor journalise les informations d’état de transaction dans le fichier journal local. Il n’envoie pas ces informations ni aucune autre sur le réseau.

L’Assistant de configuration (ibtmconfig.exe) est utilisé pour définir les paramètres de configuration du Monitor et du Visualiseur. Il enregistre les paramètres de configuration dans le fichier ibtm.ini.

! Sous Windows Vista ou Windows 7, vous devez exécuter l’Assistant de configuration avec des privilèges administratifs (clic droit de la souris), sinon il ne pourra pas gérer le service IBTM (Erreur 5, accès refusé).

Astuce ! IBTM n’utilise pas le Registre pour stocker les paramètres de configuration, vous pouvez donc préparer une configuration sur un ordinateur, puis déplacer ibtm.ini vers un autre ordinateur où le Monitor est installé (Le service Monitor doit être redémarré pour lire une nouvelle configuration).

Le Monitor et l’Assistant de configuration sont placés par l’installateur IBTM dans le même répertoire, afin que le Monitor et l’Assistant de configuration partagent le même fichier de configuration (ibtm.ini).

Описание: E:\IBSurgeon\IBTM\ibtmconfig.gif

L’Assistant de configuration vous aide à :

  • Gérer le service Monitor - installer, désinstaller, démarrer, arrêter, suspendre et redémarrer.
  • Spécifier les serveurs InterBase ou Firebird qui ont des bases de données à surveiller
  • Spécifier les bases de données et les options de surveillance/planification pour une base de données particulière

Описание: E:\IBSurgeon\IBTM\ibtmconfig1.gif

Lorsque l’Assistant de configuration démarre, il détermine l’état du service Monitor sur le système.

Installation du Monitor - si le service Monitor n’est pas installé, vous verrez un message « non installé » dans l’étiquette d’état IBTM dans le coin supérieur gauche. Pour installer le Monitor, appuyez sur le bouton Installer sur le côté droit de la fenêtre. Notez que le service Monitor utilisera la valeur de la case à cocher Type de démarrage (automatique ou manuel). Si l’installation du service Monitor a réussi, vous verrez l’état IBTM passer à « arrêté » et le bouton « Exécuter le service » sera activé.

Vous devez redémarrer le service Monitor chaque fois que vous modifiez un paramètre de configuration de base de données.

IBTM utilise le protocole de connexion TCP/IP pour accéder aux bases de données à surveiller. Ainsi, si vous avez installé le Monitor sur le même ordinateur que le serveur, vous devez ajouter le serveur comme localhost ou le nom d’hôte du serveur. Une fois cela fait, vous pourrez ajouter les bases de données qui seront surveillées sur ce serveur.

Avec cette version d’IBTM, vous ne pouvez surveiller qu’une seule base de données à la fois. Des licences supplémentaires sont requises pour surveiller une ou plusieurs bases de données simultanément. Veuillez nous contacter pour plus de détails ( www.ibphoenix.com).

Cependant, vous pouvez configurer plusieurs serveurs et bases de données et basculer entre eux pour sélectionner la base de données à surveiller (la base de données active sera mise en évidence en gras). Avec des licences supplémentaires, vous pourrez surveiller plusieurs bases de données simultanément.

Utilisez les boutons Ajouter un serveur et Ajouter une base de données sur le côté gauche de la liste des bases de données.

Chaque enregistrement de base de données peut être configuré avec les paramètres suivants :

Méthode d’obtention des statistiques. Cela dépend de la version du serveur et prend en charge différentes capacités. Chaque méthode est décrite avec ses avantages et inconvénients :

Services API Firebird API Tables TMP$
InterBase 4.x/5.x Non Non Non
InterBase 6.0 Classic Non Non Non
Firebird Classic -
1.0, 1.5.0, 1.5.1, 1.5.2
Non Oui Non
InterBase 6.x SuperServer Oui Non Non
InterBase 7.x/2007 Oui Non Oui
Firebird Classic et SuperServer : 1.5.3, 1.5.4 /2.0 Oui Oui Non

Différences entre Services API, Firebird API et les tables TMP$ :

Méthode Avantages Inconvénients
Services API
API publique introduite dans InterBase 6.0 SuperServer
- Méthode universelle, fonctionne avec toutes les versions d’InterBase et Firebird
- N’affecte pas la prochaine transaction
- N’a pas la capacité de trouver le nombre réel de transactions actives
- Peut afficher des informations obsolètes si le serveur enregistre rarement la page d’en-tête de la base de données sur le disque (InterBase V7.1/V7.5)
Firebird API
Firebird depuis V1.0 a des paramètres étendus pour l’appel isc_database_info, qui permet de retourner les informations d’état de transaction.
Permet d’obtenir les informations sur le nombre de transactions actives (pas plus de 4676 transactions actives) - Non pris en charge par aucune version d’InterBase
- Incrémente en interne la prochaine transaction. Le Monitor incrémentera la prochaine transaction de +1 à chaque connexion à la base de données. S’il n’y a aucune activité de transaction dans la base de données à ce moment, les numéros de transaction active la plus ancienne, d’instantané la plus ancienne et de transaction la plus ancienne resteront inchangés.


S’il n’y a aucune activité dans la base de données, le Monitor lui-même incrémentera la prochaine transaction de +1440 en 24 heures, s’il est configuré pour vérifier la base de données chaque (1) minute.


(La Firebird API elle-même n’a pas cet effet. Le comportement décrit est spécifique à la méthode isc_database_info)
Tables TMP$
Introduit dans InterBase 7.0 pour permettre la surveillance de l’état du serveur
- Permet de récupérer l’état réel des transactions depuis InterBase V7.x/V2007, y compris le nombre de transactions actives.
- Pour obtenir les informations d’état de transaction, le Monitor démarre une transaction avec les paramètres read_only read_committed rec_version. Une telle transaction n’est pas traitée comme active pour la comptabilité des transactions et n’affecte pas les performances du serveur ou de la base de données.
- Pris en charge uniquement par InterBase V7.0/V7.1/V7.5/V2007
- Comme avec la Firebird API, elle incrémente le numéro de la prochaine transaction, car la lecture des données des tables TMP$ doit être effectuée dans une transaction.
- Le temps d’accès est un peu plus long qu’avec Services API (< 0,5 seconde).

Si vous avez choisi une méthode de statistiques incompatible avec votre serveur, rien ne sera écrit dans le journal des transactions du Monitor. Vérifiez l’onglet Journal des erreurs dans l’Assistant de configuration pour voir les erreurs qui peuvent survenir lors de la surveillance de la base de données.

Intervalle de vérification. Cela détermine la fréquence à laquelle le Monitor prend les informations de transaction d’une base de données. 1 minute est l’intervalle minimum. Vous pouvez définir un intervalle de 1, 3, 5, 10, 20, 30 minutes, ou même d’une heure, mais l’intervalle le plus informatif est de 1 ou 3 minutes.

Avec l’intervalle d’une minute, le Monitor vérifiera l’état des transactions de la base de données 1440 fois toutes les 24 heures. La taille du fichier journal sera d’environ 150 kilo-octets.

Heure de début et heure de fin. Si cela n’est pas défini, le Monitor prendra des statistiques de la base de données spécifiée pendant tout son fonctionnement. Si la limite de temps est définie, le Monitor fonctionnera uniquement pendant la période spécifiée.

Nom d’utilisateur et mot de passe. Le nom d’utilisateur et le mot de passe du compte qui sera utilisé pour surveiller l’état des transactions de la base de données. Vous pouvez utiliser la connexion SYSDBA ou toute autre connexion utilisateur de votre choix. Si une connexion non-SYSDBA est utilisée, pour les méthodes Services API et Firebird API, il n’est pas nécessaire d’accorder des privilèges supplémentaires à ce compte utilisateur. Vous pouvez créer un utilisateur comme « TM », et le Monitor fonctionnera correctement.

Pour les tables système temporaires (IB V7.1, V7.5, V2007), la connexion utilisateur doit avoir des droits d’accès en lecture sur les tables TMP$TRANSACTIONS et TMP$DATABASES. Si vous utilisez l’authentification utilisateur intégrée dans votre base de données InterBase V7.5/V2007, vous devez créer une connexion et accorder ces droits d’accès explicitement pour cette base de données.

Bouton Tester la connexion au serveur.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmconfig2.gif src=/images/ibtm/ibtmconfig2.gif

Permet de vérifier le serveur spécifié pour la meilleure méthode de surveillance des transactions. Vous pouvez également utiliser ce bouton pour vérifier si la méthode sélectionnée fonctionne pour le serveur spécifié.

Le Visualiseur peut visualiser les informations de transaction recueillies par le Monitor. Le répertoire de base pour les fichiers .tmd est tiré des paramètres de l’Assistant de configuration.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001.gif src=/images/ibtm/ibtmv001.gif

Sur le côté gauche, vous pouvez voir la liste des fichiers de statistiques. Par défaut, le Viewer examine le dossier Log qui se trouve dans le dossier d’installation de base. Vous pouvez modifier ce dossier à l’aide de l’Assistant de configuration, ou ouvrir le dossier souhaité via l’option de menu du Viewer.

Cliquez sur le fichier de statistiques - il sera affiché immédiatement dans le graphique. Vous pouvez vérifier plusieurs statistiques en même temps en maintenant la touche Ctrl ou Shift enfoncée et en cliquant sur les fichiers de statistiques :

data-cke-213- data-cke-saved-src=

Dans le coin inférieur gauche, vous pouvez activer ou désactiver différentes lignes du graphique (Next, Oldest…). Par exemple, si vous souhaitez visualiser la dynamique des transactions, activez Next dynamic - cela montrera combien de nouvelles transactions ont été démarrées entre les lectures IBTM de la base de données :

data-cke-213- data-cke-saved-src=

Sur les côtés droit, gauche, supérieur et inférieur du graphique, il y a des lignes spéciales que vous pouvez faire glisser (à l’aide de la souris) pour vérifier quand un événement s’est produit et quelle valeur il a. Regardez la ligne verticale bleue au milieu du graphique, et la ligne horizontale marron. Lorsque vous déplacez ces lignes, les étiquettes correspondantes changent - les lignes verticales vous permettent de pointer vers un moment précis, les lignes horizontales vous permettent de pointer vers des numéros de transaction spécifiques :

data-cke-213- data-cke-saved-src=

Vous pouvez également zoomer ou dézoomer sur l’intervalle horizontalement, verticalement ou dans les deux directions. Pour ramener le graphique à son état initial, appuyez sur le bouton Reset Zoom (ou zoomez avec la souris dans la direction opposée).

data-cke-213- data-cke-saved-src=

Important ! Si les données de statistiques IBTM ont été collectées à l’aide des méthodes d’accès Firebird ou InterBase 7.x, vous pouvez consulter le nombre réel de transactions actives.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv008.gif src=/images/ibtm/ibtmv008.gif

Ce graphique montre que le 10 novembre 2005, il y avait entre 65 et 105 transactions actives, ouvertes par les applications. Et on peut voir que pendant l’heure du déjeuner (de 13h00 à 14h00), il y avait encore environ 80 transactions actives. Cela signifie que :

  • les utilisateurs ne ferment pas les applications lorsqu’ils vont déjeuner
  • les applications ont des transactions ouvertes et actives

En utilisant ces informations, vous pouvez prendre des décisions sur ce qui pourrait ne pas fonctionner correctement dans la façon dont les applications fonctionnent. Cela dépendra du nombre de transactions gérées directement par les applications.

Il y a trois boutons qui modifient l’affichage du graphique :

Relative (oldest). Calculé en soustrayant la transaction Oldest ou le snapshot Oldest (le plus bas des deux) des numéros de transaction Next et Oldest Active. Permet de voir l’écart des transactions semi-actives en regardant la légende sur le côté gauche du graphique. Voici un exemple du graphique précédent avec le bouton Relative activé :

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv006.gif src=/images/ibtm/ibtmv006.gif

AutoMin. Par défaut, lorsque vous ouvrez un fichier de statistiques IBTM, le numéro de transaction le plus bas est automatiquement traité comme « 0 ». Normalement, il s’agirait de la transaction Oldest (intéressante) ou du snapshot Oldest.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv001-1.gif src=/images/ibtm/ibtmv001-1.gif

Abs. Permet de voir le flux des numéros de transaction et la différence pour les grands numéros de transaction. Dans les images précédentes, le numéro de transaction le plus bas était d’environ 7 millions, ce qui rend difficile de comprendre quelle est la différence, par exemple, entre les transactions Oldest et Next. Ici, nous pouvons voir que, pour ces statistiques, la différence de données n’était pas supérieure à 18000 transactions.

data-cke-213- data-cke-saved-src=/images/ibtm/ibtmv007.gif src=/images/ibtm/ibtmv007.gif

Si vous souhaitez une explication professionnelle du comportement des transactions pour votre base de données, vous pourriez commander notre support technique. Veuillez en savoir plus sur nos services ici.

N’hésitez pas non plus à nous contacter pour toute question par e-mail à [email protected].