160 likes | 611 Vues
Troubleshooting Tivoli Enterprise Portal Server. Tivoli User Group Singapore 15 December 2009. Agenda. How do ITM components talk to each other? TEPS demystified Troubleshooting TEPS References. ITM components communication. TEPS/TEP Client Communication Flow.
E N D
Troubleshooting Tivoli Enterprise Portal Server Tivoli User Group Singapore 15 December 2009
Agenda • How do ITM components talk to each other? • TEPS demystified • Troubleshooting TEPS • References
TEPS/TEP Client Communication Flow • HTTP connection is used by TEP browser to download JAR files and resources files that will be used by TEP client to communicate. • HTTP server is, by default, installed in TEPS. • IIOP CORBA layer is used by the client code to connect to TEP server. • TEPS communicates with TEMS using RPC method. • TEPS uses ODBC for Windows and DB2 client for Linux to communicate with the database. • URL for browser: http://<TEPS>:1920///CNP/client
TEP Browser Client Communication Flow • If IBM JRE 1.4.2 is not found, it would be downloaded and installed. • applet.html consists of OBJECT tag reference which instruct JRE to download JAR and reference files. • JAR and reference files are placed in the local cache and if the new version is available, it will be replaced automatically. • When java applet login is launched, no communication is made to TEP server yet. • Interoperable Object Reference (IOR) is downloaded through HTTP. Login method is invoked based on that reference.
TEPS log RAS1 header • Sample of TEPS RAS1 header • 44B2C257.0000!========================> IBM Tivoli RAS1 Service Log <======================== • +44B2C257.0000 System Name: SCHAEFRO Process ID: 3536 • +44B2C257.0000 Program Name: kfwservices User Name: SYSTEM • +44B2C257.0000 Task Name: kfwservices System Type: WinXP;5.1-SP1 • +44B2C257.0000 MAC1_ENV Macro: 0xC112 Start Date: 2006/07/10 • +44B2C257.0000 Start Time: 14:10:47 CPU Count: 1 • +44B2C257.0000 Page Size: 4K Phys Memory: 2047M • +44B2C257.0000 Virt Memory: 2048M Page Space: 3944M • +44B2C257.0000 Service Point: system.schaefro_cq UTC Start Time: 44b2c257 • +44B2C257.0000 ITM Home: C:\Candle ITM Process: schaefro_cq • +44B2C257.0000 Executable Name: C:\Candle\CNPS\kfwservices.exe • +44B2C257.0000 KBB_RAS1: ERROR ^>C:\Candle\cnps\logs\kfwras1.log • +44B2C257.0000 KBB_ENVPATH: C:\Candle\CNPS\KFWENV • +44B2C257.0000 • The ras1header contains useful information about the environment where the server is running. • Use the ras1 header for a quick environmental triage
Using Tivoli Monitoring Service Index Console to set dynamic tracing
Using Tivoli Monitoring Service Index Console to set dynamic tracing
Advanced RAS1 Trace • To answer the question: Is the problem occurring in the TEPS? • ctdatabus unit is used to log all the detail request from TEP client • ctcmw and kv4 units are used to log node status, situation and EIB update events from TEMS. • ctsql is used to log raw SQL requests to TEMS, DB2 or ODBC and number of rows returned. • Use: KFW_DATABUS_INPUT_TRACE_IGNORE_HEARTBEAT=Y to suppress the heartbeat events in the log. Will greatly reduce the amount of logs. • Alternatively, KFW_DATABUS_INPUT_TRACE_FILTER=<service name> to log only the specified services.
SQL Input Trace • (UNIT:ctsql INPUT,ERROR) • Dumps raw SQL generated by the TEPS • Identifies data source where the SQL query will be sent • Logs number of rows returned to the requesting client • Counts the number of queries sent to each data source
SQL Input Trace • Examples: • HUB_TEMS(28): SELECT LOCALTIME.SYSTIME FROM O4SRV.LOCALTIME • HUB_TEMS(28): Rows returned: 1 • Parm Markered Request to TEMS: • HUB_TEMS(316): SELECT TSITSTSH.GBLTMSTMP, TSITSTSH.SITNAME,TSITSTSH.LCLTMSTMP, COUNT(TSITSTSH.TYPE) FROM O4SRV.TSITSTSH AT( '*HUB' ) WHERE ( (TSITSTSH.GBLTMSTMP >= ?) AND (TSITSTSH.GBLTMSTMP <= ?) ) AND ( (SUBSTR(TSITSTSH.LCLTMSTMP,13,3) = ?) OR (SUBSTR(TSITSTSH.LCLTMSTMP,13,3) = ?) ) AND (TSITSTSH.DELTASTAT = ?) GROUP BY TSITSTSH.SITNAME • HUB_TEMS(316): Values: '1060719172155000' '1060720172155000' '000' '999' 'Y‘ • HUB_TEMS(316): Rows returned: 12
TEPS Input Traces • Typically, databus and SQL input traces will be set together • CMW input traces will be set together, but not required • Databus trace is not useful when combined with CMW trace because no client request directly drives the event channels • If left running for long periods of time, or if many clients are connected and being actively used, databus and SQL input traces will generate large amounts of data
References • Tivoli support toolbar • http://www-01.ibm.com/software/support/toolbar/ • developerWorks • http://www.ibm.com/developerworks/tivoli/ • Tivoli support website • http://www-01.ibm.com/software/sysmgmt/products/support/ • My Notification page • http://www.ibm.com/support/mynotifications • Tivoli documentation central • https://www.ibm.com/developerworks/wikis/display/tivolidoccentral/Home