logging for fun, and profit

93
The DNA of Great Technology

Upload: informatics-summit

Post on 15-Apr-2017

139 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: LOGGING FOR FUN, AND PROFIT

The DNA of Great Technology

Page 2: LOGGING FOR FUN, AND PROFIT

Logging for fun and profit

How to get the most value out of your logging

Page 3: LOGGING FOR FUN, AND PROFIT

About Me

Been at Myriad since March 2009 Father of four I have expensive hobbies

Larry Shatzer

Page 4: LOGGING FOR FUN, AND PROFIT

What is it?Let’s play:

Page 5: LOGGING FOR FUN, AND PROFIT

Does this help?

Page 6: LOGGING FOR FUN, AND PROFIT

How about now?

Page 7: LOGGING FOR FUN, AND PROFIT

Chip Log

Page 8: LOGGING FOR FUN, AND PROFIT
Page 9: LOGGING FOR FUN, AND PROFIT
Page 10: LOGGING FOR FUN, AND PROFIT
Page 11: LOGGING FOR FUN, AND PROFIT
Page 12: LOGGING FOR FUN, AND PROFIT

Who? Where?What?

When? Why?How?

Log Data

Page 13: LOGGING FOR FUN, AND PROFIT

WhoWhat

Where

When

Why?

Page 14: LOGGING FOR FUN, AND PROFIT

Apache Access Log

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

Who When WhereWhat What about these?

Page 15: LOGGING FOR FUN, AND PROFIT

Per

spec

tive

Page 16: LOGGING FOR FUN, AND PROFIT
Page 17: LOGGING FOR FUN, AND PROFIT

Apache Access Log

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

Remote IP

Logged in user Timestamp HTTP

Method Resource Protocol Status Code Size

Page 18: LOGGING FOR FUN, AND PROFIT

Development

Page 19: LOGGING FOR FUN, AND PROFIT

Operational

Development

Page 20: LOGGING FOR FUN, AND PROFIT

OperationalBusines

s

Development

Page 21: LOGGING FOR FUN, AND PROFIT

Development

Page 22: LOGGING FOR FUN, AND PROFIT

Is this code even alive?

Page 23: LOGGING FOR FUN, AND PROFIT

Or is it dead?

Page 24: LOGGING FOR FUN, AND PROFIT

Know when new errors or warnings show up

*Some tooling required

*

Page 25: LOGGING FOR FUN, AND PROFIT

Misuse of the

application

Page 26: LOGGING FOR FUN, AND PROFIT

Testing

Page 27: LOGGING FOR FUN, AND PROFIT

Did this code get exercised?

Page 28: LOGGING FOR FUN, AND PROFIT

Know what to test

Page 29: LOGGING FOR FUN, AND PROFIT

OperationalBusines

s

Development

Page 30: LOGGING FOR FUN, AND PROFIT

Operational

Page 31: LOGGING FOR FUN, AND PROFIT

App

lica

tion

Per

form

ance

Page 32: LOGGING FOR FUN, AND PROFIT

Security

Page 33: LOGGING FOR FUN, AND PROFIT

Support

Page 34: LOGGING FOR FUN, AND PROFIT

Root Cause Analysis

Page 35: LOGGING FOR FUN, AND PROFIT

Capacity Planning

Page 36: LOGGING FOR FUN, AND PROFIT

When things go wrongJust when you thought it was safe again

2

Page 37: LOGGING FOR FUN, AND PROFIT

OperationalBusines

s

Development

Page 38: LOGGING FOR FUN, AND PROFIT

Business

Page 39: LOGGING FOR FUN, AND PROFIT

Pathing

Page 40: LOGGING FOR FUN, AND PROFIT

Turn around time

Page 41: LOGGING FOR FUN, AND PROFIT

Money Generating Events

Page 42: LOGGING FOR FUN, AND PROFIT

Events that cost money

Page 43: LOGGING FOR FUN, AND PROFIT

Compliance & Auditing

Page 44: LOGGING FOR FUN, AND PROFIT

Improvement

Process

Page 45: LOGGING FOR FUN, AND PROFIT

Process Improvement

Page 46: LOGGING FOR FUN, AND PROFIT

What should a log message contain?

Page 47: LOGGING FOR FUN, AND PROFIT

{Timestamp}

Page 48: LOGGING FOR FUN, AND PROFIT

Logger

Page 49: LOGGING FOR FUN, AND PROFIT

Log Level

Page 50: LOGGING FOR FUN, AND PROFIT

Thread Id

Page 51: LOGGING FOR FUN, AND PROFIT
Page 52: LOGGING FOR FUN, AND PROFIT

MD

C V

alue

s

Page 53: LOGGING FOR FUN, AND PROFIT

A • − N − •B − • • O − − −C − • − P • − − D − • • Q − − • E • R • − •F • • − S • • •G − − • T −H • • • U • • −I • • V • • • J • − − W • − −K − • − X − • • L • − • Y − • − M − − Z − − •

− − • • • • • • • • − − − • •

M E S S A G E

Page 54: LOGGING FOR FUN, AND PROFIT

Usable Identifiers

Page 55: LOGGING FOR FUN, AND PROFIT

Identify the user

Page 56: LOGGING FOR FUN, AND PROFIT

Unique Identifier to chain events together

Page 57: LOGGING FOR FUN, AND PROFIT

Timings for events

Page 58: LOGGING FOR FUN, AND PROFIT

Stacktraces for errors

Page 59: LOGGING FOR FUN, AND PROFIT
Page 60: LOGGING FOR FUN, AND PROFIT

Your service 192.168.1.56

User: Bob

192.168.1.100

Return address

Page 61: LOGGING FOR FUN, AND PROFIT

A NB OC PD QE RF SG TH UI VJ WK XL YM Z

A L E R T A B L E E V E N T S

Page 62: LOGGING FOR FUN, AND PROFIT

Log Levels

Page 63: LOGGING FOR FUN, AND PROFIT

ERROR

Page 64: LOGGING FOR FUN, AND PROFIT
Page 65: LOGGING FOR FUN, AND PROFIT

WARN

Page 66: LOGGING FOR FUN, AND PROFIT
Page 67: LOGGING FOR FUN, AND PROFIT

INFO

Page 68: LOGGING FOR FUN, AND PROFIT
Page 69: LOGGING FOR FUN, AND PROFIT

DEBUG

Page 70: LOGGING FOR FUN, AND PROFIT
Page 71: LOGGING FOR FUN, AND PROFIT

TRACE

Page 72: LOGGING FOR FUN, AND PROFIT
Page 73: LOGGING FOR FUN, AND PROFIT

Use log levels to sift

Page 74: LOGGING FOR FUN, AND PROFIT

General Tips

Page 75: LOGGING FOR FUN, AND PROFIT

Toomuchloggingcanslowthingsdown

Page 76: LOGGING FOR FUN, AND PROFIT

Key=Value

Page 77: LOGGING FOR FUN, AND PROFIT

Single unit of time

Page 78: LOGGING FOR FUN, AND PROFIT

secondmillisecond

microsecondnanosecond

How granular should I go?

Page 79: LOGGING FOR FUN, AND PROFIT

consistenc

y

Page 80: LOGGING FOR FUN, AND PROFIT

Log in the best spot

Page 81: LOGGING FOR FUN, AND PROFIT

When do I log,

or use the database?

Page 82: LOGGING FOR FUN, AND PROFIT
Page 83: LOGGING FOR FUN, AND PROFIT

Summary

Page 84: LOGGING FOR FUN, AND PROFIT

Summary

1. Five W’s

Page 85: LOGGING FOR FUN, AND PROFIT

Summary1. Five W’s

2. Consistency

Page 86: LOGGING FOR FUN, AND PROFIT

Summary1. Five W’s

3. Right spot 2. Consistency

Page 87: LOGGING FOR FUN, AND PROFIT

Summary1. Five W’s

4. Key=Value 2. Consistency 3. Right spot

Page 88: LOGGING FOR FUN, AND PROFIT

Summary1. Five W’s

5. Perspective 2. Consistency 3. Right spot4. Key=Value

Page 89: LOGGING FOR FUN, AND PROFIT

Summary1. Five W’s2. Consistency 3. Right spot4. Key=Value

5. PerspectiveOperationalBusines

s

Development

Page 90: LOGGING FOR FUN, AND PROFIT

Questions?

Page 91: LOGGING FOR FUN, AND PROFIT

So long and

for all the fish

Thanks

Page 92: LOGGING FOR FUN, AND PROFIT

ThanksSummary

1. Five W’s2. Consistency 3. Right spot4. Key=Value

5. PerspectiveOperationalBusines

s

Development

Page 93: LOGGING FOR FUN, AND PROFIT

Title Slide: https://flic.kr/p/iBeeVZ

Chip Log: http://elfshotgallery.blogspot.com/2013/05/chip-log.html https://en.wikipedia.org/wiki/Chip_log

Logbook: https://en.wikipedia.org/wiki/Logbook

Antarctic Logbook https://commons.wikimedia.org/wiki/File:USASE_Dec_15-16_1940_TA_Petras_flight_logbook.jpg

Sextant: https://flic.kr/p/eRrv7W https://en.wikipedia.org/wiki/Sextant

EKG: https://vimeo.com/63913242

Radar: https://vimeo.com/16725654

Testing: https://commons.wikimedia.org/wiki/File:USCG_RB-S_25400_rollover_testing.jpg https://en.wikipedia.org/wiki/Ship_model_basin https://flic.kr/p/BYvuh

Engine Order Telegraph: https://flic.kr/p/7W9z7M

Support: https://flic.kr/p/6Q54BX

Root Cause Analysis: https://flic.kr/p/dCB8ne

Capacity Planning: https://en.wikipedia.org/wiki/Rena_oil_spill

Money Generating Events: https://flic.kr/p/8LeF4X

Timestamp: https://en.wikipedia.org/wiki/Timestamp

Logger: https://flic.kr/p/ayd3J2

Log Level: https://upload.wikimedia.org/wikipedia/commons/7/72/House_Boat_Kerala_by_Joseph_Lazer.jpg

Thread ID: https://flic.kr/p/dU5tfC

Usable Identifiers https://flic.kr/p/zsG3d

Identify the User: https://flic.kr/p/fqi248

Stacktraces: https://flic.kr/p/nf4xa6

Log Levels: https://en.wikipedia.org/wiki/User:Jrcrin001/Carpenter_sisters#/media/File:17th-century-merchantman.jpg

Error:

https://en.wikipedia.org/wiki/File:USS_Howorth_torpedo_hit.JPG

Warn: https://en.wikipedia.org/wiki/Warning_shot#/media/File:HITRON_MH-65C_Fires_warning_shots.jpg

Info: https://flic.kr/p/8cNozC

Debug: https://flic.kr/p/mVEG5R

Trace: https://flic.kr/p/5ie8wV

Log Levels to Sift: https://commons.wikimedia.org/wiki/File:Fishing_net.jpg

General Tips: http://genesing.ch/gallery/questions-and-answers-signpost/

Too much logging: https://flic.kr/p/4TtiaZ

Single unit of time: https://upload.wikimedia.org/wikipedia/commons/1/14/Harrison%27s_Chronometer_H5.JPG

Consistency: https://flic.kr/p/4Pe4JH

Log or Database: https://flic.kr/p/8Je9gE

Attributions