Debugging the Insight Server Components

If any of the Insight server components fail to start properly (either they're not allowing connections from Insight, Inscribe, or Insight Studio, or they aren't printing "Accepting Connections" in the console), it may be useful to increase Insight's debug level to help diagnose the problem.
NOTE: Regardless of the debug level, Insight will always print "Accepting Connections" on proper startup.
It is important to recall that when the installer completes, it has installed the components, it has not started them as running processes. They need to either be manually started (in console mode) or installed as services. We recommend testing the components as console mode processes until they have been verified as working properly, THEN running them as services.
Problems, when they occur, generally fall into one of four categories:

  • Network Issues
    • Is the network running?
    • Is the device in question running?
    • Is the device accessible?
    • Is the port operational?
    • Are firewall restrictions getting in the way?
    • Have necessary network privileges been set up?
  • Database Issues
    • Is the database service running?
    • Is the database service accessible?
      • Has a database username / password been established?
      • Does that username have the necessary permissions?
    • Does the database exist?
    • Are we pointing at the right database?
    • Are there space issues?
  • Configuration Issues
    • Are all parameters pointing where they should be?
    • Are all of the usernames, passwords, databases, hostnames, ports correct?
  • File System Issues
    • Is there space on the target device?
    • Does the user have rights to write to the target device/directory?


Since most components are dependent on the User Manager, test it first. Then test the Collection Manager and Personal Insight Manager, then the Media Manager, BrowserInsight, and finally the XML Gateway.

Checking the Version of All Installed Components

Insight 6.3 ships with a new tool to display the versions of each of the Insight Components. This tool is designed to assist with patch updates and help ensure that patches are installed and configured properly. One of the most common support problems is that different Insight server components are running using different versions.
To check the versions of all installed components:

  1. Locate the Insight Installation Directory.


  1. Open the "utilities/check_server_version" Directory.


  1. Run "checkInsightVersion.cmd" or "checkInsightVersion.sh" (depending on which platform you're on).


  1. This tool will run a script and print out the version of each of the components installed.


  1. In the script, it will print out the name and location of each of the critical JAR files, as well as the build number and date.


  1. Please confirm that each of the dates and versions match.


Enabling Debug Information

There are two distinct types of "Debug Mode" for the Insight server components:
Console Debug Mode:
Adjusting the Console Debug Mode will increase / decrease the amount of information printed to the application's console. In the case of applications running as services, the debug content will not be logged.

To change the debug level

  1. Open the appropriate configuration file for any Insight server component in a text editor (for more information see the tables starting on page ).
  2. Locate the "DebugLevel" parameter.
  3. Change the "DebugLevel" parameter to either increase or decrease the debug messages:


Table 12: Debug Levels for the Insight Server Components

Off

0

Low

1

Medium

2

High

3


  1. Close the configuration file.
  2. Restart the Insight server component.


Database Debug Mode

Database Debug Mode determines whether database queries are logged to a file.
To enable or disable the database debug information:

  1. Open the appropriate configuration file for any Insight server component in a text editor (for more information see the tables starting on page ).
  2. Locate the "DatabaseDebugMode" parameter.
  3. Change the "DatabaseDebugMode" parameter to either on or off, to display or suppress debug messages:


Table 13: Database Debug Mode settings

Off

0

On

1


  1. Close the configuration file.
  2. Restart the Insight server component.
  3. All database queries should be logged to the JDBCConnector.txt file in the logs directory of the server component.


NOTE: Changing the debug level can drastically decrease Insight's run speed. Be sure to reset all debug levels to 0 once you have fixed the problem.

Starting the User Manager in Console Mode


  1. Locate the User Manager's installation directory.


  1. Run the "InsightUserManager." If you are on Windows: Run InsightUserManager.cmd (a new DOS Console should appear and display debug information as the User Manager starts).


NOTE: In GUI environments, do not close the console window unless you want to close the Collection or Personal Insight Manager.
If you are on Solaris or Linux: Run InsightUserManager.sh (a new Console should appear and display debug information as the User Manager starts).

  1. Look for successful startup. If the User Manager started up successfully, you should see the following message print on the console:


IUS: Accepting connection.

  1. Troubleshooting unsuccessful startup.


If you do not see "Accepting connection," you may see one of the following:
IUS: IOException on listener open.
IUS: Server port cannot be opened. Terminating.
This often means that an application is already running on port 2840 (User Manager's default port). This is most likely because the User Manager itself is already running.
Check to see if User Manager is running as a service. If it is, stop the service, and resume testing in console mode. At the conclusion of the test, after everything is repaired, remember to restart the User Manager service.
IUS: Database is not configured correctly
This means that the User Manager could not connect to the database. For more information, see "Debugging a Database Connection for the User, Collection, or Personal Insight Managers" on page .

Starting the Collection Manager or Personal Insight Manager in Console Mode


  1. Locate the Collection or Personal Insight Manager's installation directory.


  1. Run the "InsightCollectionManager" executable. If you are on Windows: Run InsightCollectionManager.cmd (a new DOS Console should appear and display debug information as the Collection or Personal Insight Manager starts).


NOTE: In GUI environments, do not close the console window unless you want to close the Collection or Personal Insight Manager.
If you are on Solaris or Linux: Run InsightCollectionManager.sh (a new Console should appear and display debug information as the Collection or Personal Insight Manager starts).

  1. Look for successful startup. If the Collection or Personal Insight Manager starts up successfully, you should see the following message print on the console:


XYZ: Accepting connection.

  1. Troubleshooting unsuccessful startup.


If you do not see "Accepting connection," you may see one of the following:
XYZ: IOException on listener open.
XYZ: Server port cannot be opened. Terminating.
This often means that an application is already running on port 3070 (Collection or Personal Insight Manager's default port). This is most likely because the Collection or Personal Insight Manager itself is already running.
Check to see if Collection or Personal Insight Manager is running as a service. If it is, stop the service, and resume testing in console mode. At the conclusion of the test, after everything is repaired, remember to restart the Collection or Personal Insight Manager service.
XYZ: Database is not configured correctly
This means that the Collection or Personal Insight Manager could not connect to the database. For more information, see "Debugging a Database Connection for the User, Collection, or Personal Insight Managers" on page .

Debugging a Database Connection for the User, Collection, or Personal Insight Managers


Insight relies on a backend database to store user and collection information. Without a connection to the database, the components will not run properly. All of the Insight server components (User, Collection and Personal Insight Manager) may be tested the same way.
When running one of the Insight server components in console mode, toward the bottom of the scroll, we want to see:
XYZ: Accepting connection.
(where "XYZ" is the short-name you defined for your collection, or "IUS" for the User Manager)
If you instead encounter:
IUS: Database is not configured correctly
there may be problems with the database itself or with the Insight connection to it. Starting with the database, check the following:
Common Things to Check when testing a Database Configuration Error:

  • Is the database server running?
    • Are other applications that are dependent on the database running properly?
  • Can you connect to the database using the database's Administrator Tools:
      • For Microsoft SQL Server – Enterprise Manager
      • For Oracle – Enterprise Console


If the Database Server is Running:
If you can connect to the database using other applications, then the next step is to confirm the database configuration settings for the server components you are testing.
NOTE: It is best to test the Insight server components in console mode, as it's easier to see debug messages in the console.

  1. Locate the configuration file for the Insight server component you are testing.


In the Insight server component installation directory, look for the appropriate configuration file. It will be one of the following:

  1. InsightUserServer.dat – for User Manager
  2. InsightServer.dat – for Collection Manager or Personal Insight Manager


  1. Open the Configuration File in a text editor.
  2. There are three common configuration settings that are most likely to produce errors: the Database Connection String, Database Username, and Password.
  3. Check the Database Connection String:
  4. For the User Manager:

UserDatabaseConnect =

  1. For the Collection Manager or Personal Insight Manager:


DatabaseConnect =
Check the Database Hostname, Port, and database name to ensure they are correct.
MS SQL Manager Example:
Depending on the version of Insight you installed with, you may have a different driver for Microsoft SQL Server.
Which Driver am I using?
To determine the SQL Driver you are using:

  1. find the line "JDBCDriverName" in the configuration file.
  2. Match it with the column in the Table on page .


  1. Check the Database username and password:

Common errors are to use the Insight administrator username / password or an Insight end user username / password. The database username / password are needed here.
For MS SQL Server:
Database Username and Password are part of the DatabaseConnect string (see #4 above).
For Oracle, MySQL,:
Locate the following lines and check the values.
DefaultUsername = yourusername
DefaultPassword = yourpassword

  1. Turn on database debugging.


Find the following line:
DatabaseDebugMode =
If it is not already "on" (1), change the value:
DatabaseDebugMode = 1

  1. Save your changes.


Save any changes you made to the "InsightUserServer.dat" or "InsightServer.dat".

  1. Restart the Insight server component to begin logging.


NOTE: The configuration files are only read by the Insight server components at startup. Changes in the dat file will not be reflected until the next time the Manager is started.

  1. Open the "JDBCConnector.txt" log file located in the logs directory of the component's installation directory.
  2. Look for successful startup:


Logs will vary, depending on the database engine in use, but will generally follow a pattern as follows:
HH:MM:SS driver: [message level] message text.
An example of a successful return may be:
JC 13:59:14 jdbc: [L] Statement created.
JC 13:59:14 jdbc: [L] Results generated.
JC 13:59:14 jdbc: [L] Returning from runQuery.

  1. Troubleshooting unsuccessful startup:


Look for words like "Exception" / "Error" (etc.) in the log.
In the following MS SQL Server example, JoeUser is NOT a valid database username:
JC 16:36:39 jdbc: [H] SQL Exception while connecting:
java.sql.SQLException: []Login failed for user 'JoeUser'.
JC 16:36:39 jdbc: [H] No valid connection available, aborting
query.
JC 16:36:39 jdbc: [L] Returning from runQuery.

Testing the Network Connection

If you are having trouble connecting to any Insight server component, you may have a network problem.

Setting up a testing environment

It is best to run this test while the server component is running in console mode, as it is possible to see when a client application connects to the server component. Check that when the server component starts up, it prints "Accepting Connection" on the console. If it doesn't, the problem is likely not in the network (try the database).

Testing a local connection from the server

If you can see "Accepting Connection," then see if you can log in with Insight Studio. If you can not login, check for a working network connection (try a web browser). If the browser works, and you can browse the web, then you definitely have a network connection.
Insight commonly runs on a series of ports:
Table 14: Default Ports for Insight Server Components

Insight Server Component

Port

User Manager

2840

Collection Manager

3070 – 4040

Default Collection Manager Port

3070

Default Personal Insight Manager Port

3080



NOTE: 3070 is the default Collection Manager port, but with multiple Collection Managers or Personal Insight Managers you will need to increment the "PortNumber" in InsightServer.dat (in the Manager installation directory) so each Manager uses a unique port on the server.

  • If you run a firewall, be sure that ports assigned to Managers are open to bi-directional traffic. Failure to do so will interfere with communication to the Managers.


Testing the Network Connection

If you have a good network connection and the ports are available, then check the Hostname / IP address for the User Manager, and the collection list to ensure that the hostnames are valid. If you're still having problems and you can log in from the server then contact your network administrator.

Enabling Debug Information for BrowserInsight

  • BROWSER INSIGHT IS NO LONGER SUPPORTED BEYOND 6.2

To enable BrowserInsight's Debug Information:

  1. Open up the browserInsight.conf configuration file.
  2. Locate the Logging section, change the following line: Log.Console.On=no to Log.Console.On=yes.
  3. Also, confirm that the Log.console.loglevel is set to 10.
  4. Save the BrowserInsight.conf configuration file.
  5. To simplify debugging, restart Tomcat in console mode (if you are running Tomcat as a service, stop the service and run "start_tomcat.bat" or "start_tomcat.sh").

As Tomcat starts, it will process each of Insight's servlet component's configuration files. When it reaches BrowserInsight, it will connect to each of your Collection Managers and Personal Insight Managers and print out a list of collections that it can connect to. An example follows:
BI 12:34:04 Hlpr: getTrinityList: dbProfile:
BrowserInsightDBProfile: Name = oracle, JDBCDriver = oracle.jdbc.driver.OracleD
river, JDBCUrlPrefix = jdbc:oracle:thin:, useLowerCaseCommand = true, useDistinc
tKeyword = false.
BI 12:34:06 infr: adding 11: 3::LUNA::NA
BI 12:34:06 infr: adding 12: 9::LUNA::NA
BI 12:34:06 infr: adding 13: 8::LUNA::NA
BI 12:34:06 infr: adding 14: 2::LUNA::NA
BI 12:34:06 infr: adding 15: 6::LUNA::NA
BI 12:34:06 infr: adding 16: 7::LUNA::NA
BI 12:34:06 infr: adding 17: 1::LUNA::NA
BI 12:34:06 infr: adding 18: 4::LUNA::NA
BI 12:34:06 infr: adding 19: 5::LUNA::NA
Once it has completed, log in to BrowserInsight. As you log in, BrowserInsight will connect to each collection and verify that the browser's settings are configured properly. If there is an error, a message will be sent to the console.
BI 12:38:59 Hlpr: constructTrinityProxy: dbProfile:
BrowserInsightDBProfile: Name = oracle, JDBCDriver = oracle.jdbc.driver.OracleDriver, JDBCUrlPrefix = jdbc:oracle:thin:, useLowerCaseCommand = true, useDistinctKeyword = false.
BI 12:38:59 Hlpr: no media security on collection 15
BI 12:38:59 hPLg: No left background is specified for the collection. This is potentially a misconfiguration.
BI 12:38:59 hPLg: Trimming Admin Media Processing Collection
In the example above, the collection is missing a piece of the Background Image. Other common issues might be an undefined BrowserInsightDBProfile, or a mismatched collection name.
If you need to see the SQL queries, turn database debug on:

  1. Open the BrowserInsight.conf Configuration File.


  1. Locate the DatabaseDebugMode Parameter.


  1. Change DatabaseDebugMode from 0 to 1.


DatabaseDebugMode=1

  1. Save the BrowserInsight.conf configuration File.


  1. Restart BrowserInsight.


  1. Database queries will be logged to databaseconnector.txt in the logs directory of BrowserInsight's Installation Directory.