Open source dashboard and graph editor for 
Graphite and InfluxDB


Torkel Ödegaard
@torkelo





What is Grafana?



play.grafana.org

Who am I? 




Torkel Ödegaard




@torkelo
github.com/torkelo


Stockholm



Sweden





Coding Instinct

"we are survival machines - robot vehicles blindly programmed to preserve the selfish molecules known as genes" 

Graphite






Input

prod.apps.server-1.counter.login.count   10    1398969187

Query
prod.apps.*.counter.login.count



Functions!


sumSeries(apps.mysite.*.counter.login.count)

aliasByNode(apps.mysite.*.counter.login.count, 2)

groupByNode(apps.mysite.*.counter.*.count, 4, 'sum')

groupByNode(summarize(apps.mysite.*.counter.*.count, '1h'), 4, 'sum')

Graphite can be hard



???


asPercent(
   smartSummarize(
       sumSeries(apps.fakesite.*.counters.requests.count),
       '1h','sum'),
  timeShift(
        smartSummarize(
             sumSeries(apps.fakesite.*.counters.requests.count),
        '1h','sum'),
   '1h')
)

Alternative Graphite Dashboards


  • Descartes
  • Giraffe
  • Graphitus
  • Graph Explorer
  • Tasseo
  • GDash
  • Graphitti

Kibana



Kibana


  • Awesome dashboard creation
  • Drag and drop panels
  • Control row height and panel span in the UI!
  • Save / Load dashboard to Elasticsearch / json file
  • Graph panel with drag select to zoom 

A dark december night




What to do now?


  • Create a pull request for Kibana?
  • Create yet another Graphite dashboard?


Performance


First thing


Fullscreen graph editor


demo


Graphite query editor




aliasByNode ( apps.mysite.*.counter.login.count, 2)

groupByNode ( apps.mysite.*.counter.*.count, 4, 'sum')

groupByNode (summarize( apps.mysite.*.counter.*.count, '1h'), 4, 'sum')

Functions! ??


  • Code editor
  • Code completion
  • Suggestions
  • Syntax help

Functions! ??



aliasByNode(scaleToSeconds(apps.mysite.*.counter.login.count, 1), 2)

apps.mysite.*.counter.login.count → scaleToSeconds(1) → aliasByNode(2)   

Graphite query parser!

Christmas holiday coding spree



  • Clean UI
  • Graphite expression parser
  • Metric segment dropdowns
  • Function editor
  • Templated queries

Release it!


  • First release January 19th 


4 months later

  • 13 releases 
  • 261 closed github issues
  • 131 open issues
  • 70 pull requests
  • > 2000 github stars 

Monitoring community





Demo




Future


  • Full time / part time development
  • Alternative dashboard storage
  • Metrics key space search 
    • Quick Ad hoc graphs
    • reusable graph templates
  • Metric 2.0
    • public dashboard templates
  • Other panels & time series visualizations
  • Optional backend 
  • Integration with alerting
  • Widget
    • Inject Grafana Graph panel in other websites
  • Reuse graph in multiple dashboards
  • Sharable links to graphs

Q & A



Thanks!



@torkelo

@grafana

grafana.org

github.com/grafana/grafana




Grafana

By torkelo

Grafana

  • 3,249