About the Bravura Security Fabric Log
The Logging Service (idmlogsvc) maintains a log of Bravura Security Fabric program execution. This includes web modules, services, exit programs, plugins, connectors, and command-line programs. By default the log is stored in a text file, idmsuite.log , within the Logs directory. This directory is rotated nightly; rotated logs are named in the following way:
Current: <instance>
Most recent for specific date, except the current log: <instance> . <yyyy> - <mm> - <dd>
Log rotated more than once for a specific date: <instance> . <yyyy> - <mm> - <dd> - <hhmmss> . <SerialNo> .
For example, if the instance is ExampleCo, logs are named:
ExampleCo ExampleCo.2016-02-28 ExampleCo.2016-02-28-134020.0 ExampleCo.2016-02-28-114020.0 ExampleCo.2016-02-27 ExampleCo.2016-02-26 ExampleCo.2016-02-25
In the above example, the log was rotated 3 times in 2016-02-28 and the directories are in a most recent sequence order.
Log file location
The main product log, idmsuite.log, is located in the instance temporary files directory. You configure this location at instance install time.
After installation, you can find the path in the Windows registry under:
HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Bravura Security\Bravura Seucrity Fabric\PsTempDir
This registry setting replicates from the primary server to secondaries, so it is the same on all replicated application node servers in the same product instance.
In addition to the main product log, this location can contain:
Per-script or per-binary log files, when the Logging Service is configured to write separate files.
Email notifications when saved to disk.
General binary input and output data when collected.
Log entry format
Log entries are, in general, composed of multiple lines or messages written in the format:
<date> <time> - [<lsid>] <program> [<process ID>,<thread ID>] <level>: [<range>] <message text>
where:
lsid | is the logging session ID. Certain programs, such as web modules, include a session ID in their log entries. All lines with the same logging session ID belong to the same event. |
level | is the level or severity of the message. This can be one of: Error, Warning, Notice, Info, Debug, or Verbose. |
range | is the range of characters from the log message included in the log entry. This is shown only when long log messages are spread between multiple log entries. Since each log entry includes 500 characters of the log message, the range for the first entry is [0 .. 499] . |
Errors from external systems
Not all errors recorded in the Bravura Security Fabric log originate from the product itself. Some product components log errors that are reported by external systems:
The database service (
iddb.exe) records errors reported by the Microsoft SQL Server client when contacting the database service. Investigate these errors on the database server. You may need to collect a query execution plan or review database table data.Agent binaries (
agt*.exe) report issues returned from target system clients or servers. These errors may indicate a connectivity or configuration issue on the target system rather than in Bravura Security Fabric.
When you encounter an error in the product log, determine whether the root cause is internal to Bravura Security Fabric or external before proceeding with troubleshooting. See Troubleshoot issues using product logs for a structured approach.
See also:
Scheduling Maintenance to learn how to control the
rotatelogjob that is responsible for rotating the log file directory.Logging Service to learn how to change log service parameters for logging, including the log file name and location, and the logging level. This section also shows you how to rotate the log using the
idmlogsvc-rotatelog <N>command.
Collecting logs for troubleshooting
Access the Bravura Security Fabric product log
Log in to the Front-end (PSF) as
superuser.Open File Explorer.
Navigate to
C:\Program Files\Bravura Security\Bravura Security Fabric\Logs.To open the most recent log, open the default directory. Otherwise, open the desired dated default directory.
idmsuite.logis the main Bravura Security Fabric log.If email is configured and emails have been sent in the system, you also see a
maildirectory. This is where emails go when MAIL SEND METHOD includes theFILEvalue.If
idtrackis in use and auto-discovery has run, you also seeidtrack_workfile_<date>.log. This file includes a list of requests made by the automation system throughidtrack.
To view the main log, right-click the
idmsuite.logfile, select Open with..., and choose a viewer.Save the file to the desired location.
Logs from replicated nodes
Logs differ across nodes in a replicated instance.
To collect those logs on a single server, run the following command from the instance's util folder:
updinst.exe -getlogs
Ensure you have enough space to store the logs.
To collect Bravura Security Fabric logs from other locations, use the logutil command.
See also
Resetting, exporting, and importing settings to learn how to export authentication chain settings.
psdebug .
Troubleshoot issues using product logs
This section describes a structured approach to investigating issues using Bravura Security Fabric product logs. Following a consistent methodology helps you isolate root causes efficiently and gather the right data for Support.
Prerequisites
Before you begin, ensure you have the following:
Knowledge of where to find product-related logs. See About the Bravura Security Fabric Log.
Knowledge of how the specific product subsystem you are investigating works.
Understanding of log entry formats, including process ID, thread ID, and severity levels.
Familiarity with text viewing, searching, and filtering tools. See Tools for analyzing log files.
Access to relevant logs and product configuration on the affected server.
Troubleshooting procedure
Identify and describe the issue you are investigating.
Start with the top-level issue description:
What was reported as not working.
What the requirements are.
What the expected outcome is.
Narrow down the use cases where the issue occurs and where it does not.
Look for patterns such as specific users, times of day, server nodes, or target systems that correlate with the issue.
If the issue is on the client (browser) side, investigate the UI.
Check browser developer tools for console errors, network failures, or rendering issues.
If the issue is on a remote integrated system, investigate the remote system.
Check the remote system logs and connectivity to determine whether the issue originates outside Bravura Security Fabric.
If the issue is on the server side:
Identify the server where the issue occurred.
Search that server's logs for issue details:
Search for the error string or substring, user ID, request ID, or other relevant data.
Isolate the process number (and thread number if needed) to trace the relevant execution path.
If a binary or service crashes or misbehaves, collect a memory dump.
If an agent, script, plugin, or interface binary misbehaves, collect its input and output KVG files.
Determine whether the error originates from Bravura Security Fabric or from an external system.
Even if the product log contains an error, the root cause may be external. For example:
The database service (
iddb.exe) records errors reported by the Microsoft SQL Server client when contacting the database service. Investigate these errors on the database server. You may need to collect a query execution plan or database table data.Agent binaries (
agt*.exe) report issues returned from target system clients or servers. These errors may indicate a connectivity or configuration issue on the target system rather than in Bravura Security Fabric.
Document the reproduction steps. Writing down all the steps from the previous stages often points to the relevant configuration options that can resolve the issue, or to a third-party integrated system error that needs to be resolved externally.
Compare logs to isolate issues
Comparing log data across different scenarios is one of the most effective techniques for isolating the root cause of an issue. Consider the following approaches:
Compare current logged product execution with previous logs from the same subsystem, from a time when the issue was not present.
For intermittent issues, compare use cases in the same log file where the issue occurs with use cases where it does not.
If the issue affects one user but not another, trigger the investigated functionality for both users. Then compare the logs and any relevant data in product reports, such as profile membership in user classes, profiles, profile attributes, accounts, and account attributes.
Build product knowledge for investigations
Effective log analysis requires understanding how the investigated functionality works. You can build this understanding through:
Product training courses.
Reading articles on specific topics in the Bravura Security Fabric documentation.
Reading product logs proactively to identify which binaries and scripts Bravura Security Fabric invokes for specific functionality.
Expected results
After completing this procedure, you should be able to:
Add product monitoring by using log filters on the product server with your own automation, or via a third-party log aggregator.
Find root causes for issues that negatively affect product functionality, such as target discovery issues and performance issues.