Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's Cookin' in Kibana

Elastic Co
February 17, 2016

What's Cookin' in Kibana

Elastic's Rashid Khan and Chris Cowan talk about what's cookin' in Kibana at Elastic{ON}16 on February 17, 2016, in San Francisco.

Elastic Co

February 17, 2016
Tweet

More Decks by Elastic Co

Other Decks in Technology

Transcript

  1. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  2. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  3. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  4. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  5. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  6. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  7. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  8. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  9. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  10. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  11. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  12. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  13. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  14. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  15. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  16. The Elastic UI Team Find us @ Elastic{ON} 2016 Print

    this slide, to play bingo with our faces There is no prize
  17. We Promised 19 Mobile and mungable filters Colorful and composable

    charts Available and approachable plugins
  18. [code fluff above] var convert = { text: function (rawValue)

    { return rawValue + ' is sad and plain'; }, html: function (rawValue, field, hit) { return '<h1>' + rawValue + ' is HUGE </h1>'; } } [code fluff below] Formatter Plugins They boil down to this
  19. { “status:” { “overall”: { “state”: "green", “title”: "Green", “nickname”:

    "Looking good", “icon”: "success", “since”: "2016-02-11T16:25:02.146Z" }, “statuses”: [ { “name”: "plugin:kibana", “state”: "green", curl localhost:5601/api/status Status API Yeah… we have those too
  20. • Great for complex Elasticsearch queries and administrative operations •

    Syntax highlighting and intelligent typeahead Sense the intelligent console for Elasticsearch
  21. Monitor metrics for your entire Elasticsearch infra 39 • Multi

    cluster performance aggregations • Historical shard and cluster state reporting
  22. Timelion time series expressions for everything 40 • An expressive

    query language for time series • Combines multiple private and public data sources
  23. Creating Kibana Apps Install it npm install -g yo #

    Install yeoman npm install -g generator-kibana-plugin # Install the kibana plugin generator Configure it mkdir my-new-plugin cd my-new-plugin yo kibana-plugin # Generate an app skeleton npm start # Start the plugin development environment Create it cd ../kibana npm start # With Elasticsearch running, start the kibana development environment Visit http://localhost:5601
  24. The simplest plugin for Kibana This is useless, but at

    least the world knows you exist. export default kibana => { return new kibana.Plugin({ uiExports: { hacks: [ 'plugins/foo/foo' ] } }); }; index.js alert(‘Hello World’); public/foo.js
  25. A useful 5 minute hack Hot keys for anything! export

    default kibana => { return new kibana.Plugin({ uiExports: { hacks: [ 'plugins/hotkeys/ hotkeys' ] } }); }; index.js public/hotkeys.js import $ from 'jquery'; const hotkeys = { '8706': '[ng-href$=discover]', // Alt+d '8747': '[ng-href$=dashboard]', // Alt+b '231': '[ng-click="close()"]' // Alt+c }; $(window).keypress(e => { $(hotkeys[String(e.keyCode)]).click(); });
  26. Reuse Kibana services Back to useless, but with more access

    export default kibana => { return new kibana.Plugin({ uiExports: { hacks: [ 'plugins/foo/foo' ] } }); }; index.js public/foo.js import uiModules from 'ui/modules'; uiModules.get('kibana').run(config => { alert(config.get(‘my:Special:Setting’)); // Awful things from here on down });
  27. 48

  28. ‹#› If Rashid can build a Kibana plugin anyone can.

    Spencer Alger Engineer who didn’t actually say that
  29. Friday. 11:00am. Stage A Be there or be [ ]

    62 Spencer How to build your own Kibana plugin
  30. 63 Thursday. 3:40pm. Spotlight Theater Holds 50 people. Get there

    early Joe From Dashboard to PDF Reporting in Kibana
  31. 64 Thursday. 4:40pm. Spotlight Theater Holds 50 people. Get there

    early Tim Monitoring Elasticsearch from Kibana
  32. Chris Cowan @simianhacker Rashid Khan @rashidkpc Join us on irc.freenode.net

    in #kibana Add Kibana to your spellchecker Thanks