Finding useful information in log files
The various log files contain useful information and error messages to help you troubleshoot your solution.
Errors that occur in Insight Designer are logged in the Eclipse error log. You can also analyze the Liberty server trace.log and messages.log files to find out why errors occurred and to determine whether event processing, connectivity, persistence, and aggregation are working as expected.
Finding information about the run time
For information about the run time, open and search the Liberty server log file trace.log. The following table lists some key search phrases that can help you locate specific information in the server error log files.
String to search for | Gives information about |
---|---|
received event_name | ID, time stamp, and other attributes of an incoming event. |
begin processing | Agent processing activity. |
retrieved entity | Class name, ID, and other attributes of a bound entity, |
rule rule_name execution started | Name of the fired rule, rule processing, and output. |
When an exception error occurs during runtime processing, a First Failure Data Capture (FFDC) record is created. Look for files that include ffdc* in the file name in the logs folder under the server directory. For example: <WLP_USER_DIR>/servers/cisDev/logs/ffdc_14.11.19_13.33.20.0.log.
Finding information about integration
<logging traceSpecification = "com.ibm.ia.scoring*=fine" />
<logging traceSpecification = "com.ibm.ia.connectivity.inbound*=fine" />
In
the resulting log file, search for key phrases to locate information about incoming events, as shown
in the following table.String to search for | Gives information about |
---|---|
XML message received | The arrival of an original XML event. |
Classifier match for transformation | Matched event types. |
XML message discarded | A message that came into the server but was discarded because the classifier did not match the monitored event types. |
Discarding a message received by the endpoint | Message that was transformed but not recognized or processed by Insight Server. |
Finding information about aggregates
When global and entity aggregates are included in a solution project, the log files include information about the type of aggregates that are active. For entity aggregates, the log file includes statistics about aggregation activity for each job run. To retain the most detailed log information, set the logging level for the aggregates to fine. Search the log files for the key phrase Entity Query Job to locate job statistics information.
Finding information about persistence
<logging traceSpecification = "com.ibm.ia.persistence*=fine" />
Look
in the trace.log file, the console.log file, and the
messages.log file for information about persistence errors.String to search for | Gives information about |
---|---|
ORA-12519, TNS:no appropriate service handler found | A refused connection to an Oracle database is resolved by increasing the number of Oracle processes. |
Finding information about missing packages
00000026 org.apache.aries.blueprint.container.BlueprintContainerImpl E Unable to start blueprint container for bundle
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to instantiate components
Caused by: java.lang.NoClassDefFoundError: <package>.
Import-Package: javax.naming
Finding information about degraded scheduling
If a rule that refers to the variable now cannot resolve a time constraint, the rule agent triggers a new event to reevaluate the constraint every 30 minutes. The triggered event assigns the iteration algorithm to evaluate the time constraint. More often than not, when this algorithm is used it iterates for long periods (hence the name) and degrades the performance of the system.
When an iteration algorithm is triggered, the logs include a CWMBF3003W message and the string evaluateObjectMethod0 Iteration Algorithm. The log file includes the warning message as soon as the algorithm is used, and every 30 minutes thereafter if the evaluation continues to be unresolved.
In Insight Monitor, the degradation of the system can be detected by comparing the event count with the number of scheduled processes. A large difference between these numbers in favor of scheduled processing is likely to mean that the system is degraded. By using Insight Monitor, you can identify the offending agent and the event type that is rescheduled every 30 minutes. From this information, you can find the rule that is likely to be the cause of the degradation.
Degradation is known to occur as a result of using rules without a when part. If you can remove rules without a when part, or replace these types of rules with a Java agent or replace now with a time stamp for example, then you reduce the risk of degradation. For example, the following constraint uses now:
there is no interaction during the period of 1 day before now
Replace now by the time stamp of the incoming event:
there is no interaction during the period of 1 day before the time stamp of this event
Pattern matching arrays in rules without a when part can also cause a degraded schedule. Combining a constraint that tests values of an array in a rule that has no when part increases the risk of triggering an indefinite schedule.
In all cases, if you suspect that your solution has a degraded schedule then contact support to get the best advice on how to resolve it.