Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 2 Configuring TIBCO Hawk Components : Configuring Transport Mode

Configuring Transport Mode
Three transport modes are available to be configured as a means of communication between Hawk Agent and HMA, and Hawk Agent and Hawk WebConsole, and they are:
At least one transport mode should be configured in the configuration files of Hawk Agent, Hawk MicroAgent, Hawk Event, Hawk Display, and Hawk WebConsole to enable message or event communication among various Hawk components.
TIBCO Hawk 5.2 installation has TIBCO Rendezvous configured as the default mode of message and event transport between Hawk Agent and HMA, as well as between Hawk Agent and Hawk WebConsole.
If either TIBCO DataGrid or TIBCO Rendezvous is chosen as a transport between the Hawk Agent and the WebConsole, the same is used a transport between the Hawk Agent and the HMA or other AMI based applications. You cannot configure it to use a different transport. However, if you choose to use TIBCO EMS as the transport between the Hawk Agent and the WebConsole, you can only use TIBCO Rendezvous as the transport between the Hawk Agent and the HMA or other AMI based applications.
The above combinations can be configured using various configuration files, as described in next few sections of this chapter.
TIBCO Rendezvous and TIBCO EMS are two independent products that need to be installed separately. Additional configurations need to be performed manually based on whether they are installed before or after installing TIBCO Hawk 5.2, and whether any of them share the same TIBCO_HOME installation folder.
A Single TIBCO_HOME Location for Various TIBCO Products
If you are using or planning to use a single TIBCO_HOME for all TIBCO Rendezvous, TIBCO EMS, and TIBCO Hawk components, read this section. Otherwise, you might skip to the section Different TIBCO_HOME Locations for Various TIBCO Products.
Using pre-installed and pre-configured existing transports
You use an existing transport (TIBCO Rendezvous or TIBCO EMS) either from a previous installation of TIBCO Hawk 4.x or independent installations of these TIBCO products in the same TIBCO_HOME where Hawk 5.2 is installed. Update all the TRA configuration files (for example, tibhawkagent.tra), script files (such as, startwebconsole and starthma), Hawk WebConsole configuration files with the correct locations of EMS_HOME and RV_HOME and the execution environment.
Setup all the required libraries and their paths during the post-install configuration step of the TIBCO Hawk 5.2 installation.
If you are not using EMS as transport, then it is recommended that you remove the EMS_HOME entries from startwebconsole.bat and setenv.bat (the .bat file on Windows, and the .sh file on UNIX/Linux) files, to avoid any issues with Hawk WebConsole start.
Installing TIBCO Rendezvous or TIBCO EMS transports after installing TIBCO Hawk 5.2
If you install TIBCO Rendezvous or TIBCO Enterprise Message Service in the same TIBCO_HOME after TIBCO Hawk 5.2, ensure the following to set the correct runtime environment for the TIBCO Hawk components.
Edit and modify TRA configuration files (all the files with the extension ".tra" in CONFIG_FOLDER/bin) to set the correct installation location of TIBCO Rendezvous and TIBCO Enterprise Message Service. That is, set the correct values for tibco.env.EMS_HOME and tibco.env.RV_HOME environment variables in all the TRA configuration files.
On Unix or Linux, edit and modify the starthma.sh file with the correct RV_HOME location if TIBCO Rendezvous is installed after TIBCO Hawk 5.2.
To configure Hawk WebConsole runtime environment, assuming TIBCO Hawk 5.2 is installed with the default supplied Tomcat web server, copy the Java libraries from respective locations to the HAWK_HOME/webconsole/tomcat/lib folder.
Copy the following Java libraries for TIBCO Rendezvous as transport:
RV_HOME/lib/tibrvj.jar
Copy the following Java libraries for TIBCO EMS as transport:
EMS_HOME/lib/tibrvjms.jar
EMS_HOME/lib/tibjms.jar
EMS_HOME/lib/tibcrypt.jar
EMS_HOME/lib/jms.jar (whenever EMS version is below 8.0) or EMS_HOME/lib/jms-2.0.jar (in case of EMS 8.x)
To configure Hawk WebConsole runtime environment, assuming TIBCO Hawk 5.2 is installed with default supplied Tomcat web server, edit and modify HAWK_HOME/webconsole/startwebconsole.bat and HAWK_HOME/webconsole/tomcat/bin/setenv.bat (.bat file on Windows, and .sh on Unix/Linux) to set RV_HOME and EMS_HOME correctly.
For TIBCO Hawk WebConsole, if you are using EMS 8.0 and it is installed after installing TIBCO Hawk 5.2.0, update the JMS classpath in the setenv.bat file. The setenv.bat file is located at HAWK_HOME/webconsole/tomcat/bin. In the setenv.bat file, under the heading "Set the Classpath", update the classpath %EMS_HOME%/lib/jms.jar to %EMS_HOME%/lib/jms-2.0.jar.
If you are not using EMS as transport, then it is recommended that you remove the EMS_HOME entries from startwebconsole.bat and setenv.bat (the .bat file on Windows, and the .sh file on UNIX/Linux) files, to avoid any issues with Hawk WebConsole start.
If you want to use any web server other than Tomcat, you need to copy some libraries (JAR/WAR) into locations specific to the web server. For details, see Web Server for Hawk WebConsole.
Different TIBCO_HOME Locations for Various TIBCO Products
If you are using or planning on using a different TIBCO_HOME for all TIBCO Rendezvous, TIBCO Enterprise Message Service, and TIBCO Hawk components, read this section. Otherwise, skip to the next section.
Since TIBCO_HOME for Hawk 5.2 is different from that of TIBCO Rendezvous and TIBCO Enterprise Message Service, ensure that appropriate installation locations are updated as follows:
Edit and modify the TRA configuration files (all the files with extension ".tra" in CONFIG_FOLDER/bin) to set the correct installation location of TIBCO Rendezvous and TIBCO Enterprise Message Service. That is, set the correct values for tibco.env.EMS_HOME and tibco.env.RV_HOME environment variables in all the TRA configuration files.
On Unix/Linux, if TIBCO Rendezvous is installed at different TIBCO_HOME, then edit and modify the starthma.sh file with the correct RV_HOME location.
To configure Hawk WebConsole runtime environment, assuming TIBCO Hawk 5.2 is installed with default supplied Tomcat web server, copy the Java libraries from respective locations to the HAWK_HOME/webconsole/tomcat/lib folder.
Copy the following Java libraries for TIBCO Rendezvous as transport:
RV_HOME/lib/tibrvj.jar
Copy the following Java libraries for TIBCO EMS as transport:
EMS_HOME/lib/tibrvjms.jar
EMS_HOME/lib/tibjms.jar
EMS_HOME/lib/tibcrypt.jar
EMS_HOME/lib/jms.jar (whenever EMS version is below 8.0) or EMS_HOME/lib/jms-2.0.jar (in case of EMS 8.x)
To configure Hawk WebConsole runtime environment, assuming TIBCO Hawk 5.2 is installed with default supplied Tomcat web server, edit and modify HAWK_HOME/webconsole/startwebconsole.bat and HAWK_HOME/webconsole/tomcat/bin/setenv.bat (the .bat file on Windows, and the .sh file on UNIX/Linux) to set RV_HOME and EMS_HOME correctly.
For TIBCO Hawk WebConsole, if you are using EMS 8.0 and it is installed after installing TIBCO Hawk 5.2.0, update the JMS classpath in the setenv.bat file. The setenv.bat file is located at HAWK_HOME/webconsole/tomcat/bin. In the setenv.bat file, under the heading "Set the Classpath", update the classpath %EMS_HOME%/lib/jms.jar to %EMS_HOME%/lib/jms-2.0.jar.
If you are not using EMS as transport, then it is recommended that you remove the EMS_HOME entries from startwebconsole.bat and setenv.bat (the .bat file on Windows, and the .sh file on UNIX/Linux) files, to avoid any issues with Hawk WebConsole start.
If you want to use any web server other than Tomcat, copy some libraries (JAR/WAR) to locations specific to the web server. For details, see Web Server for Hawk WebConsole.
TIBCO Rendezvous Transport
The TIBCO Rendezvous software is the default transport between the Hawk Micro Agent and Hawk Agent and also between the Hawk Agent and Hawk Console applications.
Configure the -rvd_session parameter in the configuration files to re-enable the TIBCO Rendezvous as transport back from TIBCO EMS or TIBCO DataGrid.
Comment this option, or let it be commented in the configuration file, if you are using TIBCO EMS or TIBCO DataGrid as the primary transport.
TIBCO Hawk connects to the TIBCO Rendezvous daemon by creating a session. In the configuration files, ensure that the -as_session and -ems_transport parameters are commented out, and then configure the -rvd_session parameter. TIBCO Rendezvous transport creation calls accept three parameters that govern the behavior of the transport: service, network and daemon.
-rvd_session <service> <network> <daaemon>
where,
service  instructs the Rendezvous daemon to use this service whenever it conveys messages on this transport. You can specify the port number as the service to be used, for example, "7474".
network  instructs the Rendezvous daemon to use a particular network for all communications involving this transport. The network parameter consists of up to three parts, separated by semicolons: network, multicast groups, and send address.
daemon  instructs the transport creation function about how and where to find the Rendezvous daemon and establish communication. For remote daemons, specify two parts (introducing the remote host name as the first part), for example, tcp:7474:
The default value in the configuration file for the Rendezvous session is
-rvd_session 7474 ; tcp:7474
For more details on TIBCO Rendezvous, refer to the TIBCO Rendezvous documentation.
 
TIBCO DataGrid Transport
Configure the -as_session parameter in the configuration files to enable the TIBCO DataGrid as transport.
Comment this option, or let it be commented in the configuration file, if you are using TIBCO EMS or TIBCO Rendezvous as the primary transport.
Because the TIBCO Hawk software uses the functionality of the TIBCO DataGrid system, it must connect to a TIBCO DataGrid by creating a session. In the configuration files, ensure that the -rvd_session and -ems_transport parameters are commented out, and then configure the -as_session parameter.
-as_session <listen url> <discover url>
where,
listen url  specifies the interface and the TCP port that the process uses to listen for incoming connections from new members to the metaspace, and specified in the form of a URL. To use a listen URL, use a string of the form:
tcp://[interface[:port]]
If the first agent is in discovery node, and the second agent uses the discovery URL of the first agent. In this case, the discovery node should be started first for the cluster to function well.
For example, Agent1 (discovery node) is started with the following parameters:
Discovery URL - tcp://10.97.97.123:50001
Listen URL - tcp://10.97.97.123:50001
Agent2 is started with the following parameters:
Discovery URL - tcp://10.97.97.123:50001
Listen URL - tcp://10.97.97.123:50002
In this case the Agent1 should be started first then Agent2 and other nodes using the discovery URL of the discovery node (Agent1) for the cluster to function properly.
discovery url  determines how the members are discovered. Discovery can be unicast (TCP) or multicast (PGM —Pragmatic General Multicast).
With PGM, discovery of the current metaspace members is done by using a reliable IP multicast. The attributes of this discovery mechanism are expressed in the form of a URL in the following format:
tibpgm://[dport]/[interface];[discovery group address]
When multicast discovery is not needed or possible, you can use only the TCP discovery. The discovery URL uses well known addresses. The TCP discovery has the following format:
tcp://ip1[:port1];ip2[:port2],...
Use a semicolon (;) to indicate a null value, or use an empty string. For example, the default value in the configuration files is:
#-as_session "" tibpgm://8989/
On Unix, using the default PGM protocol discovery URL (tibpgm://8989) with TIBCO DataGrid sometimes might throw a stacktrace exception in the log file such as the following:
Some parameters need to have the same values across all components within a Hawk Domain for the proper functioning of these components. These parameters are:
as_receive_buffer_size and as defined in the HawkAgent, HMA and receiveBufferSize in Webconsole. It is recommended not to change the default values.
as_virtual_node_count in Hawk Agent and HMA and virtualNodeCount in WebConsole respectively. It is recommended not to change the default values.
TIBCO Enterprise Message Service (EMS) Transport
This section describes configuration options for connecting to TIBCO EMS server as transport for TIBCO Hawk components.
Comment this option if you are using TIBCO DataGrid or TIBCO Rendezvous as the primary transport.
The two ways to specify the TIBCO EMS transport parameters are:
1.
For example,
-ems_transport tcp://server1:7222
If communicating with the EMS server using SSL, specify the location of the EMS server as follows for the above example
-ems_transport ssl://server1:7222
also specify the additional options as outlined below.
2.
These parameters are separated by a space and can be an empty string to indicate a null value.
For example,
-ems_transport tcp://server1:7222 admin "#!NhAD1NBC"
For instructions to modify the password which was specified during installation, see Handling Passwords for TIBCO EMS Transport
If communicating with the EMS server using SSL, specify the location of the EMS server as follows for the above example
-ems_transport ssl://server1:7222 admin "#!NhAD1NBC"
and also specify the additional options as outlined in TIBCO Enterprise Message Service (EMS) Transport Using SSL.
Re-Connection Setup
To ensure the TIBCO EMS client attempts re-connection after losing connection to the EMS server, repeat the server URL in the URL list. For example,
-ems_transport tcp://H1:7222,tcp://H1:7222
Fault Tolerance Setup
You can specify backup servers to connect to in the event of the failure of the primary server. The serverURLs for the primary and backup server(s) are specified as a comma-separated list of URLs.
For example,
-ems_transport tcp://server1:7222,tcp://server2:7344
If a connection to the first URL fails, the next URL in the list is used to attempt a reconnection. The connections in the list are attempted in sequence (wrapping to the start of the list, if the first connection was not the failed connection) until all URLs have been tried. If no connection is established after all URLs have been tried, the connection fails.
In addition to specifying the -ems_transport options, the following parameters in the EMS server configuration file, tibemsd.conf, should be considered:
ft_active—the name of the active server.
ft_reconnect_timeout—the amount of time a backup server waits for clients to reconnect.
store—the directory to store TIBCO EMS data.
For more information, see TIBCO Enterprise Message Service documentation.
TIBCO Enterprise Message Service (EMS) Transport Using SSL
Specifies the SSL parameters used by TIBCO Hawk Display when connecting to the EMS server.
If the -ems_tranport parameter is not used, the following options are ignored.
-ssl_vendor <name of the vendor>
The name of the vendor of the SSL implementation. The valid choices are
j2se—Use this option when you want to use the default Java Cryptography Extension (JCE) bundled with the Java JRE.
On IBM platforms (such as AIX), this option defaults to ibm.
entrust61—Use this option when you want to use the Entrust libraries.
ibm—On non-IBM platforms, this option can be used only if the IBM version of JCE is installed.
-ssl_ciphers <suite-name(s)>—When specifying this option to specify the cipher suites that can be used, use the ^ qualifier instead of a - qualifier. For more information on specifying cipher suites, refer to the TIBCO Enterprise Message Service documentation.
In addition, the following sets of options are used:
For TIBCO Hawk components to verify the EMS server
-ssl_no_verify_host—If this option is present, it this indicates that the TIBCO Hawk component should not verify the server. Conversely, if this option is not included in the configuration file, it indicates that TIBCO Hawk component should verify the server.
-ssl_trusted—The option specifies the file name of the server certificates. This option can be repeated if more than one certificate file is used.
-ssl_no_verify_hostname—This option specifies that the client should not verify the name in the CN field of the server certificate. Conversely, if this option is not included in the configuration file, it indicates that TIBCO Hawk component should verify the name in the CN field of the server certificate.
-ssl_expected_hostname—The name that is expected in the name of the CN field of the server certificates is specified by this option. The value of this option is used when the -ssl_no_verify_hostname option absent from the configuration file.
If the -ssl_no_verify_host is not specified, the option -ssl_trusted has to be used. Along with the option -ssl_trusted, specify either -ssl_no_verify_hostname or -ssl_expected_hostname.
For the EMS server to verify TIBCO Hawk components
-ssl_identity—This option specifies the digital certificate of the TIBCO Hawk components.
-ssl_private_key—This option indicates the private key of the TIBCO Hawk component. If the key is included in the digital certificate in -ssl_identity, then you may comment this parameter.
-ssl_password—The password to decrypt the identity file of the Hawk component.
Handling Passwords for TIBCO EMS Transport
On Microsoft Windows, the password is obfuscated before it is stored in the Microsoft Windows registry. In order to use the EMS password encrypt/decrypt functionality, all TIBCO Hawk components (including the tibhawkpassword wrapper) have to use JRE 1.8 or above.
If you need to change the username and password information for the EMS server after installation, a utility is provided to encrypt your password. The following steps detail the use of this utility:
1.
tibhawkpassword -encrypt
2.
3.
For example,
-ems_transport tcp://emsServer:7222 username "#!FrHOG/QbvQMdVk4/wMv/1DA0"
4.
Starting TIBCO Hawk Components
A standalone TIBCO Hawk 5.2.0 installation does not need any changes in any of the configuration files for you to execute TIBCO Hawk and its components using TIBCO Rendezvous as the default transport. However, if you want to use different or existing transport(s) (TIBCO DataGrid or TIBCO EMS) or use different port or security, refer to the following table.
These executable or scripts are located in CONFIG_FOLDER/bin and HAWK_HOME/webconsole.
 
 
TIBCO Hawk WebConsole
In any of the above configuration files, if any folder or file has to be configured with a space in it, then the full path has to be provided within double quotes.
On AIX platform, TIBCO HMA process must be started as root user and should not rely on the setuid feature. On other non-Windows platforms, pseudo access may be sufficient, but root privileges are recommended to start TIBCO HMA process.
Hawk Domain
A Hawk domain is a logical grouping of Hawk Components. The Hawk Agent, the WebConsole API and the AMI instrumented applications can all communicate with each other only if they all belong to the same hawk domain. A hawk domain constitutes of a transport and a domain name.
Some components may have additional requirements in order to communicate with the Hawk Agent such as to specify the Hawk Agent name to connect to.
However, the Hawk WebConsole can be configured to manage multiple domains.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved