Metrics 2.0 & Graph-Explorer
-
Upload
dieterbe -
Category
Technology
-
view
7.856 -
download
1
Transcript of Metrics 2.0 & Graph-Explorer
Metrics 2.0&
GraphExplorer
Credit: user niteroi @ panoramio.com
vimeo.com/43800150
“Dieter” ?
Peter Deter→
what.is.a.metric
stats.timers.dfs5.proxyserver.object.GET.200.timing.upper_90
O(X*Y*Z)X = # apps
Y = # people
Z = # aggregators
stats.timers.dfs5.proxyserver.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/graphexplorer/wiki
● 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, ..
Carbontagger:
... 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→
GraphExplorer queries 101
Proxyserver swift server:regex upper_90 unit=ms from <datetime> to <datetime> avg over <timespec>
Stack .. http_method:(PUT|GET) swift_type=object avg by http_code,server
transcode unit=jobs/s avg over <time> from <datetime> to <datetime>
Note: data is obfuscated
!queue sum by zone:apsoutheast|euwest|useast|uswest|saeast|vimeodf|vimeolv group by state
Note: data is obfuscated
Group by zone
Note: data is obfuscated
{
server=dfvimeodfs1
plugin=diskspace
mountpoint=_srv_node_dfs5
unit=B
type=used
target_type=gauge
}
server:dfvimeodfs unit=GB type=free srv node
unit=GB/d group by mountpoint
unit=Mb/s network dfvimeorpc sum by server
unit=MB
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'
]
Conclusion● Changing information needs (esp. for troubleshooting)● Complicated information needs
→ changing & complicated graphs & alerts PAIN→
● Structuring metrics● Selfdescribing metrics● Standardized metrics● Native metrics 2.0
● → BREEZE
Conclusion
● metrics can be a lot more useful● Feedback● GraphExplorer, carbontagger,
statsdaemon, ...● Standardisation & native metrics 2.0 ?