Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
Finding out the VisiBroker configurations and analysing the logs are the routine tasks when troubleshooting VisiBroker application issues. Unfortunately, many users are unable to provide this information quickly and accurately due to their unfamiliarity with VisiBroker and their own application’s implementation. This usually leads to unnecessary delays in understanding the runtime environment and scenario that may have caused the problem.
VBUtility is a tool designed to help you troubleshoot VisiBroker for Java and C applications. Its two main functions are:
To use VBUtility Tool, you just need to plug in VBUtility to your existing VisiBroker for Java or C application. There is no need to rewrite/rebuild your application. A VBUtility Console is provided to enable you to interact with the VBUtility Plug-in to extract the VisiBroker configurations and control the log levels.
Please contact Micro Focus SupportLine to get a copy of the VBUtility Tool. Some Demos are provided to teach you how to use it.
As a prerequisite, you must have the proper VisiBroker 8.5 installation, license and runtime environment in order to run VBUtility Tool and the Demos.
Frequently Asked Questions:
1. What VisiBroker configurations can be extracted by VBUtility?
2. What logging operations can be performed?
3. How to plug in VBUtility to a Java Application?
4. How to plug in VBUtility to a C Application?
5. Pre-configuring the Logger in your VisiBroker Application
6. How to start VBUtility Console?
7. How to specify the Server which you want to troubleshoot?
8. How to plug in VBUtility to a Security enabled Java Application?
9. How to plug in VBUtility to a Security enabled C Application?
10. How to connect VBUtility Console to a Security enabled Application?
11. How to plug in VBUtility to a specific Server Engine in a multiple Server Engines configuration?
12. What are the Platforms available?
13. How to get a copy of VBUtility Tool?
The following VisiBroker configurations can be extracted by VBUtility Console:
1. VisiBroker properties set by the application
2. Operating System Environment Variables
3. JVM System Properties (VBJ only)
4. POAs' Policies set in each POA
5. ORB Level Policies
6. Version number of the VisiBroker libraries used by the application
7. Connections and Worker Threads usage in each Server Engine (VBJ only)
8. Connections usage in the Client Engine (VBJ only)
The VisiBroker configurations are printed to the Console and also written to the VBUtility Console log file specified by the property “vbroker.debugger.console.logFile”. The default file name is "vbdebugger.log". You should attach this log file when reporting a VisiBroker Support Incident so that the Support Engineer knows the VisiBroker configurations in your environment.
Using the VBUtility Console, you can perform the following logging operations dynamically without restarting the application:
The VisiBroker logs are printed to the VBJ and VBC application’s console or rolling log files. You can attach these log files to the Support Incident as it may help the Support Engineer understand the runtime events leading to the problem.
The VBUtility Java Plug-in implementation is in “vbdebug.jar”.
Assume currently you are starting your VBJ Server application with the following command:
vbj -DORBpropStorage=visibroker_server.properties Server
To plug in the VBUtility to your VBJ Server, you need to ensure “vbdebug.jar” is present in the Java CLASSPATH. You can start your Server with the following command:
vbj -classpath <VBUtility Install>/lib/vbdebug.jar -Dvbroker.orb.dynamicLibs=com.inprise.vbroker.debugger.Init -DORBpropStorage=visibroker_server.properties Server
The VBUtility's IOR is written to a file specified by "vbroker.debugger.iorFile". The default VBUtility IOR filename for a VBJ Server is "vbdebugj.ior". You may set this IOR file in the Console to connect to the VBUtility. Other ways of connecting to VBUtility is documented in FAQ 7.
Please refer to the Java example in “demo/bank_agent” for more information.
The VBUtility C Plug-in implementation is in the shared libraries “DebugContainerInit.so” (Security disabled) and “DebugContainerInitSec.so” (Security enabled).
Assume currently you are starting your VBC Server application (without Security) with the following command:
Server -DORBpropStorage=visibroker_server.properties
To plug in the C VBUtility to your VBC Server, you can start your application with the following command:
Server -Dvbroker.orb.dynamicLibs=<VBUtility Install>/lib/DebugContainerInit.so -DORBpropStorage=visibroker_server.properties
Notes:
The VBUtility's IOR is written to a file specified by "vbroker.debugger.iorFile". The default VBUtility IOR filename for a VBC Server is "vbdebugc.ior". You may set this IOR file in the Console to connect to the VBUtility. Other ways of connecting to VBUtility is documented in FAQ 7.
Please refer to the C example in “demo/bank_agent” for more information.
The VisiBroker properties file (e.g. visibroker_server.properties in the above examples) contains the necessary properties used to configure the VisiBroker ORB. On top of that, you should pre-configure the logger filters and rolling log files in the properties file before starting the application.
For example:
vbroker.log.enable=false
vbroker.log.logLevel=info
vbroker.log.default.filter.all.enable=true
vbroker.log.default.filter.register=cdr,connection,agent,se,server,orb,client
vbroker.log.default.filter.cdr.enable=true
vbroker.log.default.filter.cdr.logLevel=info
vbroker.log.default.filter.connection.enable=true
vbroker.log.default.filter.connection.logLevel=info
vbroker.log.default.filter.agent.enable=true
vbroker.log.default.filter.agent.logLevel=info
vbroker.log.default.filter.se.enable=true
vbroker.log.default.filter.se.logLevel=info
vbroker.log.default.filter.server.enable=true
vbroker.log.default.filter.server.logLevel=info
vbroker.log.default.filter.orb.enable=true
vbroker.log.default.filter.orb.logLevel=info
vbroker.log.default.filter.client.enable=true
vbroker.log.default.filter.client.logLevel=info
vbroker.log.default.appenders=rolling
vbroker.log.default.appender.rolling.appenderType=rolling
vbroker.log.default.appender.rolling.maxFileSize=10
vbroker.log.default.appender.rolling.maxBackupIndex=50
vbroker.log.default.appender.rolling.logDir=./
vbroker.log.default.appender.rolling.fileName=visibroker_server.log
Please refer to the Demos for more examples.
The VBUtility Console is a regular VBJ Client and its implementation is in “vbdebugcli.jar”. Hence you need to ensure that “vbdebugcli.jar” is present in the Java CLASSPATH. You can start the VBUtility Console with the following command:
vbj -classpath <VBUtility Install>/lib/vbdebugcli.jar com.inprise.vbroker.debugger.VBDebuggerClient
Please refer to the Demos for more examples.
If multiple Servers (with VBUtility plug-in) are deployed in your environment, how do you identify and specify the target Server, which you want to troubleshoot, inside the VBUtility Console?
There are 5 available options in the VBUtility Console to specify the target Server:
The most suitable option depends on how the Server Object Reference is advertised and how the Clients obtain the Server Object Reference.
The following are some recommendations:
Please refer to the Demos for more information.
You must set the additional property “vbroker.debugger.security.disable=false” to enable Security for the VBUtility Plug-in. The default value is “true”, which means Security is disabled.
You should also configure the additional Java Security log filter source name, i.e. “secure”.
Please refer to the Java example in “demo/bank_ssl” for more details.
You must set the additional property “vbroker.debugger.security.disable=false” to enable Security for the VBUtility Plug-in. The default value is “true”, which means Security is disabled.
You must set the shared library “DebugContainerInitSec.so” to the “vbroker.orb.dynamicLibs” property. Note that the file extension of the VBUtility libraries for Windows platform is “.dll” and for Unix/Linux platforms is “.so”.
You should also configure the additional C Security log filter source names, i.e. “v_secauthn”, “v_secauthz”, “v_secssl”, “v_seccsiv2”and “v_secmisc”.
Please refer to the C example in “demo/bank_ssl” for more details.
The VBUtility Console is just a regular VBJ Client Application. So VisiBroker Security properties can be used to configure its Security credentials (such as certificates, trustpoints, peer authentication mode, etc.) so that it can establish a secured SSL connection to the Server.
Please refer to the “demo/bank_ssl” for more details.
Your current application may already be configured with multiple Server Engines in a multi-homed machine so that each Server Engine listens on a different IP address and has different level of Security protection. You can plug in VBUtility to a specific Server Engine by setting the “vbroker.debugger.seName” property.
For example, if the current Server Engine names are “SE_A” and “SE_B” which service requests from Network A and Network B respectively. If you felt that it is more convenient to perform administrative tasks (such as troubleshooting) in Network A, you can plug in VBUtility in “SE_A” by setting “vbroker.debugger.seName=SE_A”.
Please refer to the “demo/hybrid_secure” for a working example.
The following platforms are currently available for VisiBroker 8.5:
If you need a platform not listed above, please raise a Support Incident at http://supportline.microfocus.com.
Please raise a Support Incident at http://supportline.microfocus.com to get a copy the VBUtility Tool. Please state the platform required. We will get back to you as soon as possible.
The latest version of VBUtility Tool is 1.6.0.
This software is provided "as is" without warranty of any kind. Micro Focus disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Micro Focus or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Micro Focus or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.
Micro Focus is a registered trademark.
Copyright (C) Micro Focus 2015. All rights reserved.