Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Graphite: Scalable Real-time Graphing
Search
San Diego DevOps
September 18, 2013
Technology
150
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
230
Automating the Hadoop Stack with Chef
sddevops
0
86
Opscode Chef
sddevops
0
95
Other Decks in Technology
See All in Technology
シンガポールで登壇してきます
yama3133
0
240
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
310
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.4k
Network Firewallやっていき!
news_it_enj
0
170
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
100
SRE Next 2026 何でも屋からの脱却
bto
0
960
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
1
220
カードゲーム作りが教えてくれた プロダクトオーナーシップ
moritamasami
0
110
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
310
Kaggleで成長するために意識したこと
prgckwb
2
410
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
560
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
490
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Context Engineering - Making Every Token Count
addyosmani
9
1k
Being A Developer After 40
akosma
91
590k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Speed Design
sergeychernyshev
33
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Site-Speed That Sticks
csswizardry
13
1.3k
HDC tutorial
michielstock
2
750
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Paper Plane
katiecoart
PRO
2
52k
We Are The Robots
honzajavorek
0
280
The browser strikes back
jonoalderson
0
1.4k
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