devcon 2012 understanding blackboard error logs

33
Understanding Blackboard Learn Error Logs Matthew Saltzman Security Engineer Blackboard Inc.

Upload: matthew-saltzman

Post on 01-Jul-2015

344 views

Category:

Technology


0 download

DESCRIPTION

Provides information on the error log format for Blackboard Learn, and informs on where different types of error messages are stored.

TRANSCRIPT

Page 1: DevCon 2012 Understanding Blackboard Error Logs

Understanding Blackboard Learn

Error Logs

Matthew Saltzman

Security EngineerBlackboard Inc.

Page 2: DevCon 2012 Understanding Blackboard Error Logs

Goals

• During his presentation, we should cover the following topics

• Configuring the different Blackboard LearnTM log files

• Where different errors will log to

• How to read the Blackboard Learn log files

• Determining which errors are cause for concern

• Where to start looking for errors relating to logged messages

2

Page 3: DevCon 2012 Understanding Blackboard Error Logs

Why Bother?

• Reading logged errors in an enterprise application is difficult and tedious

• Errors could be expected, and not cause concern

• Could be related to bugs that can't be fixed without help from support

• Most importantly, it creates more work to do

3

Page 4: DevCon 2012 Understanding Blackboard Error Logs

Reasons

• Help spot errors before users, and thus close help desk tickets faster

• Have your support tickets resolved faster, as support will spend less time looking for the right log file

• Help prevent performance issues

• Keep the Blackboard Learn system running smoothly

4

Page 5: DevCon 2012 Understanding Blackboard Error Logs

5

Error Messages

Explained

Page 6: DevCon 2012 Understanding Blackboard Error Logs

Where are they?

• All log files, save Building BlockTM logs, are in blackboard/logs

• Or a sub directory

• Each log file has information from a specific task

• Also, each log is set to a different log level

• FATAL, ERROR, WARNING, INFORMATIONAL, DEBUG are the most common

6

Page 7: DevCon 2012 Understanding Blackboard Error Logs

7

Page 8: DevCon 2012 Understanding Blackboard Error Logs

Any other way?

• Other ways to find log files

• Download from the admin panel

• Admin console

• Sometimes in the frame source when an error occurs

8

Page 9: DevCon 2012 Understanding Blackboard Error Logs

9

Page 10: DevCon 2012 Understanding Blackboard Error Logs

Log Configuration

• These log files have different configuration files, though in some cases multiple logs are configured in a single config file

• For most, config files are located in blackboard/config/*.properties

• Stdout-stderr-log.txt is configured in the blackboard/config/tomcat/conf/wrapper.conf file

• Configuration is somewhat labeled inside the file

10

Page 11: DevCon 2012 Understanding Blackboard Error Logs

service-config.properties

• Common log configuration file

• Holds configuration information for bb-services-log.txt and bb-sqlerr-log.txt

• On the right, showing where bb-services-log.txt is configured

11

Page 12: DevCon 2012 Understanding Blackboard Error Logs

wrapper.conf

• Familiar config file for tomcat service wrapper

• Also contains log configuration for stdout-stderr-log.txt

• Right hand side shows the logs' configuration

12

Page 13: DevCon 2012 Understanding Blackboard Error Logs

What goes Where?

• Sometimes hard to tell

• Most commonly, the errors are logged to bb-services, bb-sqlerr, or stdout-stderr

• Bb-services log holds webapp errors

• For example, errors found in the UI

• Bb-sqlerr log holds only database errors, such as Ora-codes

• Stdout-stderr contains errors that reach the standard error stream, as well as startup and shutdown information

13

Page 14: DevCon 2012 Understanding Blackboard Error Logs

Example Stack Trace

com.inet.tds.Tds4SQLException: Msg 6005, Level 14, State 2, Line 1,

Sqlstate 01000[*****************]SHUTDOWN is in progress.

at com.inet.tds.aa.a(Unknown Source)

at com.inet.tds.n.b(Unknown Source)

at com.inet.tds.n.a(Unknown Source)

at com.inet.tds.n.a(Unknown Source)

at com.inet.tds.bg.g(Unknown Source)

at com.inet.tds.bg.executeQuery(Unknown Source)

at com.inet.pool.u.executeQuery(Unknown Source)

at com.inet.pool.ac.executeQuery(Unknown Source))

14

Page 15: DevCon 2012 Understanding Blackboard Error Logs

Parts of Stack Trace

• Stack traces can be broken down into smaller components

• Error Message, contains any text about the error, as well as the exception that was caught

• Thread stack showing the path the thread took to reach the error

• Optional caused by or root cause clauses, showing deeper errors and associated thread stacks

15

Page 16: DevCon 2012 Understanding Blackboard Error Logs

Exception/Message

• First line of the stack trace

• Begins with a java exception

• Additional error details

• Sometimes contains an error id, which can link to what a user sees in the UI

• Example:

com.inet.tds.Tds4SQLException: Msg 6005, Level 14, State 2, Line 1, Sqlstate 01000[*****************]SHUTDOWN is in progress.

16

Page 17: DevCon 2012 Understanding Blackboard Error Logs

Thread Stack

• Each line begins with the word "at"

• Provides the full class name that threw the exception, complete with package details

• Specific line number in the code where the exception occurred

17

Page 18: DevCon 2012 Understanding Blackboard Error Logs

1818

Page 19: DevCon 2012 Understanding Blackboard Error Logs

Optional Sections

• Begins with either the words root cause or caused by

• Contains another exception and stack trace

• Shows where an earlier, causal exception occurred in the code

• Example:

19

Page 20: DevCon 2012 Understanding Blackboard Error Logs

Other types of Logs

• Access_logs from apache, IIS, tomcat, containing request information

• Email logs simply showing what emails went out, and to whom

• Authentication and SIS integration logs, visible in the GUI

20

Page 21: DevCon 2012 Understanding Blackboard Error Logs

21

Page 22: DevCon 2012 Understanding Blackboard Error Logs

22

Troubleshooting

Error Messages

Page 23: DevCon 2012 Understanding Blackboard Error Logs

Important Errors

• Blackboard Learn logs tons of exceptions and informational messages, so how does one know which to pay attention to?

• Errors users see in the UI

• Errors pointing out performance issues

• Errors describing non-working functionality

• "Log Spam", eg errors that do not affect behavior of the system, and informational messages

23

Page 24: DevCon 2012 Understanding Blackboard Error Logs

24

Page 25: DevCon 2012 Understanding Blackboard Error Logs

Errors seen by Users

• Any time a user sees an error, it's something to investigate

• In most cases, users should not see exceptions

• Always display error ids, unique alphanumeric values that can pinpoint an error in a log

25

Page 26: DevCon 2012 Understanding Blackboard Error Logs

26

Page 27: DevCon 2012 Understanding Blackboard Error Logs

Performance Errors

• These are errors indicating that the entire application is not processing requests normally

• HeapSpaceOutOfMemory is only one example

• Deadlock errors

• Hot Spot JVM errors

• Consecutive full garbage collections

27

Page 28: DevCon 2012 Understanding Blackboard Error Logs

28

Page 29: DevCon 2012 Understanding Blackboard Error Logs

Broken Functionality

• Much tougher to identify

• Usually calls out a specific blackboard component

• Could come in many forms

• Null Pointer Exception

• Class Not Found exception

• Authorization errors

29

Page 30: DevCon 2012 Understanding Blackboard Error Logs

Broken Functionality

• Need to be investigated before conclusions are drawn

• Can use the access logs to find the user that reached the error page at the right time, and work through their path through the system to reach that page

• Also can use the stack trace and error message to guess what the user was doing

• Usually involve data corruption of some type, or a bug in Blackboard Learn

30

Page 31: DevCon 2012 Understanding Blackboard Error Logs

Log Spam

• Don't appear to correlate to a specific action in Blackboard Learn

• Errors are generally generic and obscure

• Messages are also repetitive

• But since users are unaffected, relatively few trouble tickets come in

31

Page 32: DevCon 2012 Understanding Blackboard Error Logs

Summary

• We should have covered the basics of troubleshooting blackboard errors

• Should not need a description from a user to find a problem

• Correlate errors and actions within the system

32

Page 33: DevCon 2012 Understanding Blackboard Error Logs

33

Questions?