Navigate / search

Cognos na Linuxu

Connections 4 logo

Cognos je součástí licence IBM Connections, stará se o to, co se jmenuje Connections Metrics. Je to volitelná komponenta, instalujete ji tehdy, pokud chcete sledovat statistiky návštěvnosti a práci s obsahem.

Instalace Cognosu na Windows je celkem přímočará, žádné větší komplikace, pokud budete postupovat podle návodu. V Linuxu je to trochu složitější, musíte si tam hlídat správně uživatele, linkované knihovny a proměnné prostředí. Je důležité zejména myslet na to, že komponenta Cognos BI Server je 64-bitová a komponenta Cognos Transformer je 32-bitová. Každá tedy potřebuje přilinkovat své správné dynamické knihovny.

Následující seznam obsahuje závěrečné kroky, které administrátoři občas přeskakují a že něco nefunguje zjistí zpravidla tehdy, kdy se jim nedaří vygenerovat první datovou kostku pomocí Transformeru (nejčastšěji proto, že nemají přilinkovanou 32-bitovou knihovnu a/nebo nemají nastavenu cestu a instanci DB2).

 

  • Během instalace hlídejte, jakou knihovnu musíte právě přilinkovat (jestli 32-bit nebo 64-bit):
export LD_PRELOAD=/usr/lib64/libfreebl3.so
  • Přidejte ve WAS konzoli do cognos_server, Java and Process Management – Process defintion – Enviroment entries: LD_LIBRARY_PATH=/opt/IBM/Cognos/CognosBI/bin64
přidejte tam LD_PRELOAD=/usr/lib64/libfreebl3.so

 

Když ručně vynucujete přepočítání kostek (./build-all.sh) tak musíte udelat toto (bez toho to nepojede):

  • přidat 32-bit DB2 knihovny do cesty:
# vi /etc/ld.so.conf
        nakonec přidat řádek "/opt/ibm/db2/V10.1/lib32"
# ldconfig
  • Nastavte proměnné prostředí tak, aby tam byly cesty k DB2 a správně se načetly knihovny pro 32-bitový Transformer
# export LD_LIBRARY_PATH=/home/db2inst1/sqllib/lib32
# export LD_PRELOAD=/usr/lib/libfreebl3.so
# export DB2DIR=/opt/ibm/db2/V10.1
# export DB2INSTANCE=db2inst1
  • Teď už jenom ve stejném terminálovém okne spusťtě příkaz na přepočítání kostek:
# cd /opt/IBM/Cognos/Transformer/metricsmodel
# ./build-all.sh
Cognos-rebuild-cube

Výše uvedené čtyři proměnné prostředí je nutno dát všude tam, kde se generují kostky (daily-refresh.sh, weekly-refresh.sh, vlastní skript na přepočítání kostek, …)

Celý postup můžete konzultovat s tímto výborným dokumentem: IC45-Cognos-CCM-install-lab.pdf

Profiles Population a Domino

Když instalujete IBM Connections, v určité fázi musíte provést Profiles Population, což je úkon, kterým dostanete do Connections první informace o uživatelích z LDAPu. Můžete to provést ručně, tedy editovat konfigurační soubory a spouštět skripty z příkazové řádky, nebo můžete pouužít Population Wizard, který vás celým procesem provede.

Řada adminů používá právě Population Wizard, který podle vstupů naplní konfigurační soubory a zkontroluje údaje (hostname, porty, jména a hesla pro LDAP a databázi). Dovolí vám i provést nastavení párování (jaký atribut z LDAPu se mapuje do kterého pole v Profiles), ale je zde jedna věc, kterou ve Wizardu nastavit nemůžete: pole, které slouží jako primární klíč pro mapování.

Standardně je tímto klíčem UID. V prostředí, kde jako LDAP používáte Domino, je atribut UID mapován na ShortName (typicky „jnovak“). Podle dokumentace Domina by se toto pole nemělo měnit; podle mých zkušeností se naopak často mění, typicky když se slečna vdá a změní si příjmení.

TDI synchronizace vyžaduje, aby primarní klíč zůstal stejný po celou dobu, co je člověk v LDAPu registrován. Bude proto lepší pro něj najít jiný parametr, než ShortName. Nabízí se dominoUNID, což je unikátní identifikátor, něco jako seriové číslo Person Documentu v Domino Directory (Document ID). Pokud chceme použít tento identifikátor, řekneme TDI, že klíčem nebude atribut UID, ale GUID.

Jak jsem ale psal, tento parametr nemůžeme změnit přímo v grafickém wizardu. Víme ale, kde je toto nastavení uloženo – v souboru profiles_tdi.properties, řádek sync_updates_hash_field. Standardně je nastaven na „uid“, my tam chceme mít „guid“.

Dá se to udělat tak, že nejdříve pustíme wizarda klasicky, s „uid“, a po doběhnutí upravíme soubor, změníme na „guid“ a projedeme synchronizaci ještě jednou (pomocí sync_all_dns). Chtěl jsem to ale mít více systémově správně, tak jsem zkusil následující postup, který funguje.

Najdete soubor TDI/profiles_tdi.properties, zazálohujete jej, editujete a změníte parametr takto:

sync_updates_hash_field=guid

Uložíte a teprve potom spustíte Population Wizard. Udělá to to, co chceme: prvotní import údajů z LDAPu do profilové databáze a nastavení dominoUNID jako primárního klíče pro všechny další synchronizace, které budeme dělat pomocí skriptu sync_all_dns.

tdi-sync-guid

TIP:Původní soubor profiles_tdi.properties si zazálohujte; jakmile poprvé proběhne Population Wizard, přeháže si obsah tohoto souboru podle svých potřeb a odstraní všechny komentáře, které mohou být užitečné, pokud chcete pochopit, co které parametry znamenají.