View
133
Download
0
Category
Preview:
Citation preview
IBM BPM Problem Determination
http://www.coutureconsulting.com/
long.nguyen@coutureconsulting.com
Overview
Websphere application server architecture
Network deployment concepts
Runtime Flow
Administration flow
Clustered application servers
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
Tuning method
Tuning considerations
Problem determinationProblem 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
Log files and locations
Log or trace file format
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
SystemOut.log examples
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
ffdc in logs folder example
ffdc content example
High Performance Extensible Logging (HPEL)• Performance
– Log and trace events are stored as binary data so performance is substantiallyfaster 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 isfrom– When used with cross-component trace, HPEL includes information about whichrequest 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 extensionname and value• Filtering– HPEL logViewer command helps you filter logs and trace data by date, time,level, and thread ID
High Performance Extensible Logging (HPEL)
HPEL on developerworks:http://www.ibm.com/developerworks/websphere/techjournal/1208_bourne/1208_bourne.html
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
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
)
Troubleshooting JVM problems
Problem Determination - collect log files
1. verbose gc log, heap memory dump2. java core files
Troubleshooting JVM problemsSymptoms analysis1. server crashes
- application server stop or exit unexpectedly1. 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
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/
Troubleshooting JVM problemsheapdumps 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 wsadmino 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
Troubleshooting JVM problems
root profile location
Troubleshooting JVM problemsmemory 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
Troubleshooting JVM problems
jvm documentshttp://www.ibm.com/developerworks/java/jdk/docs.html
demo: java -jar /home/longnguyen/ccvietnam/workspace/costo/utils/ga456.jar
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
Resources:course materials https://www.evernote.com/shard/s210/sh/8b02a558-639a-4e54-a610-3f247d8849c4/3ca31d18ebfe78df8e1106db4f6f623fibm knowledge center for trouble shooting http://www-01.ibm.com/support/knowledgecenter/SS964W/com.ibm.wbpm.admin.doc/topics/welcome_wps_tro.htmlibm waithttps://wait.ibm.com/ibm developer works
http://www-01.ibm.com/support/knowledgecenter/SSFPJS_8.5.0/ditamaps/ic-homepage-bpm.html
analyze java thread dumps
http://architects.dzone.com/articles/how-analyze-java-thread-dumps
Recommended