Metrics 2.0 & Graph-Explorer

46
 Metrics 2.0 & Graph-Explorer

Transcript of Metrics 2.0 & Graph-Explorer

Page 1: Metrics 2.0 & Graph-Explorer

   

Metrics 2.0&

Graph­Explorer

Page 2: Metrics 2.0 & Graph-Explorer

   Credit: user niteroi @ panoramio.com

Page 3: Metrics 2.0 & Graph-Explorer

   

vimeo.com/43800150

Page 4: Metrics 2.0 & Graph-Explorer

   

Page 5: Metrics 2.0 & Graph-Explorer

   

Page 6: Metrics 2.0 & Graph-Explorer

   

“Dieter” ?

Page 7: Metrics 2.0 & Graph-Explorer

   

Peter   Deter→

Page 8: Metrics 2.0 & Graph-Explorer

   

what.is.a.metric

Page 9: Metrics 2.0 & Graph-Explorer

   

stats.timers.dfs5.proxy­server.object.GET.200.timing.upper_90

Page 10: Metrics 2.0 & Graph-Explorer

   

O(X*Y*Z)X = # apps                

Y = # people             

Z = # aggregators     

Page 11: Metrics 2.0 & Graph-Explorer

   

stats.timers.dfs5.proxy­server.object.GET.200.timing.upper_90

{    “server”: “dfvimeodfsproxy5”,    “http_method”: “GET”,    “http_code”: “200”,    “unit”: “ms”,    “target_type”: “gauge”,    “stat”: “upper_90”,    “swift_type”: “object”    “plugin”: “swift_proxy_server”}

https://github.com/vimeo/graph­explorer/wiki

Page 12: Metrics 2.0 & Graph-Explorer

   

● b: bit● B: byte● Err: errors● Warn: warnings● Conn: connections● Event: events (tcp events etc)● Ino: inodes● Jiff: jiffies (i.e. for cpu usage)● Job: job (as in job queue)● File: (not 'F' that's farad)● Load: cpu load● Metric: a metric line like in the statsd or graphite protocol● Msg: message (like in message queues)● Page: page (as in memory segment)● Pckt: network packet● Process● Req: http requests, database queries, etc● Sock: sockets● Thread● Ticket: upload tickets, kerberos tickets, ..

Page 13: Metrics 2.0 & Graph-Explorer

   

Page 14: Metrics 2.0 & Graph-Explorer

   

Carbon­tagger:

... service=foo.instance=host.target_type=gauge.type=calculation.unit=B 123 1234567890

Statsdaemon:

..unit=B..unit=B...        unit=B/s→

..unit=ms..unit=ms..    unit=ms stat=mean→

Page 15: Metrics 2.0 & Graph-Explorer

   

Page 16: Metrics 2.0 & Graph-Explorer

   

Page 17: Metrics 2.0 & Graph-Explorer

   

Graph­Explorer queries 101

Proxy­server swift server:regex upper_90 unit=ms from <datetime> to <datetime> avg over <timespec> 

Page 18: Metrics 2.0 & Graph-Explorer

   

Page 19: Metrics 2.0 & Graph-Explorer

   

Page 20: Metrics 2.0 & Graph-Explorer

   

Page 21: Metrics 2.0 & Graph-Explorer

   

Page 22: Metrics 2.0 & Graph-Explorer

   

Stack .. http_method:(PUT|GET) swift_type=object avg by http_code,server

Page 23: Metrics 2.0 & Graph-Explorer

   

Page 24: Metrics 2.0 & Graph-Explorer

   

transcode unit=jobs/s avg over <time> from <datetime> to <datetime>

Page 25: Metrics 2.0 & Graph-Explorer

    Note: data is obfuscated

Page 26: Metrics 2.0 & Graph-Explorer

   

!queue sum by zone:ap­southeast|eu­west|us­east|us­west|sa­east|vimeo­df|vimeo­lv group by state

Page 27: Metrics 2.0 & Graph-Explorer

    Note: data is obfuscated

Page 28: Metrics 2.0 & Graph-Explorer

   

Group by zone

Page 29: Metrics 2.0 & Graph-Explorer

    Note: data is obfuscated

Page 30: Metrics 2.0 & Graph-Explorer

   

{

    server=dfvimeodfs1

    plugin=diskspace

    mountpoint=_srv_node_dfs5

    unit=B

    type=used

    target_type=gauge

}

Page 31: Metrics 2.0 & Graph-Explorer

   

server:dfvimeodfs unit=GB type=free srv node

Page 32: Metrics 2.0 & Graph-Explorer

   

Page 33: Metrics 2.0 & Graph-Explorer

   

unit=GB/d group by mountpoint

Page 34: Metrics 2.0 & Graph-Explorer

   

Page 35: Metrics 2.0 & Graph-Explorer

   

Page 36: Metrics 2.0 & Graph-Explorer

   

Page 37: Metrics 2.0 & Graph-Explorer

   

Page 38: Metrics 2.0 & Graph-Explorer

   

Page 39: Metrics 2.0 & Graph-Explorer

   

unit=Mb/s network dfvimeorpc sum by server

Page 40: Metrics 2.0 & Graph-Explorer

   

Page 41: Metrics 2.0 & Graph-Explorer

   

unit=MB

Page 42: Metrics 2.0 & Graph-Explorer

   

Page 43: Metrics 2.0 & Graph-Explorer

   

Page 44: Metrics 2.0 & Graph-Explorer

   

Dashboard definition

 queries = [

   'cpu usage sum by core',

   'mem unit=B !total group by type:swap',

   'stack network unit=b/s',

   'unit=B (free|used) group by =mountpoint'

 ]

Page 45: Metrics 2.0 & Graph-Explorer

   

Conclusion● Changing information needs (esp. for troubleshooting)● Complicated information needs 

 → changing & complicated graphs & alerts   PAIN→

● Structuring metrics● Self­describing metrics● Standardized metrics● Native metrics 2.0

●  → BREEZE 

Page 46: Metrics 2.0 & Graph-Explorer

   

Conclusion

● metrics can be a lot more useful● Feedback● Graph­Explorer, carbon­tagger, 

statsdaemon, ...● Standardisation & native metrics 2.0 ?