8. IBM BPM key databases
● CMNDB
o BPEL instances
● BPMDB
o BPD instances
● PDWDB
● The CMNDB and BPMDB are the runtime databases, which store
process instances information for BPD and BPEL
● The default configuration when creating the BPE container through the
administrative console is CMNDB, but can be changed
More details: https://www.evernote.com/shard/s210/sh/70704404-0d24-42f0-9e1a-
6231855b02af/1a3fd21649db5656ed4163f45d0b5948
11. Problem determination
Problem analysis
1. review the log file (SystemOut.log, ffdc logs, jvm
logs)
2. check product version, search message code with
the product version
3. ibm support assistant, forum, bpm community , tech
notes, ...
Reference link: http://www-
01.ibm.com/support/docview.wss?uid=swg21569731
14. SystemOut.log
- Useful data such as software levels for the WebSphere
Application Server binary files and the IBM Business
Process Manager binary files
- A mix of informational, warning, and error messages
16. FFDC (first-failure data capture)
file naming convention:
<server name>_<thread ID>_yy.MM.dd_HH.mm.ss_<unique ID>.txt
and contains information that is relative to the value of
the ffdcRun.properties Level property value
19. High Performance Extensible Logging (HPEL)
• Performance
– Log and trace events are stored as binary data so performance is substantially
faster than default log and trace framework (basic mode)
– Less impact to systems when trace is enabled
• Extensions
– HPEL includes information about which application each log or trace record is
from
– When used with cross-component trace, HPEL includes information about which
request each log or trace record is from
– Developers can add their own log or trace record extensions
– HPEL logViewer command enables filtering logs or trace data by extension
name and value
• Filtering
– HPEL logViewer command helps you filter logs and trace data by date, time,
level, and thread ID
20. High Performance Extensible Logging
(HPEL)
HPEL on developerworks:
http://www.ibm.com/developerworks/webspher
e/techjournal/1208_bourne/1208_bourne.html
21. Problem diagnostic tips
- understanding the system architecture
- timestamp in the log files (eg:
ttps://docs.google.com/spreadsheets/d/1c65eHb8mZTBeva2HOvmyuHv5ksl7UiEW-MLq3LTgzXE/pubhtml )
- count occurrence times of error message
- guest in which context may cause the errors
22. Kind of data should be collect for
performance-related problem
- Thread dumps
- Heap dumps
- Java gc logging
http://www-01.ibm.com/support/docview.wss?uid=swg21114927
- Event manager and process monitor
- Custom solution code logging
- Instrumentation logging
https://bp3.zendesk.com/hc/en-us/articles/202144583-
Instrumentation-Monitor-page-in-IBM-BPM-the-missing-manual-part-I)
24. Troubleshooting JVM problems
Symptoms analysis
1. server crashes
- application server stop or exit unexpectedly
1. hung process
- verify that app server process is running
- threads might be deadlocked
- looping in code
1. out of memory
- errors and exceptions that are logged without process exit
- at times, can process in unexpected process exit
4. performance degradation
- app server might crash and the nodeagent restarts it
- check to see whether the process ID is continually changing
25. Troubleshooting JVM problems
garbage collection logs
● verbosegc is written to native_stderr.log (ibm jdk), native_stdout.log (sun
solaris, hp-ux java package)
● to enable verbosegc log (http://www-
01.ibm.com/support/docview.wss?uid=swg21114927 )
● tool to visualize http://www.ibm.com/developerworks/java/jdk/tools/gcmv/
26. Troubleshooting JVM problems
heapdumps and javacores (javadumps, threaddumps)
heapdumps
● heapdumps is dump of all the live objects that are on the java heap
● heapdumps file (phd portable heap dump) - OutOfMemory error located in <profile root> dir
javacore ( javadump, threadump)
● all about java thread present, classes loaded, heap statistics
● javacore is generated automatically by event of java crash or OutOfMemory error
● manually:
o - kill -3 on unix or wsadmin
o cmd>wsadmin
wasdmin>set jvm [$AdminControl completeObjectName type=JVM,process=%1,*] >
%FILENAME%
wsadmin>$AdminControl invoke $jvm dumpThreads >> %FILENAME%
location
● <profile root> for ibm jdk
● native_sdout.log solaris and hp-ux native_stdout.log
28. Troubleshooting JVM problems
memory and heap analysis
● memory analyzer tool
● memory dump diagnostic for java
● ibm heapanalyzer
verbosegc log analysis
● ibm garbage collection and memory visualizer
● ibm pattern modeling and analysis tool for java garbage collector
javacore analysis
● ibm thread and monitor dump analyzer for java
30. Problem prevention and best practices
- set up monitoring and detect problems
- create and maintain system architecture
diagram
- establish baselines (system load time,
response time)
- define a diagnostic collection plan
- create maintenance plan
- a deployment manager process manages the node agents
+ hold the configuration repository for the entire management domain, called a cell
+ in a cell, the administrative console runs inside the deployment manager
- a node is a logical grouping of application servers
+ a single node agent process manges each node
+ through profile configuration , multiple nodes can exist on a single computer