…And Metrics For All презентация

Содержание

About Yelp Founded: 2004 Monthly Active Users: ~142 Million Non-US Monthly Users: ~31 Million Review: ~77 Million Local Businesses: 2.1 Million Territories: Available in 31 countries

Слайд 1…And Metrics For All
Paul O’Connor
github.com/pauloconnor
2015-05-19


Слайд 2About Yelp
Founded: 2004
Monthly Active Users: ~142 Million
Non-US Monthly Users: ~31 Million
Review:

~77 Million
Local Businesses: 2.1 Million
Territories: Available in 31 countries

Слайд 3What are metrics?
Name Value


Слайд 4What are metrics?
Name Value Timestamp


Слайд 5What are metrics?
Name Value Timestamp
server1.load.1m 28.826667 1431950640


Слайд 6What are metrics?
Name Value Timestamp
server1.load.1m 28.826667 1431950640
server1.load.1m 29.188333 1431950700
server1.load.1m 29.231667 1431950760
server1.load.1m

29.083333 1431950820
server1.load.1m 29.710000 1431950880

Слайд 7What are metrics?
Name Value Timestamp
server1.load.1m 28.826667 1431950640
server1.load.1m 29.188333 1431950700
server1.load.1m 29.231667 1431950760
server1.load.1m

29.083333 1431950820
server1.load.1m 29.710000 1431950880

Слайд 8Graphite Components
Carbon:
relay
cache
aggregator
Whisper
Web app


Слайд 9Carbon Relay
Deals with 2 things
Replication
Sharding


Слайд 10Relay Methods
Rules
[replicate]
pattern = ^services\.ads\..+
servers = 10.1.2.3, 10.2.2.3
continue = true
Consistent Hashing
Defines a

sharding strategy across multiple backends

Слайд 11Carbon Cache
Receives metrics and persists them to disk
Writes based on storage

schemas

Слайд 12Storage Schemas
Details retention rates for storing metrics


[databases_10sec_1year]
pattern = ^servers\.db.*$
retentions = 10s:7d,1m:30d,5m:90d,30m:365d




Слайд 13Storage Aggregation
Rules for aggregating data to lower-precision retentions

[all_min]
pattern = \.min$
xFilesFactor =

0.1
aggregationMethod = min

Слайд 14Carbon Aggregator
Buffers metrics before forwarding to carbon cache
Roll up metrics based

on rules

Слайд 15Aggregation Rules
Not to be confused with storage aggregation
Tells the carbon aggregator

what to aggregate and how

output_template (frequency) = method input_pattern

.applications..all.requests (60) = sum .applications..*.requests

prod.applications.apache.www01.requests
prod.applications.apache.www02.requests
prod.applications.apache.www03.requests
prod.applications.apache.www04.requests
prod.applications.apache.www05.requests

prod.applications.apache.all.requests

Слайд 16Whisper
Fixed size database
Allows for roll ups
Allows for backfilling data


Слайд 17Web App
Django based app for rendering graphs


Слайд 18Putting it all together
Carbon cache listening on port 2003
Write to disk
Listen

with web

Слайд 19Getting more complicated
Carbon relay using consistent hashing to multiple caches
Individual caches

responsible for specific metrics

Слайд 20More Relays
Use HAProxy to load balance between relays
Use more relays to

use CPU

Слайд 21Even more relays
Useful for sending metrics to other locations


Слайд 22Replicate the metrics
Duplicate your metrics for backup, and redundancy


Слайд 23More caches instead
Consistent hash across multiple nodes


Слайд 24Where does the aggregator fit?
Aggregator uses a lot of CPU. Put

it on it’s own node

Слайд 25Scaling further
Use nodes for particular functions:
Use forwarding relay nodes solely to

forward
Have consistent hashing nodes
Have aggregation nodes

Слайд 28Getting your data back out
Graphite Dashboard
Third Party Dashboard
We use Grafana http://grafana.org/
Graphite-api

https://github.com/brutasse/graphite-api

Слайд 30Tips
Aggregate before ingestion
Control the metrics that can be sent
Metrics are a

gas - they expand to fill all available room
Use C implementation of carbon
Use the latest webapp.

Слайд 31Optimize your dashboard queries
services.biz_app.*.*.timers.pyramid_uwsgi_metrics_tweens_*.p99
2154 results
35 seconds to just find these files

on disk
Running functions against these results
Timeout after a minute
Dashboard automatically refreshing every 10 seconds

Слайд 33What’s the Future?
InfluxDB
Cassandra
Third party


Слайд 34We’re hiring!
http://www.yelp.com/careers
Hiring SREs in Dublin, London, New York, San Francisco


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика