Copyright © 2013 Splunk Inc.
Mark Groves Principal Program Manager, Splunk #splunkconf
Introducing the Splunk Web Framework
Legal NoJces During the course of this presentaJon, we may make forward-‐looking statements regarding future events or the expected performance of the company. We cauJon you that such statements reflect our current expectaJons and esJmates based on factors currently known to us and that actual events or results could differ materially. For important factors that may cause actual results to differ from those contained in our forward-‐looking statements, please review our filings with the SEC. The forward-‐looking statements made in this presentaJon are being made as of the Jme and date of its live presentaJon. If reviewed aSer its live presentaJon, this presentaJon may not contain current or accurate informaJon. We do not assume any obligaJon to update any forward-‐looking statements we may make. In addiJon, any informaJon about our roadmap outlines our general product direcJon and is subject to change at any Jme without noJce. It is for informaJonal purposes only and shall not, be incorporated into any contract or other commitment. Splunk undertakes no obligaJon either to develop the features or funcJonality described or to include any such feature or funcJonality in a future release.
Splunk, Splunk>, Splunk Storm, Listen to Your Data, SPL and The Engine for Machine Data are trademarks and registered trademarks of Splunk Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respecCve
owners.
©2013 Splunk Inc. All rights reserved.
2
About Me
! Product Manager focused on Splunk Developer PlaVorm ! Spent last 8 years working on developer tools and processes ! 10 years as a developer / architect startups-‐>mid-‐sized product orgs
3
Agenda
! Splunk Developer PlaVorm Overview ! What is the Splunk Web Framework and Why? ! Customer Experience – CloudPassage ! Demos ! Deployment and AddiJonal Resources
4
Powerful PlaVorm for Enterprise Developers
5
REST API
Build Splunk Apps Extend and Integrate Splunk
Simple XML
JavaScript
Django
Web Framework
Java JavaScript Python
Ruby C# PHP
Data Models
Search Extensibility
Modular Inputs
SDKs
Splunk Web Framework
6
Key Features ! HTML5/CSS/JS Support ! Full Stack Development ! Custom Layout and
VisualizaJons ! AddiJonal InteracJvity ! Templates ! SimpleXML to HTML
Conversion
Simple XML
JavaScript
Django
Web Framework
Managers ! Search Query Wrappers ! SearchManager and
SaveSearch Manager ! Include Search Parameters ! Available within Django
or JavaScript
Splunk JS Stack and Django Bindings Concepts
7
Splunk JS Stack and Django Bindings Concepts
8
Splunk Views ! UI widgets ! Designed to work with
Search Managers ! Charts, Maps, Inputs,
Timeline, TimePicker, etc.
Splunk JS Stack & Django Bindings Concepts
9
URL Maps & Django View ! URL Maps enable
custom routes ! Django Views, enable
custom logic to provide to templates
Splunk JS Stack & Django Bindings Concepts
10
Templates & Template Tags ! Templates enable quick
layout opJons ! Templates support
inheritance of other templates
! Tags call a Python funcJon can be used for: ̶ Text manipulaJon ̶ Flow control ̶ Load external informaJon ̶ … and more
Splunk JS Stack & Django Bindings Concepts
11
Data Binding using Tokens ! Token based data-‐binding
mechanism that keep shared data in sync.
! Enables in-‐page interacJvity
SimpleXML to HTML
12
! TransiJon a Simple XML page to HTML/JS ! OpJon to overwrite exisJng dashboard or create new ! Full Splunk JS Stack is available (Add custom viz, tokens, etc.) ! Does not include Django backend ! No support for visual dashboard editor or PDF prinJng
DEMO SimpleXML to HTML
DEMO Wowing your Users with Custom VisualizaJons
DEMO Improving User InteracJon with Forms
DEMO Building InteracJvity with Token Binding
Deployment ConsideraJons ! Integrated mode similar to standard Splunk apps
– Directory structure is different ! Apps can be packaged and made available on hrp://apps.splunk.com/ ! Support for Search Head Pooling ! Django based apps route under hrp://<server>:8000/dj
17
Web Framework Standalone
18
! Supports both Splunk Enterprise 5.x and 6.0 ! Enables deploying apps outside Splunk Web within WSGI Server ! NodeJS based proxy handle rouJng between Splunk Web and Standalone
! No Support for SSL or SSO
Standalone Web Framework : 8080 Splunk Web : 8000
Proxy : 3000
Web Framework Toolkit ! Reduces the learning curve of building Web Framework apps. ! Reusable visualizaJons
– Packaged to lower the effort of adding cool visualizaJons ! Improved Developer focused CLI
– Getng started templates – Automate common tasks
! Examples, Examples, Examples
19
Where to Go For More Info
20
! Tutorials, Code Samples, Getng Started, Downloads – hrp://dev.splunk.com/
! Support – hrps://www.splunk.com/page/submit_issue
! GitHub – hrps://github.com/splunk/
! Twirer – hrps://twirer.com/splunkdev
! Blog – hrp://blogs.splunk.com/dev/
Learn More at .conf2013
21
Tuesday Wednesday Thursday
Customize and Extend with the Splunk PlaVorm Paul Sanford
IntegraJng Splunk Data and FuncJonality Using the Splunk SDK for C# Adrian Hall &Hal RoNenberg
Using Search Extensibility and Modular Inputs to ProgrammaJcally Extend the Power of Splunk Itay Neeman
Developing Highly Instrumented, Splunk-‐ friendly ApplicaJons with Minimal Effort Tim Hobson (Intuit)
IntegraJng Splunk Data and FuncJonality Using the Splunk SDK for Java Damien Dallimore
How to Write Modular Inputs Igor Stojanovski
Introducing the Splunk Web Framework Mark Groves & Marshall Agnew
How and When to Use Dynamic Lookups Nimish Doshi
Building your First Splunk App with the Splunk Web Framework Itay Neeman Data Models for Developers David Hazecamp & Alice Neel IntegraJng Splunk Data and FuncJonality with the Splunk SDKs for JavaScript, Ruby, PHP and Python Itay Neeman
THANK YOU