úterý 21. srpna 2007

Usage Tracking Statistics - Monitorování analytického systému

Každý správce databázového nebo informačního systému potřebuje vědět co se s daným systémem děje, co se dělo, kdo k němu přistupuje, co a jak dlouho trvá, kdo a co jej nejvíce zatěžuje, atd.
Podobné informace potřebují i správci analytických systémů - otázkou však je, zda analytické systémy takovéto informace nabízí. V případě nasazení OBI EE / OBI SE-1 si můžete být jisti, že je získáte.

Usage Tracking statistiky
Oracle BI Server sbírá "usage tracking" statistiky, které mohou být využity pro účely optimalizace, monitorování vytížení a využívání systému nebo pro navržení strategie cachování. Statistiky jsou sbírány na úrovni jednotlivých dotazů a jsou ukládány buď do relační databáze (doporučeno) nebo do logu na file systému.

Seznam vybraných reportů, které jsou k dispozici:


Informace, které Oracle BI Server sbírá (tabulka S_NQ_ACCT):


Jestliže i Vy chcete začít monitorovat Váš analytický systém, můžete postupovat dle návodu uvedeného níže.


Jak na "Usage Tracking" statistiky

I/ Tvorba tabulek
Vytvořte db schéma/uživatele, pod kterým budou uloženy informace o využití systému:

create user bdemo identified by bdemo default tablespace users temporary tablespace temp quota unlimited on users; grant connect, resource to bdemo;

Pod uživatelem vytvořte tabulky, pomocí dodaných skriptů:

1/ Usage Tracking statistiky (tabulka S_NQ_ACCT)
[BI_HOME]\server\Schema\SAACCT.Oracle.sql

2/ Dimenze období (tabulka S_ETL_DAY) [BI_HOME]\server\Sample\Usage_Tracking\SQL_Server_Time\Oracle_create_nQ_Calendar.sql

3/ Časová dimenze (tabulka S_ETL_TIME_DAY) [BI_HOME]\server\Sample\Usage_Tracking\SQL_Server_Time\Oracle_create_nQ_Clock.sql

4/ Dimenze uživatelů (tabulka nebo view NQ_LOGIN_GROUP)

a) Jestliže používáte db autentifikaci - viz. článek zde, tak vytvořte view nad Vaší tabulkou:
create or replace view NQ_LOGIN_GROUP as select distinct USR as LOGIN, USR as RESP from S_LOGON;

b) Jinak můžete vytvořit view přímo nad "Usage Tracking" tabulkou (S_NQ_ACCT), ale z důvodu výkonnosti to není vhodné (lepší je založit samostatnou tabulku, která bude sloužit jako dimenze uživatelů):
create or replace view NQ_LOGIN_GROUP as select distinct USER_NAME as LOGIN, USER_NAME as RESP from S_NQ_ACCT;



II/ Naplnění dimenzí init daty (tabulky S_ETL_DAY a S_ETL_TIME_DAY)
Z SQL*Plus nebo jiného nástroje spusťte dodané skripty:

[BI_HOME]\server\Sample\Usage_Tracking\SQL_Server_Time\Oracle_nQ_Calendar.sql
[BI_HOME]\server\Sample\Usage_Tracking\SQL_Server_Time\Oracle_nQ_Clock.sql



III/ Import Usage Tracking metadata repository do Vašeho současného
Máte dvě možnosti: buď nad právě založenými tabulkami vytvoříte vlastní metadata nebo využijete již ty předpřipravená. Rychlejší a pohodlnější je samozřejmě druhá možnost.

1/ Zkopírujte dodané "Usage Tracking" metadata repository [BI_HOME]\server\Sample\Usage_Tracking\UsageTracking.rpd do adresáře s Vaším repository [BI_HOME]\server\Repository

2/ Zazálohujte Vaše repository! (tj. repository, do kterého budete importovat Usage Tracking repository)

3/ Nastartujte "offline" repository (tzn. předtím zastavte službu BI Server), do kterého budete importovat Usage Tracking repository


3/ Zvolte File > Import > From repository


4/ Ignorujte zprávu (zvolte YES) > vyberte UsageTracking.rpd (bez hesla) > Next > z menu vyberte Catalog > vyberte složku Usage Tracking a zvolte Add with Children > Next > Finish



IV/ Úprava defaultního db připojení pro Usage Tracking

1/ Změňte typ databáze


2/ Smažte jeden Connection pool a upravte druhý a uložte změny


3/ Otestujte spojení s databází



V/ Zapnutí "Usage Tracking" statistik

1/ Zapnutí a nastavení
Nastavení se provádí v souboru [BI_HOME]\server\Config\NQSConfig.INI v sekci "Usage Tracking Section", nastavte:

ENABLE = YES;
DIRECT_INSERT = YES; #(znamená, že se statistiky budou ukládat v databázi)
PHYSICAL_TABLE_NAME = "OBI Usage Tracking"."Catalog"."dbo"."S_NQ_ACCT"; #(tabulka kam se ukládají statistiky)
CONNECTION_POOL = "OBI Usage Tracking"."Usage Tracking Writer Connection Pool" ; #(connection pool pro zápis)


2/ Restartujte Oracle BI Server

3/ Otestujte Usage Tracking
Test provedete tak, že si spustíte BI Dashboard, na něm proklikáte pár reportů a pak uděláte select count(*) from S_NQ_ACCT nebo v BI Administrátorovi zvolíte View data.



VI/ Monitorovací reporty
Stejně jako u metadata repository, tak i zde máte dvě možnosti: buď si reporty vytvoříte nebo využijete ty předpřipravené.

1/ Ručně vytvořené reporty
Spusťte BI Answers (Odpovědi), vyberte oblast "Usage Tracking" a udělejte report podle toho co Vás zrovna zajímá, např. nejpoužívanější cílové oblasti.


2/ Předpřipravené reporty
Součástí OBI EE a OBI SE-1 jsou předpřipravené reporty a dashboard. Web katalog najdete v adresáři [BI_HOME]\server\Sample\Usage_Tracking\UsageTracking. V případě, že používáte verzi 10.1.3.2, tak tento web katalog je porušený. Katalog je opraven ve verzi 10.1.3.2.1, a nebo si jej můžete stáhnout zde.

Katalog můžete použít napřímo, tzn. startovat jej jako primární katalog tím, že jej zadefinujete v instanceconfig.xml (nemyslím si, že je to využitelné). Nebo jeho část (dashboard a reporty) překopírovat do Vašeho současného katalogu

a) Spusťte Catalog Manager - Start > Programs > Oracle Business Intelligence > Catalog Manager

b) Otevřete "offline" UsageTracking katalog


c) Rozklikněte "strom" shared > Usage Tracking a menu zvolte Archive ... a zaarchivujte katalog na disk


d) Zazálohujte Váš současný web katalog!

e) Otevřete "offline" Váš současný katalog, ale nejdřív zastavte službu Oracle BI Presentation Services


f) Z menu zvolte File > Unarchive Catalog > vyberte soubor, do kterého jste předtím archivovali a zvolte OK


g) Nastartujte
službu Oracle BI Presentation Services

h) Spusťte Váš BI Dashboard, v nabídce dashboardů a přibyl "Usage Tracking" dashboard, který obsahuje předpřipravené reporty:




eec.

2 komentáře:

Anonymní řekl(a)...

Při zprovoznění jsem řešil jeden problém. Neobjevovala se data v tabulce S_NQ_ACCT ač se zdálo vše podle návodu.
Problém byl nakonec ve specifikaci tabulky S_NQ_ACCT v NQSConfig.INI do které se zapisují statistiky. V uvedeném návodu byl uveden příklad:
PHYSICAL_TABLE_NAME = "OBI Usage Tracking"."BDEMO"."S_NQ_ACCT";
Ovšem "BDEMO" zde není uživatel, ale schéma ve fyzické vrstvě, které může být jiné. Po importu repozitory Tracking systému se vytvořila fyzická vrstva strukturovaná následovně:
"OBI Usage Tracking"
"Catalog"
"dbo"
"S_NQ_ACCT"

Proto výsledná specifikace tabulky v NQSConfig.INI musela být upravena do podoby:
PHYSICAL_TABLE_NAME = "OBI Usage Tracking"."Catalog"."dbo"."S_NQ_ACCT" ;
Pak již vše fungovalo, jak je popsáno v návodu.
Petr Juraszek
pjuraszek@itsys.cz

BI.DW.CZ řekl(a)...

Díky, překlep v textu opraven.
Erik.