+ All Categories
Home > Technology > Graphite

Graphite

Date post: 17-Jan-2015
Category:
Upload: david-lutz
View: 2,061 times
Download: 0 times
Share this document with a friend
Description:
Graphite presentation for DevOps Melbourne
Popular Tags:
26
Transcript
Page 1: Graphite
Page 2: Graphite

Overview

• Architecture

• Strengths

• Weaknesses

• Example Usage

Page 3: Graphite

Graphite ArchitecturePython based

http://graphite.wikidot.com/

Page 4: Graphite

Web UI == Django

Run under Apache mod_python

Page 5: Graphite

Graphics library == Cairo

http://cairographics.org/

Page 6: Graphite

Processing backend (Carbon) == Twisted Python

Page 7: Graphite

Storage Engine (Whisper) •Fixed size •Can insert data out of order

Page 8: Graphite

Storage Engine (Whisper)• Flexible configuration of precision

/opt/graphite/conf/storage-schemas.conf

[default_1min_for_1day_5min_for_1_year_1hr_for_5years]pattern = .*retentions = 60s:1d, 5m:365d, 1h:5y

Page 9: Graphite

1.8 megabyte whisper file/opt/graphite/storage/whisper/

Page 10: Graphite

Strengths

Page 11: Graphite

Flexible data storage (configurable precision)

Page 12: Graphite

Easy to get data in

• telnet to port 2003• enter three values metric.name value unixtime

Page 13: Graphite

• Explore data by combining, aggregating, or performing calculations

• Build dashboards by tweaking URLs

Page 14: Graphite

Weaknesses

Page 15: Graphite

• Not so nice out of the box (as Ganglia for example)

• Not packaged

Page 16: Graphite

Example usage• Apache logs into Graphite• Count 200s 300s 500s etc (RPMs)• Calculate average response times

Page 17: Graphite

How to visualize data from 50 web servers?

Page 18: Graphite
Page 19: Graphite
Page 20: Graphite
Page 21: Graphite
Page 22: Graphite
Page 23: Graphite

cron job runs every minute on the web servers

Tail the apache logsAdd up the requests for each range of

return codes 1xx 2xx 3xx 4xx 5xxCustom apache log format that records time to

serve requests %DSend results to Graphite

Page 24: Graphite

Logtail

Implemented in several languagesI used the perl one

Page 25: Graphite

Logster

From Etsyhttps://github.com/etsy/logster

Plug in your own parser for any log fileOutput to Graphite or Ganglia

Page 26: Graphite

Contact me

David [email protected] @dlutzy


Recommended