Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Graphite: Scalable Real-time Graphing
Search
San Diego DevOps
September 18, 2013
Technology
160
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Graphite: Scalable Real-time Graphing
San Diego DevOps
September 18, 2013
More Decks by San Diego DevOps
See All by San Diego DevOps
OSSEC: Host-Based Intrusion Detection and Prevention System
sddevops
0
240
Automating the Hadoop Stack with Chef
sddevops
0
94
Opscode Chef
sddevops
0
110
Other Decks in Technology
See All in Technology
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
自主式軟體工廠
philipz
0
250
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
110
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
340
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
350
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
530
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
890
Codex概要
ymiya55
0
490
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
1
680
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
240
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Documentation Writing (for coders)
carmenintech
77
5.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
My Coaching Mixtape
mlcsv
0
340
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
The Limits of Empathy - UXLibs8
cassininazir
2
710
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Designing for humans not robots
tammielis
254
26k
Navigating Team Friction
lara
192
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Transcript
Graphite: Scalable Real-time Graphing San Diego DevOps @sddevops
• Does two things: - Store numeric time-series data -
Render graphics of this data on demand • Consists of three things: - Receiver Daemon - Carbon - Disk Storage Library - Whisper - Web Application - Graphite © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 2 What is Graphite?
• Originally designed and written by Chris Davis at Orbitz
in 2006 as a side project. • In 2008, Orbitz allowed Graphite to be release under Apache 2.0 license © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 3 Graphite History
• Python twisted daemons that listens for time-series data •
Carbon-cache.py Accepts metrics and caches them in RAM as they are received and flushes them to disk on an interval using the underlying whisper library • Carbon-relay.py Replication and sharding • Carbon-aggregator.py Buffer and Aggregator in front of Carbon-Cache.py 1.0 Release introduces Megacarbon single carbon-daemon with internal pipeline concept © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 4 Carbon Daemons
• A Django webapp that renders graphs on-demand using Cairo
(2D Graphics Library) • Consists of following: - Web CLI - Render URL API - Composer Interface • Series can be manipulated with provided functions © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 5 Web Frontend
• A simple database library for storing time-series data (similar
in design to RRD) • Stable • Ceres back-end database available in 1.0 - Replaces whisper - Does not pre-allocate space on disk - Only stores values and calculates timestamps for data points - Store data points across servers © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 6 Whisper Library
• Source - http://graphite.wikidot.com/installation • Chef - http://community.opscode.com/cookbooks/graphite • Fabric
- https://github.com/gingerlime/graphite-fabric • Puppet - https://forge.puppetlabs.com/modules?q=graphite © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 7 Installing Graphite
• Federated Storage - http://bitprophet.org/blog/2013/03/07/graphite/ • DevOpsDays – Care and
Feeding of Large Scale Graphite Installations - http://vimeo.com/65550048 • Graphite+Megacarbon+Ceres. Multi-node cluster setup - http://anatolijd.blogspot.com/2013/06/graphitemegacarbonceres-multi- node.html © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 8 Scaling Graphite
• Plain Text <metric path> <metric value> <metric timestamp> echo
“some.metric 4 `date +%s`” |nc graphite.host 2003 • Pickle [(path, (timestamp, value)), …] Payload = pickle.dumps(listOfMetricTumples) Header = struct.pack(“!L”, len(payload)) Message = header + payload • AMQP © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 9 Getting your data into Graphite: Protocol Version
• Collectd – https://collectd.org/ - System performance statistics daemon •
Statsd – https://github.com/etsy/statsd - Easy stats aggregation daemon • Sensu - https://sensuapp.org/ - Monitoring Framework • Backstop – https://github.com/obfuscurity/backstop - HTTP POST Service that accepts JSON, Github hooks, PagerDuty Webhooks • Others such as Ganglia, Diamond, Rocksteady, Shinken © Copyright 2013 OneHealth Solutions, Inc. 9/18/13 10 Getting your data into Graphite: Tools version
• http://graphite.readthedocs.org/en/latest/render_api.html • http://graphite.wikidot.com/cli-reference • http://graphite.readthedocs.org/en/latest/functions.html © Copyright 2012 OneHealth
Solutions, Inc. 9/18/13 11 Graphite Web App Reference
Client side • Cubism.js - http://square.github.io/cubism/ • Graphene – http://jondot.github.io/graphene/
• Giraffe - https://github.com/kenhub/giraffe • Tasseo - https://github.com/obfuscurity/tasseo Server backed • Seyren - https://github.com/scobal/seyren • Graphitus - https://github.com/erezmazor/graphitus • Graphiti - https://github.com/paperlesspost/graphiti • Descartes - https://github.com/obfuscurity/descartes For more see http://dashboarddude.com/blog/2013/01/23/dashboards-for- graphite/ © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 12 Graphite Dashboards and Visualization
Official • http://graphite.wikidot.com/ • http://graphite.rtfd.org/ Community • http://matt.aimonetti.net/posts/2013/06/26/practical-guide-to- graphite-monitoring/ •
http://obfuscurity.com/Tags/Graphite • https://lists.launchpad.net/graphite-dev/ Services • https://www.hostedgraphite.com/ © Copyright 2012 OneHealth Solutions, Inc. 9/18/13 13 Graphite Resources