Nark - Steroids for graphite

Preview:

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.

Citation preview

NARK STEROIDS FOR GRAPHITE

Alyssa Stringham, Software Developer

Matthew Barlocker, Chief Architect

Lucid Software Inc

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

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

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

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

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

WE NEED TO KNOW WHEN DISASTERS HIT

WE NEED TO KNOW WHEN DISASTERS HIT

NARK

Definitions: 1: "An annoying person or thing"

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]"

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

NARK - ALERTING

Normal and Dynamic Alerts

Thresholds

Alert History

Subscribing Single alert

All alerts with tag

Manage notification settings

Demo

FUTURE OF NARK

More Granular Subscriptions

Alert Acknowledgement

View Current Alerts

Favorite Dashboards

Improving Variables

User Roles (admins)

NARK - TECHNOLOGY

Built on Play & Scala

MySQL

Bootstrap

Dygraph.js

OpenID

High Availability

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

THANK YOU

Questions?

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

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

Recommended