3.2 Configuring the Sync Engine

3.2.1 Enabling Caching for Troubleshooting Purposes

By default, the Sync Engine stores events in the Synchronizer database until it transfers the events to the connectors that have subscribed to the events, then it deletes the events from the Synchronizer database. For troubleshooting purposes, you can configure the Sync Engine to cache events in the Synchronizer database even after the events have been transferred to connectors. You can also control the length of time such events are cached. When your troubleshooting is completed, you can clear the cached events.

  1. In Synchronizer Web Admin, click default in the Manage Engines section, then scroll to the Caching section.

    Logging section on the Engine Configuration page
  2. Select Enabled to turn on caching for the Synchronizer database.

  3. Specify the number of days to cache the events.

    Event caching causes the Synchronizer database to grow in size based on the amount of traffic through the Sync Engine.

  4. Click Save Cache Settings.

  5. When you are finished with your troubleshooting activities, disable caching to reduce the amount of data stored in the Synchronizer database:

    1. Return to the Engine Configuration page.

    2. In the Caching box, select Disabled, then click Save Cache Settings.

    3. In the Maintenance box, click Clear Cache.

3.2.2 Enabling Per-User Logging

If individual users are having problems that are not experienced by most users, you can enable per-user logging. Per-user logging places a heavy load on the Synchronizer services and causes log files to grow very large very quickly. It should only be used for brief periods of troubleshooting individual user problems.

Per-user logging collects user-specific errors from the Sync Engine log (engine.log) and the connector log (default.pipeline1.connector_name.log) and consolidates them into a single, user-specific log file.

  1. In Synchronizer Web Admin, click default in the Manage Engines section, scroll to the Logging section, then click Advanced.

    Advanced Logging section on the Engine Configuration page
  2. Enable a user for logging:

    1. Click Add User.

      Add User dialog box
    2. Specify the fully distinguished name (cn-user_name,ou-orgunit,o=organization) of the user that is having problems, then click Add User.

      A progress box displays briefly, but you do not need to click OK in it. You return automatically to the Logging section.

    3. Click Advanced to see that the user has been added to the list.

      Advanced Logging section with a user added

      When one user is having problems, but other users are not, it can be helpful to log events for a successfully working user in order to compare the logs of the two users.

  3. (Optional) Repeat Step 2 for a successfully working user.

    Each user’s log file, named user_distinguished_name.log, is created in the following directory:

    /var/log/datasync/targets
    
  4. Review the user log files to help resolve the problem.

  5. Disable per-user logging:

    1. Return to the Logging section of the Engine Configuration page.

    2. Click Delete icon to delete each user for whom per-user logging was enabled.

3.2.3 Controlling Sync Engine Logging

The Sync Engine writes useful information to the Sync Engine log file (engine.log). You can control the amount of information that is written to Synchronizer log files. The default log level is Info. For background information about log files, see Section 3.5, Working with Synchronizer Log Files.

  1. In Synchronizer Web Admin, click default in the Manage Engines section, then scroll to the Logging section

    Logging section on the Engine Configuration page
  2. Select a log level.

    • Debug: Logs large quantities of developer-level data. This log level is appropriate for troubleshooting purposes. It puts a heavy load on the Sync Engine and should be used only until the troubleshooting activities are completed.

    • Info: Logs informational messages about normal Sync Engine processing. This log level is suitable for a Synchronizer administrator who wants to observe the functioning of the Sync Engine. However, it puts a heavier load on the Sync Engine than the Warning and Error log levels. This is the default log level.

    • Warning: Logs problems that should not adversely affect Sync Engine processing but should be investigated and resolved for optimum performance. This log level is appropriate for a smoothly running Sync Engine where you only want to be notified of warnings and errors.

    • Error: Logs error messages that indicate critical errors in Sync Engine processing. This log level puts the least load on the Sync Engine because it logs only critical errors.

  3. (Optional) Select Verbose.

    You can select Verbose for any log level. Selecting Verbose adds event data to the messages regularly logged at the selected log level.

  4. (Optional) Select Log Failed Events to Disk.

    You can select Log Failed Events to Disk for any log level. Logging failed events to disk saves failed events (typically as XML files) in the following directory:

    /var/lib/datasync/errors
    

    Each event file is named using the event ID for the failed event, so that you can correlate messages about specific events with their associated event files. Information about failed events is helpful when you need to contact Support for assistance.

  5. In the File field, specify the name of the Sync Engine log file.

    By default, the name of the Sync Engine log file is engine.log.

3.2.4 Controlling Config Engine Logging

The Config Engine writes useful information to the Config Engine log file (configengine.log). You can control the amount of information that is written to Synchronizer log files. The default log level is Info. For background information about log files, see Section 3.5, Working with Synchronizer Log Files.

  1. In a terminal window on the Synchronizer server, log in as the root user.

  2. Change to the following directory:

    /etc/datasync/configengine
    
  3. Open the configengine.xml file in a text editor.

  4. Locate the following tag:

    <log>
         <output>/var/log/datasync/configengine/configengine.log</output> 
         <level>info</level>
    </log> 
    

    This section identifies the Config Engine log file and sets the logging level.

  5. Replace the logging level between the <log> tags with the desired logging level:

    • debug: Logs large quantities of developer-level data. This log level is appropriate for troubleshooting purposes. It puts a heavy load on the Config Engine and should be used only until the troubleshooting activities are completed.

    • info: Logs informational messages about normal Config Engine processing. This log level is suitable for a Synchronizer administrator who wants to observe the functioning of the Config Engine. However, it puts a heavier load on the Config Engine than the Warning and Error log levels. This is the default log level.

    • warning: Logs problems that should not adversely affect Config Engine processing but should be investigated and resolved for optimum performance. This log level is appropriate for a smoothly running Config Engine where you only want to be notified of warnings and errors.

    • error: Logs error messages that indicate critical errors in Config Engine processing. This log level puts the least load on the Config Engine because it logs only critical errors.

  6. Save the configengine.xml file, then exit the text editor.

  7. Restart the Config Engine to put the new setting into effect:

    rcdatasync-configengine restart