Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

IBTransaction Monitor Gebruikershandleiding

Dmitry Kuzmenko, 08-jun-2008

IBSurgeon Transaction Monitor (IBTM) is een softwarepakket dat is ontworpen om dynamische transacties in InterBase- en Firebird-databases te bewaken, bekijken en analyseren.

Inhoudsopgave

Gebruikershandleiding IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}

Wat zit erin?. {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}

Wat wordt er gelogd?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}

Configuratieassistent{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}

De Configuratieassistent gebruiken{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

De Monitorservice beheren. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Servers configureren. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}

Databases configureren. {C}{C}{C}{C}5{C}{C}{C}{C}{C}{C}{C}{C}{C}

Visualizer{C}{C}{C}{C}8{C}{C}{C}{C}{C}{C}{C}{C}{C}

Grafiekweergavetypen. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}

Technische ondersteuning{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}

Het IBTM-pakket bevat drie hoofdmodules:

  • Monitor - Een klein op Win32-service gebaseerd programma om transactiestatussen van een of meer databases te bewaken en te loggen.
  • Configuratieassistent Voor het configureren van instellingen voor de Monitor en Viewer.
  • Visualizer Ontworpen om de informatie die door de Monitor wordt gelogd te bekijken en analyseren.

De Monitor is een klein op Win32-service gebaseerd programma (ibtm.exe), dat werkt op Windows NT, 2000, XP en Windows Server 2003 en 2008 (zowel 32- als 64-bits). Bij het opstarten leest de Monitor de instellingen (ingesteld door de Configuratieassistent) en bewaakt de opgegeven database. Tijdens het bewaken maakt hij elke minuut (aanbevolen standaardinterval) verbinding met de database en leest de status van transacties.

Als InterBase of Firebird op Windows draait, kan de Monitor worden geïnstalleerd op de server waar de database zich bevindt. Voor Linux-gebaseerde servers kan hij worden geïnstalleerd op elke Windows-computer met netwerktoegang tot de InterBase- of Firebird-server. U kunt de Monitor op de volgende manieren installeren:

  • Via de Configuratieassistent
  • Vanuit een opdrachtregelvenster

Belangrijk! Voordat u begint met het installeren van de Monitor, moet u ervoor zorgen dat u bent aangemeld bij Windows met beheerdersrechten en -bevoegdheden. De Monitor wordt geïnstalleerd als een service met automatische start onder het gebruikersaccount Localsystem.

Aangezien de Monitor alleen periodiek verbinding maakt met de database en de verzamelde informatie naar een plat tekstlogbestand schrijft, hoeven er geen verdere regels te worden toegepast. Als u echter de Monitorconfiguratie en database-inloggegevens wilt beveiligen, moet u de service-instellingen van de Monitor en de toegang tot de map (en het logbestand) naar wens wijzigen via het Windows Service Configuratiescherm.

De configuratieparameters van de Monitor worden besproken in de Configuratieassistent.

De Monitor controleert periodiek de databaseheaderpagina en slaat vervolgens de database-transactie-informatie op in het logboek, als volgt:

  • Logtijd
  • Oudste transactienummer
  • Oudste snapshot-transactienummer
  • Oudste actieve transactienummer
  • Volgende transactienummer
  • Aantal actieve transacties (afhankelijk van de serverversie)

Deze informatie wordt opgeslagen in het logbestand en kan vervolgens worden bekeken en geanalyseerd met Visualizer. Met behulp van de visuele transactiestatusinformatie kunt u begrijpen hoe lang uw applicaties transacties openhouden, hoeveel gelijktijdige transacties er draaien, hoe lang snapshot-transacties draaien, wanneer de meest intensieve periode is waarin applicaties transacties starten, enz.

Opmerking: De Monitor logt de transactiestatusinformatie naar het lokale logbestand. Hij verzendt deze of andere informatie niet via het netwerk.

Configuratieassistent (ibtmconfig.exe) wordt gebruikt om de configuratieparameters voor de Monitor en Viewer in te stellen. Hij slaat de configuratieparameters op in het ibtm.ini-bestand.

! Op Windows Vista of Windows 7 moet u de Configuratieassistent met beheerdersrechten uitvoeren (rechtermuisklik), anders kan hij de IBTM-service niet beheren (Fout 5, toegang geweigerd).

Tip! IBTM gebruikt het register niet om configuratieparameters op te slaan, dus u kunt een configuratie op één computer voorbereiden en vervolgens ibtm.ini verplaatsen naar een andere computer waar Monitor is geïnstalleerd (de Monitorservice moet opnieuw worden gestart om een nieuwe configuratie te lezen).

De Monitor en Configuratieassistent worden door de IBTM-installatie in dezelfde map geplaatst, zodat de Monitor en Configuratieassistent hetzelfde configuratiebestand (ibtm.ini) delen.

Beschrijving: E:\IBSurgeon\IBTM\ibtmconfig.gif

De Configuratieassistent helpt u bij het

  • Beheren van de Monitorservice - installeren, verwijderen, starten, stoppen, pauzeren en opnieuw starten.
  • Opgeven van de InterBase- of Firebird-servers die databases hebben die moeten worden bewaakt
  • Opgeven van databases en bewakings-/planningopties voor een specifieke database

Beschrijving: E:\IBSurgeon\IBTM\ibtmconfig1.gif

Wanneer de Configuratieassistent start, bepaalt hij de status van de Monitorservice op het systeem.

Monitor installeren - als de Monitorservice niet is geïnstalleerd, ziet u een “niet geïnstalleerd”-bericht in het IBTM-statuslabel in de linkerbovenhoek. Om Monitor te installeren drukt u op de knop Installeren aan de rechterkant van het venster. Houd er rekening mee dat de Monitorservice de waarde van het selectievakje Starttype (automatisch of handmatig) gebruikt. Als het installeren van de Monitorservice is geslaagd, ziet u de IBTM-status veranderen naar “gestopt” en wordt de knop “Service uitvoeren” ingeschakeld.

U moet de Monitorservice opnieuw starten wanneer u databaseconfiguratieparameters wijzigt.

IBTM gebruikt het TCP/IP-verbindingsprotocol om toegang te krijgen tot de database(s) voor bewaking. Dus als u Monitor op dezelfde computer hebt geïnstalleerd als waarop de server draait, moet u de server toevoegen als localhost of de hostnaam van de server. Zodra dit is gedaan, kunt u de databases toevoegen die op deze server zullen worden bewaakt.

Met deze versie van IBTM kunt u slechts één database tegelijk bewaken. Voor het gelijktijdig bewaken van een of meer databases zijn aanvullende licenties vereist. Neem contact met ons op voor details (www.ibphoenix.com).

U kunt echter meerdere servers en databases instellen en ertussen schakelen om de database te selecteren die moet worden bewaakt (de actieve database wordt vetgedrukt weergegeven). Met aanvullende licenties kunt u meerdere databases gelijktijdig bewaken.

Gebruik de knoppen Server toevoegen en Database toevoegen aan de linkerkant van de Databases-lijst.

Elke databaserecord kan worden geconfigureerd met de volgende parameters:

Statistiekenmethode ophalen. Dit hangt af van de serverversie en ondersteunt verschillende mogelijkheden. Elke methode wordt beschreven met zijn voor- en nadelen:

Services API Firebird API TMP$ tabellen
InterBase 4.x/5.x Nee Nee Nee
InterBase 6.0 Classic Nee Nee Nee
Firebird Classic -
1.0, 1.5.0, 1.5.1, 1.5.2
Nee Ja Nee
InterBase 6.x SuperServer Ja Nee Nee
InterBase 7.x/2007 Ja Nee Ja
Firebird Classic en SuperServer: 1.5.3, 1.5.4 /2.0 Ja Ja Nee

Verschillen tussen Services API, Firebird API en TMP$ tabellen:

Methode Voordeel Nadelen
Services API
Publieke API die werd geïntroduceerd in InterBase 6.0 SuperServer
- Universele methode, werkt met alle versies van InterBase en Firebird
- Heeft geen invloed op Next transaction
- Heeft niet de mogelijkheid om het werkelijke aantal actieve transacties te vinden
- Kan verouderde informatie tonen als de server de databaseheaderpagina zelden naar schijf opslaat (InterBase V7.1/V7.5)
Firebird API
Firebird vanaf V1.0 heeft uitgebreide parameters voor de isc_database_info-aanroep, die het mogelijk maakt transactiestatusinformatie terug te geven.
Biedt de mogelijkheid om informatie over het aantal actieve transacties te verkrijgen (niet meer dan 4676 actieve transacties) - Wordt niet ondersteund door enige InterBase-versie
- Verhoogt intern de Next transaction. De Monitor verhoogt de Next transaction met +1 elke keer dat hij verbinding maakt met de database. Als er op dat moment geen transactieactiviteit in de database is, blijven de Oldest Active, Oldest Snapshot en Oldest transactienummers ongewijzigd.


Als er geen enkele activiteit in de database is, verhoogt de Monitor zelf de Next transaction tot +1440 in 24 uur, als hij is geconfigureerd om de database elke (1) minuut te controleren.


(De Firebird API zelf heeft dit effect niet. Het beschreven gedrag is specifiek voor de isc_database_info-methode)
TMP$ tabellen
Werd geïntroduceerd in InterBase 7.0 om monitoring van de serverstatus mogelijk te maken
- Maakt het mogelijk de werkelijke transactiestatus op te halen uit InterBase V7.x/V2007, inclusief het aantal actieve transacties.
- Om de transactiestatusinformatie te verkrijgen start Monitor een transactie met read_only read_committed rec_version parameters. Een dergelijke transactie wordt niet als actief beschouwd voor transactieboekhoudingsdoeleinden en heeft geen invloed op de server- of databaseprestaties.
- Wordt alleen ondersteund door InterBase V7.0/V7.1/V7.5/V2007
- Net als bij de Firebird API verhoogt het het Next transaction-nummer, omdat het lezen van gegevens uit TMP$ tabellen binnen een transactie moet plaatsvinden.
- De toegangstijd is iets langer dan bij gebruik van de Services API (< 0,5 seconden).

Als u een statistiekenmethode hebt gekozen die niet compatibel is met uw server, wordt er niets in het transactielogboek van de Monitor geschreven. Controleer het tabblad Foutenlogboek in de Configuratieassistent om fouten te zien die kunnen optreden tijdens het bewaken van de database.

Controle-interval. Dit bepaalt hoe vaak de Monitor de transactie-informatie uit een database haalt. 1 minuut is het minimale interval. U kunt 1, 3, 5, 10, 20, 30 minuten of zelfs een interval van 1 uur instellen, maar het meest informatieve interval is 1 of 3 minuten.

Met het interval van 1 minuut controleert de Monitor de database-transactiestatus 1440 keer per 24 uur. De grootte van het logbestand is ongeveer 150 kilobytes.

Starttijd en Eindtijd. Als dit niet is ingesteld, neemt de Monitor de hele tijd dat hij werkt statistieken van de opgegeven database. Als de tijdslimiet is ingesteld, werkt de Monitor alleen gedurende een opgegeven tijdsperiode.

Gebruikersnaam en Wachtwoord. De gebruikersnaam en het wachtwoord voor het account dat zal worden gebruikt om de database-transactiestatus te bewaken. U kunt de SYSDBA-login of elke andere gebruikerslogin gebruiken die u wilt. Als een niet-SYSDBA-login wordt gebruikt, is het voor Services API- en Firebird API-methoden niet nodig om extra rechten toe te kennen aan dat gebruikersaccount. U kunt een gebruiker zoals ‘TM’ aanmaken en de Monitor zal succesvol werken.

Voor Tijdelijke Systeemtabellen (IB V7.1, V7.5, V2007) moet de gebruikerslogin leesrechten hebben op de TMP$TRANSACTIONS- en TMP$DATABASES-tabellen. Als u Embedded User Authentification gebruikt in uw InterBase V7.5/V2007-database, moet u een login aanmaken en die toegangsrechten expliciet toekennen voor die database.

Knop Test Serververbinding.

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

Hiermee kan worden gecontroleerd of de opgegeven server de beste methode voor transactiebewaking biedt. U kunt deze knop ook gebruiken om te controleren of de geselecteerde methode werkt voor de opgegeven server.

De Visualizer kan transactie-informatie bekijken die door de Monitor is verzameld. De basismap voor de .tmd-bestanden wordt overgenomen uit de instellingen van de Configuratieassistent.

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

Aan de linkerkant ziet u de lijst met statistiekbestanden. Standaard kijkt de Viewer naar de Log-map die zich in de basisinstallatiemap bevindt. U kunt deze map wijzigen via de Configuration Assistant, of de gewenste map openen via de menuoptie Viewer.

Klik op het statistiekbestand - het wordt onmiddellijk in de grafiek weergegeven. U kunt meerdere statistieken tegelijk controleren door de Ctrl- of Shift-toets ingedrukt te houden en op de statistiekbestanden te klikken:

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

In de linkerbenedenhoek kunt u verschillende grafieklijnen (Next, Oldest…) aan- en uitzetten. Als u bijvoorbeeld de transactiedynamiek wilt bekijken, zet u Next dynamic aan - dit toont hoeveel nieuwe transacties er tussen IBTM-metingen vanuit de database zijn gestart:

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

Aan de rechter-, linker-, boven- en onderkant van de grafiek bevinden zich speciale lijnen die u (met de muis) kunt verslepen om te controleren wanneer een gebeurtenis heeft plaatsgevonden en welke waarde deze heeft. Kijk naar de verticale blauwe lijn in het midden van de grafiek en naar de bruine horizontale lijn. Wanneer u deze lijnen verplaatst, veranderen de bijbehorende labels - verticale lijnen laten u naar een specifiek tijdstip wijzen, horizontale lijnen laten u naar specifieke transactienummers wijzen:

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

U kunt ook in- of uitzoomen op het interval, horizontaal, verticaal of in beide richtingen. Om de grafiek terug te brengen naar de oorspronkelijke staat, drukt u op de knop Reset Zoom (of zoomt u met de muis in de tegenovergestelde richting).

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

Belangrijk! Als IBTM-statistiekgegevens zijn verzameld met Firebird- of InterBase 7.x-toegangsmethoden, kunt u het werkelijke aantal actieve transacties bekijken.

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

Deze grafiek toont dat er op 10 november 2005 tussen de 65 en 105 actieve transacties waren, geopend door applicaties. En het is te zien dat er tijdens de lunchpauze (van 13:00 tot 14:00) nog steeds ongeveer 80 actieve transacties waren. Dit betekent dat:

  • gebruikers applicaties niet afsluiten wanneer ze gaan lunchen
  • applicaties open en actieve transacties hebben

Met behulp van deze informatie kunt u beslissingen nemen over wat er mogelijk mis is met de manier waarop de applicaties werken. Dit hangt af van hoeveel transacties rechtstreeks door applicaties worden beheerd.

Er zijn drie knoppen die de grafiekweergave wijzigen:

Relative (oldest). Berekend door de Oldest-transactie of Oldest-snapshot (welke lager is) af te trekken van de Next- en Oldest Active-transactienummers. Hiermee kunt u de kloof van semi-actieve transacties zien door naar de legenda aan de linkerkant van de grafiek te kijken. Hier is een voorbeeld van de vorige grafiek met de Relative-knop ingeschakeld:

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

AutoMin. Standaard wordt bij het openen van een IBTM-statistiekbestand het laagste transactienummer automatisch als “0” behandeld. Normaal gesproken zou dit de Oldest (interessante) transactie of de Oldest Snapshot zijn.

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

Abs. Hiermee kunt u de stroom van transactienummers en het verschil voor grote transactienummers zien. In de vorige afbeeldingen was het laagste transactienummer ongeveer 7 miljoen, waardoor het moeilijk te begrijpen was wat het verschil is, bijvoorbeeld tussen de Oldest- en Next-transacties. Hier kunnen we zien dat voor deze statistieken het gegevensverschil niet meer dan 18000 transacties bedroeg.

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

Als u een professionele uitleg wilt over het transactiegedrag van uw database, kunt u wellicht onze technische ondersteuning bestellen. Lees meer over onze diensten hier.

Neem ook gerust contact met ons op voor vragen via e-mail [email protected].