IBTransaction Monitor - uživatelská příručka
Dmitry Kuzmenko, 08-Jun-2008
IBSurgeon Transaction Monitor (IBTM) je softwarový balíček určený k monitorování, prohlížení a analýze dynamických transakcí v databázích InterBase a Firebird.
Obsah
Uživatelská příručka IBSurgeon Transaction Monitor. {C}{C}{C}{C}1{C}{C}{C}{C}{C}{C}{C}{C}{C}
Co je uvnitř?. {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}
Co je zaznamenáváno?. {C}{C}{C}{C}2{C}{C}{C}{C}{C}{C}{C}{C}{C}
Průvodce konfigurací{C}{C}{C}{C}3{C}{C}{C}{C}{C}{C}{C}{C}{C}
Použití Průvodce konfigurací{C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Správa služby Monitor. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Konfigurace serverů. {C}{C}{C}{C}4{C}{C}{C}{C}{C}{C}{C}{C}{C}
Konfigurace databází. {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}
Typy zobrazení grafů. {C}{C}{C}{C}13{C}{C}{C}{C}{C}{C}{C}{C}{C}
Technická podpora{C}{C}{C}{C}16{C}{C}{C}{C}{C}{C}{C}{C}{C}
Balíček IBTM obsahuje tři hlavní moduly:
- Monitor - Malý program založený na službě Win32 pro monitorování a zaznamenávání stavů transakcí z jedné nebo více databází.
- Průvodce konfigurací Pro nastavení parametrů pro Monitor a Visualizer.
- Visualizer Určený k prohlížení a analýze informací zaznamenaných Monitorem.
Monitor je malý program založený na službě Win32 (ibtm.exe), který pracuje na Windows NT, 2000, XP a Windows Server 2003 a 2008 (32 i 64 bit). Při spuštění Monitor načte nastavení (nastavená Průvodcem konfigurací) a monitoruje zadanou databázi. Během monitorování se každou minutu (doporučený výchozí interval) připojí k databázi a čte stav transakcí.
Pokud InterBase nebo Firebird běží na Windows, lze Monitor nainstalovat na server, kde se databáze nachází. Pro servery založené na Linuxu jej lze nainstalovat na libovolný počítač s Windows s přístupem k serveru InterBase nebo Firebird přes síť. Monitor můžete nainstalovat následujícími způsoby:
- Pomocí Průvodce konfigurací
- Z příkazového řádku
Důležité! Před zahájením instalace Monitoru se musíte ujistit, že jste přihlášeni do Windows s právy a oprávněními správce. Monitor bude nainstalován jako služba s automatickým spuštěním pod uživatelským účtem Localsystem.
Protože se Monitor k databázi připojuje pouze periodicky a zapisuje shromážděné informace do prostého textového souboru protokolu, není nutné uplatňovat žádná další pravidla. Pokud však chcete zabezpečit konfiguraci Monitoru a přihlašovací údaje k databázi, musíte změnit nastavení služby Monitor a přístup k jeho adresáři (a protokolu) podle potřeby prostřednictvím Ovládacích panelů služeb Windows.
Parametry konfigurace Monitoru budou probrány v Průvodci konfigurací.
Monitor periodicky kontroluje stránku záhlaví databáze a poté ukládá informace o transakcích databáze do protokolu následovně:
- Čas protokolu
- Číslo nejstarší transakce
- Číslo nejstarší transakce snímku
- Číslo nejstarší aktivní transakce
- Číslo další transakce
- Počet aktivních transakcí (závisí na verzi serveru)
Tyto informace jsou uloženy v souboru protokolu a lze je poté prohlížet a analyzovat pomocí Visualizeru. Pomocí vizuálních informací o stavu transakcí můžete pochopit, jak dlouho vaše aplikace drží transakce otevřené, kolik souběžných transakcí běží, jak dlouho běží transakce snímku, kdy je nejintenzivnější doba, kdy aplikace spouštějí transakce atd.
Poznámka: Monitor zaznamenává informace o stavu transakcí do místního souboru protokolu. Neodesílá tyto ani žádné jiné informace přes síť.
Průvodce konfigurací (ibtmconfig.exe) se používá k nastavení konfiguračních parametrů pro Monitor a Visualizer. Ukládá konfigurační parametry do souboru ibtm.ini.
! V systému Windows Vista nebo Windows 7 musíte spustit Průvodce konfigurací s právy správce (pravé tlačítko myši), jinak nebude moci spravovat službu IBTM (Chyba 5, přístup odepřen).
Tip! IBTM nepoužívá registr k ukládání konfiguračních parametrů, takže si můžete připravit konfiguraci na jednom počítači a poté přesunout ibtm.ini na jiný počítač, kde je nainstalován Monitor (službu Monitor je třeba restartovat, aby načetla novou konfiguraci).
Monitor a Průvodce konfigurací jsou instalátorem IBTM umístěny do stejného adresáře, takže Monitor a Průvodce konfigurací sdílejí stejný konfigurační soubor (ibtm.ini).

Průvodce konfigurací vám pomáhá:
- Spravovat službu Monitor - instalovat, odinstalovat, spouštět, zastavovat, pozastavovat a restartovat.
- Určit servery InterBase nebo Firebird, které mají databáze, jež je třeba monitorovat
- Určit databáze a možnosti monitorování/plánování pro konkrétní databázi

Když se Průvodce konfigurací spustí, určí stav služby Monitor v systému.
Instalace Monitoru - pokud služba Monitor není nainstalována, uvidíte zprávu „nenainstalováno" v popisku stavu IBTM v levém horním rohu. Pro instalaci Monitoru stiskněte tlačítko Instalovat na pravé straně okna. Všimněte si, že služba Monitor použije hodnotu zaškrtávacího políčka Typ spuštění (automatický nebo ruční). Pokud se instalace služby Monitor zdaří, uvidíte změnu stavu IBTM na „zastaveno" a tlačítko „Spustit službu" bude povoleno.
Službu Monitor musíte restartovat vždy, když změníte jakékoli parametry konfigurace databáze.
IBTM používá komunikační protokol TCP/IP pro přístup k databázím za účelem monitorování. Pokud jste tedy nainstalovali Monitor na stejný počítač, na kterém je server, musíte přidat server jako localhost nebo název hostitele serveru. Jakmile to provedete, budete moci přidat databáze, které budou na tomto serveru monitorovány.
V této verzi IBTM můžete monitorovat vždy pouze jednu databázi. Pro monitorování jedné nebo více databází současně jsou vyžadovány další licence. Kontaktujte nás prosím pro podrobnosti ( www.ibphoenix.com).
Můžete však nastavit několik serverů a databází a přepínat mezi nimi pro výběr databáze k monitorování (aktivní databáze bude zvýrazněna tučně). S dalšími licencemi budete moci monitorovat několik databází současně.
Použijte tlačítka Přidat server a Přidat databázi na levé straně seznamu Databáze.
Každý záznam databáze lze nakonfigurovat s následujícími parametry:
Metoda získávání statistik. Tato závisí na verzi serveru a podporuje různé možnosti. Každá metoda je popsána se svými výhodami a nevýhodami:
| Services API | Firebird API | TMP$ tabulky | |
| InterBase 4.x/5.x | Ne | Ne | Ne |
| InterBase 6.0 Classic | Ne | Ne | Ne |
| Firebird Classic - 1.0, 1.5.0, 1.5.1, 1.5.2 |
Ne | Ano | Ne |
| InterBase 6.x SuperServer | Ano | Ne | Ne |
| InterBase 7.x/2007 | Ano | Ne | Ano |
| Firebird Classic a SuperServer: 1.5.3, 1.5.4 /2.0 | Ano | Ano | Ne |
Rozdíly mezi Services API, Firebird API a TMP$ tabulkami:
| Metoda | Výhody | Nedostatky |
| Services API Veřejné API, které bylo představeno v InterBase 6.0 SuperServer |
- Univerzální metoda, funguje se všemi verzemi InterBase a Firebird - Neovlivňuje Next transaction |
- Nemá schopnost zjistit skutečný počet aktivních transakcí - Může zobrazovat zastaralé informace, pokud server zřídka ukládá stránku záhlaví databáze na disk (InterBase V7.1/V7.5) |
| Firebird API Firebird od V1.0 má rozšířené parametry pro volání isc_database_info, které umožňují vrácení informací o stavu transakcí. |
Umožňuje získat informace o počtu aktivních transakcí (ne více než 4676 aktivních transakcí) | - Není podporováno žádnou verzí InterBase - Interně zvyšuje Next transaction. Monitor zvýší Next transaction o +1 při každém připojení k databázi. Pokud v databázi v té době není žádná transakční aktivita, čísla Oldest Active, Oldest Snapshot a Oldest transaction zůstanou nezměněna. Pokud v databázi není žádná aktivita, Monitor sám zvýší Next transaction o +1440 za 24 hodin, pokud je nakonfigurován ke kontrole databáze každou (1) minutu. (Samotné Firebird API tento účinek nemá. Popsané chování je specifické pro metodu isc_database_info) |
| TMP$ tabulky Byly představeny v InterBase 7.0 pro umožnění monitorování stavu serveru |
- Umožňuje získání skutečného stavu transakcí z InterBase V7.x/V2007, včetně počtu aktivních transakcí. - Pro získání informací o stavu transakcí Monitor spustí transakci s parametry read_only read_committed rec_version. Taková transakce není považována za aktivní pro účely účtování transakcí a neovlivňuje výkon serveru ani databáze. |
- Podporováno pouze InterBase V7.0/V7.1/V7.5/V2007 - Stejně jako Firebird API zvyšuje číslo Next transaction, protože čtení dat z TMP$ tabulek musí probíhat v rámci transakce. - Doba přístupu je o něco delší než při použití Services API (< 0,5 sekundy). |
Pokud jste zvolili metodu statistik, která není kompatibilní s vaším serverem, do transakčního protokolu Monitoru se nic nezapíše. Zkontrolujte kartu Protokol chyb v Průvodci konfigurací, abyste viděli chyby, které mohou nastat při monitorování databáze.
Interval kontroly. Tento určuje, jak často Monitor získává informace o transakcích z databáze. Minimální interval je 1 minuta. Můžete nastavit interval 1, 3, 5, 10, 20, 30 minut nebo dokonce 1 hodinu, ale nejinformativnější interval je 1 nebo 3 minuty.
Při použití intervalu 1 minuty Monitor zkontroluje stav transakcí databáze 1440krát za 24 hodin. Velikost souboru protokolu bude ~150 kilobajtů.
Čas zahájení a Čas ukončení. Pokud to není nastaveno, Monitor bude získávat statistiky ze zadané databáze po celou dobu své činnosti. Pokud je časový limit nastaven, Monitor bude pracovat pouze po zadanou dobu.
Uživatelské jméno a heslo. Uživatelské jméno a heslo pro účet, který bude použit k monitorování stavu transakcí databáze. Můžete použít přihlášení SYSDBA nebo jakékoli jiné uživatelské přihlášení. Pokud je použito přihlášení jiné než SYSDBA, není pro metody Services API a Firebird API nutné udělovat tomuto uživatelskému účtu žádná další oprávnění. Můžete vytvořit uživatele jako „TM" a Monitor bude úspěšně pracovat.
Pro Dočasné systémové tabulky (IB V7.1, V7.5, V2007) musí mít uživatelské přihlášení práva čtení na tabulky TMP$TRANSACTIONS a TMP$DATABASES. Pokud ve své databázi InterBase V7.5/V2007 používáte Vloženou autentizaci uživatelů, musíte vytvořit přihlášení a udělit tato přístupová práva pro tuto databázi explicitně.
Tlačítko Test připojení k serveru.

Umožňuje kontrolu zadaného serveru pro nejlepší metodu monitorování transakcí. Toto tlačítko můžete také použít ke kontrole, zda vybraná metoda funguje pro zadaný server.
Visualizer může prohlížet informace o transakcích shromážděné Monitorem. Základní adresář pro soubory .tmd je převzat z nastavení Průvodce konfigurací.

Na levé straně vidíte seznam souborů statistik. Ve výchozím nastavení se Viewer dívá do složky Log, která se nachází v základní instalační složce. Tuto složku můžete změnit pomocí Průvodce konfigurací, nebo otevřít požadovanou složku přes nabídku Vieweru.
Klikněte na soubor statistik - okamžitě se zobrazí v grafu. Můžete zkontrolovat více statistik najednou stisknutím klávesy Ctrl nebo Shift a kliknutím na soubory statistik:

V levém dolním rohu můžete zapínat a vypínat různé grafové linie (Next, Oldest…). Pokud například chcete zobrazit dynamiku transakcí, zapněte Next dynamic - ukáže, kolik nových transakcí bylo zahájeno mezi odečty IBTM z databáze:

Na pravé, levé, horní a spodní straně grafu jsou speciální linie, které můžete přetahovat (pomocí myši) a zjistit, kdy k události došlo a jakou má hodnotu. Podívejte se na svislou modrou linii uprostřed grafu a na hnědou vodorovnou linii. Když těmito liniemi pohybujete, mění se příslušné popisky - svislé linie umožňují ukázat na konkrétní čas, vodorovné linie umožňují ukázat na konkrétní čísla transakcí:

Můžete také přibližovat nebo oddalovat interval vodorovně, svisle nebo v obou směrech. Chcete-li vrátit graf do původního stavu, stiskněte tlačítko Reset Zoom (nebo zoomujte myší v opačném směru).

Důležité! Pokud byla data statistik IBTM shromážděna pomocí přístupových metod Firebird nebo InterBase 7.x, můžete zobrazit skutečný počet aktivních transakcí.

Tento graf ukazuje, že 10. listopadu 2005 bylo 65 až 105 aktivních transakcí otevřených aplikacemi. A je vidět, že během polední přestávky (od 13:00 do 14:00) bylo stále asi 80 aktivních transakcí. To znamená, že:
- uživatelé nezavírají aplikace, když jdou na oběd
- aplikace mají otevřené a aktivní transakce
Na základě těchto informací můžete rozhodnout, co by mohlo být v práci aplikací špatně. Bude to záviset na tom, kolik transakcí je přímo spravováno aplikacemi.
Existují tři tlačítka, která mění zobrazení grafu:
Relative (oldest). Vypočítá se odečtením transakce Oldest nebo snímku Oldest snapshot (podle toho, která je nižší) od čísel transakcí Next a Oldest Active. Umožňuje vidět mezeru poloativních transakcí pohledem na legendu na levé straně grafu. Zde je příklad předchozího grafu se zapnutým tlačítkem Relative:

AutoMin. Ve výchozím nastavení se při otevření libovolného souboru statistik IBTM nejnižší číslo transakce automaticky považuje za „0". Obvykle by to byla transakce Oldest (zajímavá) nebo snímek Oldest Snapshot.

Abs. Umožňuje vidět tok čísel transakcí a rozdíl u velkých čísel transakcí. Na předchozích obrázcích bylo nejnižší číslo transakce asi 7 milionů, takže bylo obtížné pochopit, jaký je rozdíl například mezi transakcemi Oldest a Next. Zde vidíme, že u těchto statistik nebyl rozdíl dat větší než 18 000 transakcí.

Pokud byste chtěli odborné vysvětlení chování transakcí pro vaši databázi, pravděpodobně byste si objednali naši technickou podporu. Přečtěte si více o našich službách zde.
Neváhejte nás také kontaktovat s jakýmikoli dotazy e-mailem na [email protected].