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
88
Opscode Chef
sddevops
0
100
Other Decks in Technology
See All in Technology
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
3
950
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
330
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
180
module Synths; end
asonas
1
130
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
480
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
270
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
280
Claude Code本って、 読む必要あるの?
oikon48
2
380
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
250
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
310
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
500
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
The Curse of the Amulet
leimatthew05
2
14k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
A Soul's Torment
seathinner
7
3.6k
Prompt Engineering for Job Search
mfonobong
0
450
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Navigating Weather and Climate Data
rabernat
0
510
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
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