nark: steroids for graphite

26
NARK STEROIDS FOR GRAPHITE Alyssa Stringham, Software Developer Matthew Barlocker, Chief Architect Lucid Software Inc

Upload: matthew-barlocker

Post on 27-Aug-2014

261 views

Category:

Software


1 download

DESCRIPTION

Graphite has an amazing ability to scale horizontally and achieve high availability. What the community is missing is a single source for alerting and dashboards on top of this already amazing product. That's where Nark comes in. Nark is an open source project developed to provide alerting and dashboards for graphite. Developed by engineers at Lucid Software, Nark provides value to ops and product teams alike. Come learn about the project, how you can use it, and how to contribute.

TRANSCRIPT

Page 1: Nark: Steroids for Graphite

NARK STEROIDS FOR GRAPHITE

Alyssa Stringham, Software Developer

Matthew Barlocker, Chief Architect

Lucid Software Inc

Page 2: Nark: Steroids for Graphite

ABOUT ALYSSA

Software Developer at Lucid Software Inc

BYU graduate with Bachelors in Computer Science

I love playing the carillon and piano

fast-paced board games

hats

traveling

playing foosball

Page 3: Nark: Steroids for Graphite

ABOUT "THE BARLOCKER"

Chief Architect at Lucid Software Inc

Bachelors Degree from BYU in Computer Science

I love to play board games

go four-wheeling

wrestle my sons

fly airplanes

Follow me on nineofclouds.blogspot.com

Page 4: Nark: Steroids for Graphite

GRAPHITE

• Graphite is a realtime, scalable analytics & graphing tool

• Works well with StatsD

• Stores time series data

• Data organized by path name

stats.environment.servers.servername.path.to.metric

stats.environment.servers.servername.path.to.metric2

stats.environment.servers.servername2.path.to.metric

Page 5: Nark: Steroids for Graphite

GRAPHITE

Simple to store data Send variable name, value, and timestamp

stats.environment.servername.metricname 10 1399523324879

Simple to retrieve data API to retrieve graphs & data http://graphite.readthedocs.org/en/latest/render_api.html

98 complex functions Aggregate Functions (sumSeries, divideSeries, stacked, etc.)

Filtering Functions (maxSeries, exclude, highestAverage, removeBelowValue, etc.)

Transform Functions (abs, log, integral, derivative, etc.)

Sorting Functions (sortByName, sortByMinima, etc.)

See all at http ://graphite.readthedocs.org/en/latest/functions.html

Demo

Page 6: Nark: Steroids for Graphite
Page 7: Nark: Steroids for Graphite
Page 8: Nark: Steroids for Graphite

GRAPHITE - WHAT IT'S MISSING

Dashboards

Interactive graphs (static images aren't good enough)

Variables in targets

Sharing of dashboards

Adaptability for different screen sizes

Alerting

Need reliable, highly-available alerting

Tattle and Cyren aren't good enough

Page 9: Nark: Steroids for Graphite

WE NEED TO KNOW WHEN DISASTERS HIT

Page 10: Nark: Steroids for Graphite

WE NEED TO KNOW WHEN DISASTERS HIT

Page 11: Nark: Steroids for Graphite

NARK

Definitions: 1: "An annoying person or thing"

Page 12: Nark: Steroids for Graphite

NARK

Definitions: 1: "An annoying person or thing"

2: "Someone that will report any misbehaving to a higher authority like police, parents and teachers [and the ops team]"

Page 13: Nark: Steroids for Graphite

NARK - DASHBOARDS

Graphs Normal vs Stacked

Axes Full vs Power of 2 vs Power of 10

Targets Use Graphite functions

Variable Replacement Variables

Defaults

Options

Interactivity

Tagging

Demo

Page 14: Nark: Steroids for Graphite
Page 15: Nark: Steroids for Graphite
Page 16: Nark: Steroids for Graphite
Page 17: Nark: Steroids for Graphite
Page 18: Nark: Steroids for Graphite
Page 19: Nark: Steroids for Graphite
Page 20: Nark: Steroids for Graphite
Page 21: Nark: Steroids for Graphite

NARK - ALERTING

Normal and Dynamic Alerts

Thresholds

Alert History

Subscribing Single alert

All alerts with tag

Manage notification settings

Demo

Page 22: Nark: Steroids for Graphite
Page 23: Nark: Steroids for Graphite

FUTURE OF NARK

More Granular Subscriptions

Alert Acknowledgement

View Current Alerts

Favorite Dashboards

Improving Variables

User Roles (admins)

Page 24: Nark: Steroids for Graphite

NARK - TECHNOLOGY

Built on Play & Scala

MySQL

Bootstrap

Dygraph.js

OpenID

High Availability

On Github https://github.com/lucidchart/nark

Page 25: Nark: Steroids for Graphite

THANK YOU

Questions?

Contribute at http://www.github.com/lucidchart/nark

Page 26: Nark: Steroids for Graphite

JOIN THE TEAM

• Building the next generation of collaborative web applications

• VC funded

• Profitable

• Graduates from MIT, Harvard, Stanford

• Former Google, Amazon, Microsoft employees

https://www.golucid.co/jobs