Welcome to the Application Performance Management Blog, where you can read the perspectives from APM experts. This Blog provides insights into the Application Performance Management solution, as well as technical details about specific IBM products.
The developerWorks Connections platform will be sunset on January 2, 2020. This blog will no longer be available unless an extension has been requested. More details available on our FAQ.
ItmWarehouse: Warehouse Proxy Agent registration using the Global Location Broker/Local Location Broker(GLB/LLB)
The Warehouse Proxy Agent(WPA) Server has two data connections to establish at startup. The first one is to the database being used to warehouse data. The second, in which we will discuss in this blog post, is the communication port that the WPA is listening on for all agents to connect, that are warehousing data. These agents when started have to make a Remote Procedure Call(RPC) connection to the WPA listening port to establish a data path for historical data. The way in which this happens is a follows:
1.The WPA on start must register its socket address(protocol/network address/port) to the Global Location Broker on the HUB TEMS. This registration is reprocessed every 5 minutes if the registration fails. Once the registration succeeds, the registration is reprocessed every 15 minutes to be sure that nothing has changed.
2.This registration is defined by the KDE_TRANSPORT or KDC_FAMILIES variable defined in the WPA's environment file(hd.ini or KHDENV). Either one can be used and is based on the version of the WPA. The latest version WPAs use KDE_TRANSPORT. The default values for the WPA agent is: KDE_TRANSPORT=IP.PIPE PORT:1918 COUNT:1 SKIP:15 IP use:n SNA use:n IP.SPIPE use:n, which is TCP/IP(IP.PIPE) on port 1918 for connection of the WPA agent to the HUB TEMS. The WPA connects to the HUB TEMS using port 1918 but then opens a port for historical data from the agents. This port is based on the SKIP and COUNT values defined in the KDE_TRANSPORT variable. Since the default is SKIP:15 and COUNT:1 then the following formula is used:
base port + (4096 * SKIP) = 1918 + (4096 * 15) = 63358.
The COUNT value means that all offset ports calculated by the formula starting from 1 up to N are allowed and the first free one is used. In this case only 63358 is tried since COUNT:1.
3.To register the 63358 port the WPA opens this port and if successful then registers the port, IP address, protocol with the Global Location Broker(GLB) at the HUB TEMS. This then allows all agents wanting to warehouse historical data to be able to query the LLB and get the port, IP address, protocol of the WPA to use. On each remote TEMS, the WHP socket addresses are replicated to the Local Location Broker(LLB) on the remote TEMS once a hour.
The above registration process can fail for firewall issues or for a port number that is not open to be used on the machine. Thus, it is always advised to look at the Managed Tivoli Monitored Servers Protocol workspace to make sure that the WPA has registered correctly. Here is a screen shot of those workspaces:
As you can see from the above, the Global Communication Protocol Entries are for the GLB and the Local Communication Protocol Entries are for the LLB. The LLB is just information for that local host. The GLB maintains global information about objects on a domain or enterprise. The entry for the WPA shows the protocol, IP address and port being used for historical export for the 'Candle_Warehouse_Proxy'. For any agent connection problems to the WPA port the best way to test this connection is to run the following command from the agent machine:
telnet {WPA IP address} {port}
The response to the above command should show a connection. If the port is blocked for any reason then the telnet will fail.
One other environment variable that can be used to maintain the GLB/LLB with less entries is to turn off IPV6 if this is not used in your infrastructure. The setting is as follows:
KDEB_INTERFACELIST_IPV6=-
and can be set in the WPA and TEMS environment files.
My next blog post will cover the case where the GLG/LLB cannot be used because of firewall issues or complex customer network environments, where the Global Location Broker(GLB) default registration algorithm is not supportable.