Troubleshooting Security Directory Integrator
If you experience problems when using IBM Security Directory Integrator to work with Profiles data, explore the different trace areas available for Profiles to find information that might help to identify and resolve the problem.
About this task
Profiles-specific output can come from the Security Directory Integrator configuration (profiles_tdi.xml) or from the component JAR files that are part of the solution. The JAR files contain business-layer functionality that is shared by the Profiles web application as well the Profiles SDI solution. Adjusting trace levels for these back-end components is very similar to the process used for the web application, and the same class hierarchical subsets can be used to view different tracing level outputs.
For more detailed information about determining the cause of problems with Security Directory Integrator, refer to its Problem Determination Guide on the IBM Documentation site.
Procedure
-
Enable trace logging for Security Directory Integrator to help you determine whether processes
are running correctly.
Tracing for the Security Directory Integrator processes is similar to tracing for WebSphere® Application Server. The trace output is recorded in the ibmdi.log file in the tdi_installation_directory\logs directory.
Trace settings are configured in the etc\log4j Java™ logging component. The following tracing levels are available, in order of lowest to highest severity:- ALL
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- OFF
Note: Depending on the tracing level enabled, the output can be very lengthy, so try to perform small operations only when tracing is enabled.Profiles service layer logging
If you are troubleshooting a Profiles or IBM Security Directory Integrator problem and are unsure about the cause of the problem, the best strategy is to start with a general trace setting at the lowest severity level. If you run a targeted task at a low severity setting, then you might get more information about the problem to help narrow down the trace configuration. The most general trace setting to use to encompass the set of Profiles service classes is:
To confine tracing to just the Security Directory Integrator operations, include the following line in the etc\log4j.properties file. The classes in this place in the hierarchy are primarily used as the interface between the assembly lines and connectors and the service layer. This level of tracing might also help identify issues in the calling Security Directory Integrator constructs.log4j.logger.com.ibm.lconn.profiles=ALL
You might also want to enable event log tracing. Whenever database operations are performed, they are recorded in the event log. By enabling tracing at this level, you can see indirectly what was done via the service level API to the database. To enable event log tracing, include the following line in the etc\log4j.properties file:log4j.logger.com.ibm.lconn.profiles.api.tdi=ALL
log4j.logger.com.ibm.lconn.profiles.internal.service=ALL
Note: This setting is very verbose, so be sure to enable it for targeted operations.Database layer logging
It is often useful to enable tracing at the database layer to troubleshoot problems. To enable database tracing, include the following line in the etc\log4j.properties file:log4j.logger.java.sql=ALL
- Examine the information in the different log files in the logs directory.
The log files produced by running Profiles Security Directory Integrator assembly lines are all stored in the logs subdirectory of the solution. Most assembly lines create a log file that is specific to the assembly line, for example, PopulateDBFromDNFile.log or SyncUpdates.log.
When a task is run at a subsequent time, based on the logging implementation of the assembly line, the logs are either renamed with an incremented trailing digit or named with a date suffix to ensure that previous logs are preserved.
All other output, in addition to some assembly-line output, is recorded in the logs\ibmdi.log file. Standard output and error information is recorded in this file by default, but you can modify this configuration in the etc\log4j.properties file. For more information, refer to theLog4J.properties topic in the IBM Security Directory Integrator product documentation.
- Use the debug settings in the Log4J.properties file. For more information about the debug settings in the file, refer to Logging using the default Log4J class in the IBM Security Directory Integrator product documentation.
- Set the value of the source_ldap_debug property in the profiles_tdi.properties file
to true as follows.
When set to true, this property prints additional debug information to the ibmdi.log file. You can use this property to track issues and capture more detailed information related to mapping and data validation in the log file.source_ldap_debug=true
Setting this property to true provides two types of information:- Mapping details relating to the LDAP and Profiles databases.
By checking this information, you can find out if you have any incorrect attribute mappings.
- The validation result of each attribute
By checking this information, you can find out which field did not pass the validation and verify the value of this field.
- Mapping details relating to the LDAP and Profiles databases.
- Examine any error messages that you see.The prefix of the error message indicates which component the error message is associated with. For example, the CLFRN prefix is used to identify error messages from all Profiles components. The CTGDIS prefix is used to identify error messages associated with Security Directory Integrator. You might also see error messages from other components in the log files. To find out more about these error messages, refer to the Error codes section of the product documentation.
In addition to the prefix identifier, the last letter of the error message code indicates the severity of the message. For example, a code ending with an I is an informational message. Error and warning codes are designated by E and W respectively.
- Security Directory Integrator Configuration Editor port issue: If you see the message Invalid value specified for 'api.remote.naming.port' when working with the Security Directory Integrator Configuration Editor, you can resolve the issue by manually setting the api.remote.naming.port in the solution.properties file located in the TDI_solution _directory.
-
Linux® 32 -bit issue: Note that the Linux® 32-bit system is not officially supported by HCL Connections. If
you are using a Security Directory Integrator solution without any specified setting on a Linux® 32-bit platform, you will experience issues with
your processor becoming unresponsive. In addition, you will not be able to populate the
Profiles database using the Population Wizard or the solution script provided by IBM Security
Directory Integrator. As a workaround, you need to edit the ibmdisvr shell script located in
the TDI_installation_directory as follows:
"$TDI_JAVA_PROGRAM" $TDI_MIXEDMODE_FLAG -Xms256M -Xmx1024M -Xnojit -cp "$TDI_HOME_DIR/IDILoader.jar" "$LOG_4J" com.ibm.di.loader.IDILoader com.ibm.di.server.RS "$@"