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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
99
Other Decks in Technology
See All in Technology
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
240
現場に行くだけでは足りない——プロダクトエンジニアが業務の流れを捉える観点と、その鍛え方
takumiengineering
0
290
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
360
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
270
AIエージェントを雇う前に決める5つのこと
knishioka
1
160
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
160
module Synths; end
asonas
1
110
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
570
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
0
170
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
530
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
190
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
140
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
The Invisible Side of Design
smashingmag
301
52k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
770
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
So, you think you're a good person
axbom
PRO
2
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
A Soul's Torment
seathinner
7
3.5k
The SEO identity crisis: Don't let AI make you average
varn
0
550
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Documentation Writing (for coders)
carmenintech
77
5.5k
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