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
92
Opscode Chef
sddevops
0
100
Other Decks in Technology
See All in Technology
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
230
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
460
形式手法を使って仕様をコーディングしよう
mikanichinose
0
190
メルペイ 会計システム概要と歴史
mewuto
0
190
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
380
今こそ知りたいAmplifyGen2
mkdev10
2
160
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
540
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
2
920
ミイダス株式会社 テックチームのご紹介 / MIIDAS Tech Team
miidas
0
170
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
610
sira's awesome portfolio website redesign presentation
elsirapls
0
440
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The Language of Interfaces
destraynor
162
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Utilizing Notion as your number one productivity tool
mfonobong
4
610
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
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