SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
A Big Data Platform for
                                             Developers
                                                               Damien Dallimore
                                                  Developer Evangelist at Splunk

© 2012 SpringOne 2GX. All rights reserved. Do not distribute without permission.
About me
•  Developer Evangelist at Splunk since July 2012
•  Splunk Community Member
      •  Splunk for JMX
      •  SplunkJavaLogging
      •  SplunkBase – Apps and Answers
•  Splunk Architect and Administrator
•  Coder
      •  Been paying my mortgage developing Enterprise Java solutions most of my career
•    Kia Ora
      •  I do not have a speech impediment, I am from Aotearoa, so please restrain all your
         sheep, Lord of the Rings and Kim Dotcom heckles until beer o’clock !!


2
Agenda
•  Overview of the Splunk platform
•  Splunk for Developers
    •  Custom Visualization Demo
•  Splunk Java SDK
•  Spring Integration Splunk Extensions
    •  Integration Adaptors Demo
•  Some other JVM/Java related tools
    •  SplunkJavaLogging
    •  Splunk for JMX
•  Questions


3
What is
So What is Splunk, Exactly?
•     Splunk is an engine for machine data               •    It’s software – download and install it in 5 minutes,
•     Provides visibility, reporting and search across        “freemium” model
      all your IT systems and infrastructure             •    Runs on all modern platforms
•     Doesn’t lock you into a fixed schema               •    Open and extensible architecture




     5	
  
Indexes any Machine Data
 •      Capture events from logs in real time
 •      Run scripts to gather system metrics, connect to APIs and databases
 •      Listen to syslog, raw TCP/UDP, gather Windows events
 •      Universally indexes any data format so it doesn’t need adapters, “schema on the fly”
 •      Stream in data directly from your application code
 •      Decode binary data and feed in




                 Windows           Linux/Unix           Virtualization   Applications     Databases           Network
                 •  Registry       •  Configurations    •  Hypervisor    •  Web logs      •  Configurations   •  Configurations
                 •  Event logs     •  Syslog            •  Guest OS      •  Log4J, JMS,   •  Audit/query      •  syslog
                 •  File system    •  File system       •  Guest Apps       JMX              logs             •  SNMP
                 •  sysinternals   •  Ps, iostat, top                    •  .NET events   •  Tables           •  netflow
                                                                         •  Code and      •  Schemas
                                                                            scripts


6	
  
Centralizes Data Across the Environment
•       Splunk Universal Forwarder sends data to Splunk Indexer from remote systems
•       Uses minimal system resources, easy to install and deploy
•       Delivers secure, distributed, real-time universal data collection for tens of thousands of endpoints




                                                                             Indexing/Search	
  
                                                                                 Server	
  




                                                  Splunk	
  Forwarders	
  

7	
  
Scales to TBs/day and Thousands of Users
•        Automatic load balancing linearly scales indexing
•        Distributed search and MapReduce linearly scales search and reporting




 8	
  
Provides Strong Machine Data Governance
   •    Provides comprehensive controls for data security, retention and integrity

   •    Single sign-on integration enables pass-through authentication of user credentials




9	
  
Splunk and Apache Hadoop MR/HDFS
•    Splunk is an implementation of the Map Reduce algorithmic approach
•    It is not Apache Hadoop MapReduce(MR) the product
•    Splunk is not agnostic of its underlying data source , optimized to Splunk Index files
•    Real time vs Batch Jobs
•    Optimal for time series based data
•    End to End Integrated Big Data Solution
•    Fine grained protection of access and data using role based permissions
•    Data retention and aging controls
•    Users can submit “Map Reduce” jobs without needing to know how to code a job
      •    Splunk Search Language vs Pig/Sawzill
•    But why not get the best of both worlds
      •    Splunk Hadoop Ops
      •    Splunk Hadoop Connect
      •    Shuttl (archiving to HDFS / S3)
10
Splunk Has Four Primary Functions
               •  Searching and Reporting (Search Head)

               •  Indexing and Search Services (Indexer)

               •  Local and Distributed Management (Deployment
                  Server)

               •  Data Collection and Forwarding (Forwarder)


                A	
  Splunk	
  install	
  can	
  be	
  one	
  or	
  all	
  roles…	
  	
  

11	
  
Getting Data into Splunk
                                    Agent and Agent-less Approach for Flexibility.

                                                   syslog	
                                                                                                        Local	
  File	
  Monitoring	
  
                                                                                                                                                                           log	
  files,	
  config	
  files	
  
                                                   TCP/UDP	
                                                                                                              dumps	
  and	
  trace	
  files	
  


         syslog	
  compa>ble	
  hosts	
  
          and	
  network	
  devices	
                                                                                                                                                      Windows	
  Inputs	
  
                                                                                                                                        Scripted	
  Inputs	
                                      Event	
  Logs	
  
                                                                                                                                         shell	
  scripts	
  custom	
                     performance	
  counters	
  
          Mounted	
  File	
  Systems	
                              WMI	
                    Ac>ve	
  	
                                parsers	
  batch	
  loading	
                      registry	
  monitoring	
  
                   hostnamemount	
                    Event	
  Logs	
  Performance	
     Directory	
                                               	
                                AcAve	
  Directory	
  monitoring	
  
                                                                                                                               code	
  
                                                                                                                 shell	
  
                                                                                                                                                     virtual	
  
                                                                                                                                                      host	
  
                                                                                                                             perf	
  
         Unix,	
  Linux	
  and	
  Windows	
  hosts	
  

                                                                               Windows	
  hosts	
            Custom	
  apps	
  and	
  scripted	
  API	
  connec>ons	
                               Windows	
  hosts	
  


                             Agent-­‐less	
  Data	
  Input	
                                                                 Splunk	
  Forwarder	
  
12	
  
Universal Data Forwarder
               Forward	
  data	
  without	
  negaHvely	
  impacHng	
  producHon	
  performance.	
  
•  Delivers secure, distributed,
                                                                         Universal	
  Forwarder	
  Deployment	
  
   real-time universal data
   collection for 10’s of thousands
   of endpoints                                             Logs	
         Messages	
            ConfiguraHons	
                 Metrics	
              Scripts	
  

•  Extends Splunk data fabric to
   large scale private cloud and
   desktop environments
•  Uses minimal system
   resources, easy to install and
   deploy                                                                                            Central	
  Deployment	
  Management	
  

    –  < half memory and footprint of
       Splunk 4.1; <1% of single core
                                                           Monitor	
  files,	
  changes	
  and	
  the	
  system	
  registry;	
  capture	
  metrics	
  and	
  status.	
  


                                                      13
Horizontal Scaling
                        Load balanced search and indexing for massive, linear scale out.


     Distributed	
  Search	
  




              Forwarder	
  	
  	
  
              Auto	
  Load	
  
               Balancing	
  



14	
  
Multiple Datacenters
         Index and store locally. Distribute searches to datacenters, networks & geographies.


                                                   Headquarters	
  
  Distributed Search




             London	
           Hong	
  Kong	
                        Tokyo	
     New	
  York	
  



15	
  
Send Data to Other Systems
Route raw data in real time or send alerts based on searches.

                                              Service	
  Desk	
  

                                               Event	
  Console	
  


       Problem	
  InvesHgaHon	
                    SIEM	
  
High Availability / DR
     Combine auto load balancing and data replication.


                                      Distributed	
  Search	
  

            Primary	
  Cluster	
                                  Secondary	
  Cluster	
  
                     Data	
  Clone	
  




       Splunk	
  Forwarders	
  
      Auto	
  Load	
  Balancing	
  

17
Integrate External Data
                     Extend search with lookups to external data sources.
                        LDAP,	
  AD	
                                                        Watch	
  	
  
                                                                                              Lists	
  



                      CMDB	
  
                                                                                       CRM/
                                                                                        ERP	
  


Correlate	
  IP	
  addresses	
  with	
  locaHons,	
  accounts	
  with	
  regions	
  




    18	
  
Integrate Users and Roles
                   Integrate authentication with LDAP and Active Directory.

            LDAP,	
  AD	
  	
             Splunk	
  Flexible	
  Roles	
        CapabiliHes	
  &	
  Filters	
  
         Users	
  and	
  Groups	
                                              Manage	
  
                                                                               Indexes	
  
                                                                                                 Share	
  
                                                                                                Searches	
       Save	
  
                                                                                                               Searches	
  
Problem	
  InvesHgaHon	
              Problem	
  InvesHgaHon	
              Problem	
  InvesHgaHon	
  
                                                                                 Manage	
  
                                                                                    Users	
  
                                                                                                           NOT	
  
                                                                                                         tag=PCI	
  
                                                                                    App=ERP	
  
                                                                                                                 …	
  

         Map LDAP & AD groups to flexible Splunk roles. Define any search as a filter.
19	
  
Centralized Licensing Management
         Groups, Stacks, and Pools for Enterprise Deployments.




                         Problem	
  InvesHgaHon	
  




20	
  
Deployment Monitoring
         Keep Tabs On Your Splunk Enterprise Deployment.




         Licenses	
  
                        Sourcetypes	
     Indexers	
     Forwarders	
  
21	
  
Real-time Search


Data	
  
           Monitor	
  Input	
                              Parsing	
  Pipeline	
                                                               Real-­‐Hme	
  
                                                           •  Source,	
  event	
  typing	
                          Real-­‐Hme	
                Search	
  
                                    Parsing	
  Queue	
  




                                                                                               Index	
  Queue	
  
                                                           •  Character	
  set	
                                     Buffer	
                    Process	
  
           TCP/UDP	
  Input	
                                 normalizaHon	
  
                                                           •  Line	
  breaking	
  
                                                           •  Timestamp	
  idenHficaHon	
  
            Scripted	
  Input	
                            •  Regex	
  transforms	
                                 Indexing	
  
                                                                                                                    Pipeline	
        Raw	
  data	
               	
  
                                                                                                                                     Index	
  Files	
           Index	
  



22	
  
Real-time Alerting

                        source=“/var/log/secure.log”	
  “BAD	
  SU”	
  


Data	
  
           Monitor	
  Input	
  
                                                          Parsing	
  Pipeline	
                                                               Real-­‐Hme	
  
                                                          •  Source,	
  event	
  typing	
                          Real-­‐Hme	
                Search	
  
                                   Parsing	
  Queue	
  




                                                                                              Index	
  Queue	
  
                                                          •  Character	
  set	
                                     Buffer	
                    Process	
  
           TCP/UDP	
  Input	
                                normalizaHon	
  
                                                          •  Line	
  breaking	
  
                                                          •  Timestamp	
  idenHficaHon	
  
           Scripted	
  Input	
                            •  Regex	
  transforms	
                                 Indexing	
  
                                                                                                                   Pipeline	
        Raw	
  data	
  
                                                                                                                                    Index	
  Files	
           Index	
  

 23	
  
New Approach to Heterogeneous Data
    Universal Indexing     Search-time Knowledge           Flexibility and
                                                         Fast Time to Value

•  No data normalization    •  Knowledge applied at      •  Normalization as it’s
•  Automatically handles       search-time                  needed
   timestamps               •  No brittle schema to      •  Faster implementation
•  Parsers not required        work around               •  Easy search language
•  Index every term &       •  Multiple views into the   •  Multiple views into the
   pattern “blindly”           same data                    same data
•  No attempt to            •  Splunk helps find
   “understand” up front       transactions, patterns
                               and trends


24	
  
Inside Universal Indexing

                                                        AutomaHc	
  event	
  boundary	
  idenHficaHon	
  



AutomaHc	
  Hmestamp	
  normalizaHon	
  




  ...enable	
  accurate	
  searching	
  and	
  
  trending	
  by	
  Hme	
  across	
  all	
  data:	
  


  25	
  
Inside Search-time Knowledge Extraction
                   AutomaHcally	
  discovered	
  fields	
  
                                                             And	
  user-­‐defined	
  fields	
  




...	
  enable	
  staHsHcs	
  and	
  precise	
  search	
  
                  on	
  specific	
  fields:	
  




26	
  
Inside Search-time Knowledge Extraction
             Searches	
  saved	
  as	
  event	
  types	
  

                                                               Plus	
  tagging	
  of	
  event	
  types,	
  hosts	
  and	
  other	
  fields	
  




...	
  enable	
  normalized	
  reporHng,	
  knowledge	
  
        sharing	
  and	
  granular	
  access	
  control.	
  


    27	
  
Splunk for Developers




28
Splunk	
  &	
  Developers
                                                   	
  
                                                      Custom/         Accelerate development &
     Machine	
  Data	
          SplunkUI               Existing       testing
                              (Splunk Apps)          Applications
                                                       SDKs           Integrate data from Splunk
                                     Search, chart and graph          into your existing IT
                               Save and schedule searches as alerts
                                      Export search results           environment for operational
                                   Manage inputs and indexes          visibility
                                  Add & remove users and roles

                                       REST API                       Build custom solutions to
                                                                      deliver real-time business
                                                                      insights from Big Data
                                             Engine




29
Splunk in the Developer Community




•  Over 1,000 unique visitors per week to dev.splunk.com
•  Over 500 followers on Twitter @splunkdev
•  Over 350 enterprise developer trial licenses granted
Accelerate
development &
testing
How does Splunk Accelerate Dev/Test?
•  Splunk frees you from upfront database design for analytics
     •  late binding schema
•  Developers and QA/test engineers don’t have to ask IT/Ops to get
   logs off machines
     •  Role base access to all data within one console without having to log into
        production systems
     •  All events are indexed and accessible in real-time in one place.
     •  Ad-Hoc real-time monitoring and historical investigation searchable from one place
     •  Correlations and insights across multiple tiers.
•  Splunk lets you find issues quickly, so you can fix issues quickly
•  Integrate Splunk search results into testing assertions

32
StubHub & Splunk
                                                                                    Engineering uses Splunk to investigate
“Splunk	
  filled	
  a	
  vacuum	
  we	
  didn’t	
                                   bugs
know	
  we	
  had.”                                                                 QA uses it during dev cycles
- Nathan Pratt, Tech Lead, Tools
& Automation, StubHub

•  Started with Site Operations to
   resolve issues
•  Grew to engineers, QA, upper
   management in technology
•  Release requirement – Projects
   are required to certify that all
   logs are Splunk-friendly


                                                      High-level view of application errors - used by site operations, engineering, and upper management

  33
Integrate Splunk into
your IT environment
Integration into existing IT tools
                                             The Splunk development platform is
                                             optimized for core enterprise developer
                                             skills

           Splunk UI      Your application   REST API communicates directly with a
         (Splunk Apps)                       Splunk instance for search, management
                               SDKs          and admin
                                             •  Provides full control to the developer
                    REST API                 •  Use any language or tool that supports
                     splunkd                    HTTP

                                             SDKs provide broad coverage of the REST
                                             API in popular languages
                                             •  Log directly to Splunk from any app
                                             •  Build a UI on any web stack
                                             •  Integrate into existing infrastructure
35	
  
Splunk REST API
•  Exposes an API method for every feature in the product
     •  Whatever you can do in the UI – you can do through the API.
     •  Run searches
     •  Manage Splunk configurations

•  API is RESTful
     •  Endpoints are served by splunkd
     •  Requests are GET, POST, and DELETE HTTP methods
     •  Responses are Atom XML Feeds
        •  JSON coming in 5.0
     •  Search results can be output in CSV/JSON/XML/Raw


36
Developer Platform SDKs
•     We want to make it as easy as possible for developers to build Big Data apps on
      top of the Splunk platform
•     Several different language offerings, Software Development Kits (SDKs)
     •  Javascript, Java, Python, PHP, C#(private), Ruby(private)
•     All Splunk functionality is accessible via our SDKs
•     Get Data into Splunk
•     Execute Splunk Searches, get data out of Splunk
•     Manage Splunk
•     Customized User Interfaces




37
Comcast & Splunk

         Content browsed,
           purchased and            Customer profile
               watched
         All tracked by time
                               +   and MAC address /
                                   device assignments
          and MAC address



          Correlate usage and profile data to
          analyze customer behavior:
          •  Revenues driven by content browsed
          •  Improving local content mix
          •  Better search results
          •  Tailor content promotion
38
Bosch & Splunk
                                          Healthcare
                                         Management
Splunking data sent from            Evidence-
ARM-based devices                   based
•  Uses the Java SDK to send data   Telehealth
   to Splunk

                                                 Cardiac
                                                 Rhythm
                                                 Monitoring

 39
Splunk as an
integrated,
enterprise-ready Big
Data platform
Splunk	
  =	
  Integrated,	
  Enterprise-­‐ready	
  Big	
  Data	
  Plajorm	
  
                                                 •    No need to write MapReduce jobs, just
                                                      get data into Splunk and analyze
                                                 •    Splunk delivers real-time insight – like
                                                      clickstream analysis, IT early-warning
                                                      systems, security and fraud protection
                                                 •    Late-binding schema allows for faster,
                                                      more flexible data insight gathering
                                                 •    Data collection is integrated
                                                 •    Distributed architecture offers scale-out
                                                      capabilities with access control
                                                 •    Out-of-the-box reporting and analytics
                                                      capabilities
                                                 •    SDKs cover over 170 REST API
                                                      endpoints




41	
  
Socialize & Splunk
“Splunk eliminates the need to
write large MapReduce jobs
to get meaningful information
out of our data. This means
we can get powerful stats and
information to our key
stakeholders in a fraction of
the time.”
- Isaac Mosquera, CTO,
Socialize




  42
Visualizing Splunk with the SDKs
•  Splunkweb has rich, but sometimes limited, visualization
   options
•  You can use the SDKs to extract data from Splunk using a
   search, and visualize it
•  Real-time searches can be especially powerful
•  Using the Javascript SDK you can integrate with third
   party charting librarys like Google Charts & D3.



43
Realtime Twitter Visualization Demo
•    Twitter feeds being “firehosed” into Splunk and searched over in realtime
•    Uses the Splunk Javascript SDK to stream the realtime search results from Splunk into
     a totally customized web based user interface
•    Visualization of most popular hashtags with interactive pie chart,word cloud and geo
     heatmap using D3




                                       Javascript SDK
                                                                               Browser


45
Realtime Twitter Demo




46
Splunk Java SDK(Software Development Kit)




47
Get the Java SDK
•    Open sourced under the Apache v2.0 license
•    Clone from Github : git clone https://github.com/splunk/splunk-sdk-java.git
•    Project level support for Eclipse and Intellij IDE’s
•    Pre-requisites
   •  JRE 6+
   •  Ant ( Maven support is in the works )
   •  Splunk installed
•  Loads of code examples
    •  Project examples folder
    •  Unit Tests
    •  http://dev.splunk.com
    •  http://gist.github.com/damiendallimore
•  Comprehensive coverage of the REST API



48
Java SDK Class Model
          HTTPService                                        Resource


            Service                    ResourceCollection                            Entity


                                       EntityCollection           Application        Index         Input


                      InputCollection                  SavedSearchCollection
•    Collections use a common mechanism to create and remove entities
•    Entities use a common mechanism to retrieve and update property values, and access entity metadata
•    Service is a wrapper that facilitates access to all Splunk REST endpoints

     49
Key Java SDK Use cases
 •    Connect and Authenticate
 •    Manage
 •    Input Events
 •    Search




50
Connect and Authenticate

public static Service connectAndLoginToSplunkExample() {	
	
  Map<String, Object> connectionArgs = new HashMap<String, Object>();	
  connectionArgs.put("host", ”somehost");	
  connectionArgs.put("username", ”spring");	
  connectionArgs.put("password", ”integration");	
  connectionArgs.put("port", 8089);	
  connectionArgs.put("scheme", "https");	
	
  // will login and save the session key which gets put in the HTTP Authorization header	
  Service splunkService = Service.connect(connectionArgs);	
  return splunkService;	
	
	
}




51
Manage

public static void getServerInfoExample() {	
	
     Service splunkService = connectAndLoginToSplunkExample();	
	
     ServiceInfo info = splunkService.getInfo();	
     System.out.println("Info:");	
     for (String key : info.keySet())	
       System.out.println("    " + key + ": " + info.get(key));	
	
     Entity settings = splunkService.getSettings();	
     System.out.println("nSettings:");	
     for (String key : settings.keySet())	
       System.out.println("    " + key + ": " + settings.get(key));	
	
}




52
Input Events
public static void logEventToSplunkExample() {	
	
  Service splunkService = connectAndLoginToSplunkExample();	
  // Get a Receiver object	
  Receiver receiver = splunkService.getReceiver();	
	
  // Set the sourcetype	
  Args logArgs = new Args();	
  logArgs.put("source", ”http-rest");	
  logArgs.put("sourcetype", ”spring-example");	
	
  // Log an event into the spring index	
  receiver.log(”spring", logArgs, ”SpringOne 2GX rocks");	
	
}


•         Other Input transports
            •  HTTP REST Streaming
            •  Raw TCP Oneshot & Streaming
            •  Raw UDP & Syslog

     53
Search
•    Search query
   •  a set of commands and functions you use to retrieve events from an index or a real-time stream ,
       "search index=spring error OR exception | head 10”
•  Saved search
   •  a search query that has been saved to be used again and can be set up to run on a regular schedule
•  Search job
   •  an instance of a completed or still-running search operation.Using a search ID you can access the
       results of the search when they become available. Job results are saved for a period of time on the
       server and can be retrieved
•  Search Modes
   •  Normal : asynchronous , poll job for status and results
   •  Realtime : same as normal, but stream is kept open a results streamed in realtime
   •  Blocking : synchronous , a job handle is returned when search is completed
   •  Oneshot : synchronous , no job handle is returned, results are streamed
   •  Export : synchronous, not a search per say, doesn’t create a job, results are streamed oldest to newest

     54
Blocking Searches
public static void exportSearchExample() {	
	
  Service splunkService = connectAndLoginToSplunkExample();	
  String searchQuery = "search error OR exception | head 10";	
  Args queryArgs = new Args();	
  queryArgs.put("earliest_time", "-1d@d");	
  queryArgs.put("latest_time", "now");	
  // perform the export , blocks here	
  InputStream stream = splunkService.export(searchQuery, queryArgs);	
  processInputStream(stream);	
	
}
public static void simpleSearchExample() {	
	
  Service splunkService = connectAndLoginToSplunkExample();	
  String searchQuery = "search error OR exception| head 10";	
  Args queryArgs = new Args();	
  queryArgs.put("earliest_time", "-3d@d");	
  queryArgs.put("latest_time", "-1d@d");	
  // perform the search , blocks here	
  InputStream stream = splunkService.search(searchQuery, queryArgs);	
  processInputStream(stream);	
	
}
  55
Non Blocking Search
public static void searchJobExample() {	
	
  Service splunkService = connectAndLoginToSplunkExample();	
	
  String outputMode = "csv";// xml,json,csv	
	
  // submit the job	
  Job job = splunkService.getJobs().create("search index=spring error OR fatal |   head 10");	
  	
  while (!job.isDone()) {	
     try {Thread.sleep(500);} 	
     catch (Exception e) {}	
  }	
	
  Args outputArgs = new Args();	
  outputArgs.put("output_mode", outputMode);	
	
  InputStream stream = job.getResults(outputArgs);	
  processInputStream(stream, outputMode); // uses xml stream, opencsv and gson	
}


 56
Realtime Search
public static void realTimeSearchExample() {	
	
   Service splunkService = connectAndLoginToSplunkExample();	
	
   Args queryArgs = new Args();	
	
   queryArgs.put("earliest_time", "rt-5m");	
   queryArgs.put("latest_time", "rt");	
	
   // submit the job	
   Job job = splunkService.getJobs().create("search index=spring exception OR error”, queryArgs);	
	
…	
	
	
}	




  57
Alternate JVM Languages

Scala                       Groovy                     Clojure
Javascript(Rhino)           JRuby                      PHP(Quercus)
Ceylon                      Kotlin                     Jython



     We don’t need SDK’s for these languages , we can just use the Java SDK !




58
Groovy
class SplunkJavaSDKWrapper {	
	
  static main(args) {	
     //connect and login	
     def connectionParameters = [host:”somehost",username:"spring",password:"integration"]	
     Service service = Service.connect(connectionParameters)	
     //get Splunk Server info	
     ServiceInfo info = service.getInfo()	
	
     def splunkInfo = [:]	
	
     for (key in info.keySet())	
       splunkInfo.put(key,info.get(key))	
	
     printSplunkInfo(splunkInfo)	
	
  }	
  static printSplunkInfo(splunkInfo) {	
     println "Info”	
     splunkInfo.each { key, value ->println key + " : " + value}	
  }	
}


 59
Scala
import com.splunk.Service._	
import scala.collection.mutable.HashMap	
import scala.collection.JavaConversions._	
	
object SplunkJavaSDKWrapper {	
	
  def main(args: Array[String]) = {	
     //connect and login	
     val connectionArgs = HashMap[String, Object]("host" ->”somehost”,"username" ->”me”,"password" ->”foo")	
     val service = connect(connectionArgs)	
     //get Splunk Server info	
     val info = service.getInfo	
     // Scala/Java conversion	
     val javaSet = info.keySet	
     val scalaSet = javaSet.toSet	
     //print out Splunk Server info	
     for (key <- scalaSet)	
       println(key + ":" + info.get(key))	
  }	
}

   60
Spring Integration Splunk Extensions


     Special thanks to Jianwei Li(Jarred) & Mark Pollack for creating this !




61
Spring Integration

     •  Spring Integration is an extension to core Spring
        •  Based on “Enterprise Integration Patterns” model
        •  Messaging model and Declarative Adaptors
        •  Makes it easier to build integration solutions




62
Spring Integration Splunk Adaptors
•    Splunk Java SDK makes it easier to use the REST API
•    Building on this , the Spring Integration Adaptors make it easier for Spring/Java
     developers to declaratively build data integration solutions and utilize the power of the
     Splunk platform

•    https://github.com/SpringSource/spring-integration-extensions

•    Inbound Adaptor
      –  Search and export the data from Splunk and push into message channels
      –  Filter, transform, export to other destinations
•    Outbound Adaptor
      –  Can consume data acquired by other Integration adaptors(Twitter, JDBC…) and
         push it into Splunk for indexing, searching and visualization

63
Spring Integration Splunk Inbound Adaptor




     •  Blocking, Non Blocking, Saved & Realtime Searches
     •  Exporting




64
Spring Integration Splunk Outbound Adaptor




                  •  HTTP REST Input
                  •  TCP Input




65
XML Configuration
Common Splunk settings
<int-splunk:server id="splunkServer" host=”somehost" port="8089" userName=”damien"
password=”foobar"/>

Searching/exporting from Splunk
<int-splunk:inbound-channel-adapter id="splunkInboundChannelAdapter” auto-startup="true"
search="search index=spring error OR exception” splunk-server-ref="splunkServer”	
channel="inputFromSplunk" mode="blocking" initEarliestTime="-1d">	
	
  <int:poller fixed-rate="5" time-unit="SECONDS"/>	
	
</int-splunk:inbound-channel-adapter>

Inputting events to Splunk
<int-splunk:outbound-channel-adapter id="splunkOutboundChannelAdapter" auto-startup="true"
order="1” channel="outputToSplunkWithMessageStore" splunk-server-ref="splunkServer”	
pool-server-connection="true" index="spring" sourceType="twitter-feed" 	
source="spring-integration-httprest” ingest="submit">	
</int-splunk:outbound-channel-adapter>

66
Spring Integration Splunk Twitter Demo




67
SplunkJavaLogging




68
SplunkJavaLogging
•   A logging framework to allow developers to as seamlessly as possible
    integrate Splunk best practice logging semantics into their code and transport
    events directly to Splunk.
•  Custom handler/appender implementations(REST and Raw TCP) for the 3
    most prevalent Java logging frameworks in play. Splunk events directly from
    your code.
   •  LogBack
   •  Log4j
   •  java.util.logging
•  Better handling of stacktraces
•  All code and examples is on Github

69
Splunk for JMX




70
Splunk for JMX
•    SplunkBase App for monitoring JVM Applications
•    Out of the box dashboards for JVM level monitoring (java.lang domain)
      •    Memory , Threading, GC, CPU etc…
•    Very simple configuration to wire up monitoring of any Mbeans from applications
     (Tomcat, Jboss, Cassandra, Coherence etc…)
•    Hotspot, JRockit, IBMJ9, OpenJDK
•    Poll JMX attributes and operations , index data over time, correlate with other data
•    Supports large scale deployments of JVMs
•    Extensible and Customizable
•    Many connectivity options
      •    RMI , IIOP
      •    Direct Process Attachment
      •    MX4J Hessian, Burlap and Soap
•    Freely available download from SplunkBase & all code is on Github
71
Learn More. Stay Connected.
At SpringOne 2GX :
•    Come by our booth
      •  Splunk demos ,Q & A
      •  SDK code
•    Tee Shirts !!


Web :
•    Developer Platform : http://dev.splunk.com
•    SplunkBase : http://splunk-base.splunk.com
•    Twitter : @splunkdev , @damiendallimore
•    Email : devinfo@splunk.com , ddallimore@splunk.com
•    Blog : http://blogs.splunk.com/dev
•    Github : http://github.com/splunk
•    Splunk Live! Events and Online Videos at http://www.splunk.com

72
Thanks for coming.




73

Mais conteúdo relacionado

Mais procurados

Streaming architecture patterns
Streaming architecture patternsStreaming architecture patterns
Streaming architecture patternshadooparchbook
 
Data Source API in Spark
Data Source API in SparkData Source API in Spark
Data Source API in SparkDatabricks
 
Snowflake Architecture.pptx
Snowflake Architecture.pptxSnowflake Architecture.pptx
Snowflake Architecture.pptxchennakesava44
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningDavid Stein
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsEduardo Castro
 
Continuous Integration and Continuous Delivery on Azure
Continuous Integration and Continuous Delivery on AzureContinuous Integration and Continuous Delivery on Azure
Continuous Integration and Continuous Delivery on AzureCitiusTech
 
Snowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at ScaleSnowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at ScaleAdam Doyle
 
Apache Spark.
Apache Spark.Apache Spark.
Apache Spark.JananiJ19
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkSpring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkRed Hat Developers
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for DatabricksDatabricks
 
Splunk conf2014 - Onboarding Data Into Splunk
Splunk conf2014 - Onboarding Data Into SplunkSplunk conf2014 - Onboarding Data Into Splunk
Splunk conf2014 - Onboarding Data Into SplunkSplunk
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkTimothy Spann
 
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...Databricks
 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model ServingDatabricks
 
Data-centric design and the knowledge graph
Data-centric design and the knowledge graphData-centric design and the knowledge graph
Data-centric design and the knowledge graphAlan Morrison
 
Connecting the Drops with Apache NiFi & Apache MiNiFi
Connecting the Drops with Apache NiFi & Apache MiNiFiConnecting the Drops with Apache NiFi & Apache MiNiFi
Connecting the Drops with Apache NiFi & Apache MiNiFiDataWorks Summit
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Splunk 4 Ninja ITSI Workshop
Splunk 4 Ninja ITSI WorkshopSplunk 4 Ninja ITSI Workshop
Splunk 4 Ninja ITSI WorkshopMarc Serieys
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeMartin Schütte
 

Mais procurados (20)

Streaming architecture patterns
Streaming architecture patternsStreaming architecture patterns
Streaming architecture patterns
 
Data Source API in Spark
Data Source API in SparkData Source API in Spark
Data Source API in Spark
 
Snowflake Architecture.pptx
Snowflake Architecture.pptxSnowflake Architecture.pptx
Snowflake Architecture.pptx
 
Frame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine LearningFrame - Feature Management for Productive Machine Learning
Frame - Feature Management for Productive Machine Learning
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analytics
 
Continuous Integration and Continuous Delivery on Azure
Continuous Integration and Continuous Delivery on AzureContinuous Integration and Continuous Delivery on Azure
Continuous Integration and Continuous Delivery on Azure
 
Snowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at ScaleSnowflake Data Science and AI/ML at Scale
Snowflake Data Science and AI/ML at Scale
 
Apache Spark.
Apache Spark.Apache Spark.
Apache Spark.
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkSpring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for Databricks
 
Splunk conf2014 - Onboarding Data Into Splunk
Splunk conf2014 - Onboarding Data Into SplunkSplunk conf2014 - Onboarding Data Into Splunk
Splunk conf2014 - Onboarding Data Into Splunk
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
 
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...
Zipline: Airbnb’s Machine Learning Data Management Platform with Nikhil Simha...
 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model Serving
 
Data-centric design and the knowledge graph
Data-centric design and the knowledge graphData-centric design and the knowledge graph
Data-centric design and the knowledge graph
 
Connecting the Drops with Apache NiFi & Apache MiNiFi
Connecting the Drops with Apache NiFi & Apache MiNiFiConnecting the Drops with Apache NiFi & Apache MiNiFi
Connecting the Drops with Apache NiFi & Apache MiNiFi
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Splunk 4 Ninja ITSI Workshop
Splunk 4 Ninja ITSI WorkshopSplunk 4 Ninja ITSI Workshop
Splunk 4 Ninja ITSI Workshop
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 

Destaque

Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream csching
 
Splunk Overview
Splunk OverviewSplunk Overview
Splunk OverviewSplunk
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseSplunk
 
SplunkLive! Hamburg / München Advanced Session
SplunkLive! Hamburg / München Advanced SessionSplunkLive! Hamburg / München Advanced Session
SplunkLive! Hamburg / München Advanced SessionGeorg Knon
 
Customer Presentation - Financial Services Organization
Customer Presentation - Financial Services OrganizationCustomer Presentation - Financial Services Organization
Customer Presentation - Financial Services OrganizationSplunk
 
Splunk live! São Paulo 2014 - Edenred-Ticket
Splunk live! São Paulo 2014 - Edenred-TicketSplunk live! São Paulo 2014 - Edenred-Ticket
Splunk live! São Paulo 2014 - Edenred-TicketSplunk
 
Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Splunk
 
SplunkLive! London 2016 Splunk Overview
SplunkLive! London 2016 Splunk OverviewSplunkLive! London 2016 Splunk Overview
SplunkLive! London 2016 Splunk OverviewSplunk
 
SplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk EnterpriseSplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk EnterpriseSplunk
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Splunk live produban
Splunk live produbanSplunk live produban
Splunk live produbanSplunk
 
SplunkLive! Atlanta Customer Presentation – Intercontinental Exchange
SplunkLive! Atlanta Customer Presentation – Intercontinental ExchangeSplunkLive! Atlanta Customer Presentation – Intercontinental Exchange
SplunkLive! Atlanta Customer Presentation – Intercontinental ExchangeSplunk
 
Data Management as a Strategic Initiative for Government
Data Management as a Strategic Initiative for GovernmentData Management as a Strategic Initiative for Government
Data Management as a Strategic Initiative for GovernmentSAS Institute India Pvt. Ltd
 
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...SAS Institute India Pvt. Ltd
 
QlikTalk: QlikView in Legal
QlikTalk: QlikView in LegalQlikTalk: QlikView in Legal
QlikTalk: QlikView in LegalHelena Caligari
 
Business Discovery and QlikView 11
Business Discovery and QlikView 11Business Discovery and QlikView 11
Business Discovery and QlikView 11Helena Caligari
 
SAS Forum India: Building for Success: The Foundation for Achievable Master D...
SAS Forum India: Building for Success: The Foundation for Achievable Master D...SAS Forum India: Building for Success: The Foundation for Achievable Master D...
SAS Forum India: Building for Success: The Foundation for Achievable Master D...SAS Institute India Pvt. Ltd
 

Destaque (20)

Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream
 
Splunk Overview
Splunk OverviewSplunk Overview
Splunk Overview
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk Enterprise
 
SplunkLive! Hamburg / München Advanced Session
SplunkLive! Hamburg / München Advanced SessionSplunkLive! Hamburg / München Advanced Session
SplunkLive! Hamburg / München Advanced Session
 
Splunk and node
Splunk and nodeSplunk and node
Splunk and node
 
Customer Presentation - Financial Services Organization
Customer Presentation - Financial Services OrganizationCustomer Presentation - Financial Services Organization
Customer Presentation - Financial Services Organization
 
Splunk live! São Paulo 2014 - Edenred-Ticket
Splunk live! São Paulo 2014 - Edenred-TicketSplunk live! São Paulo 2014 - Edenred-Ticket
Splunk live! São Paulo 2014 - Edenred-Ticket
 
Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo Vtex - Splunk live! 2014 São Paulo
Vtex - Splunk live! 2014 São Paulo
 
SplunkLive! London 2016 Splunk Overview
SplunkLive! London 2016 Splunk OverviewSplunkLive! London 2016 Splunk Overview
SplunkLive! London 2016 Splunk Overview
 
SplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk EnterpriseSplunkLive! Getting Started with Splunk Enterprise
SplunkLive! Getting Started with Splunk Enterprise
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Splunk live produban
Splunk live produbanSplunk live produban
Splunk live produban
 
SplunkLive! Atlanta Customer Presentation – Intercontinental Exchange
SplunkLive! Atlanta Customer Presentation – Intercontinental ExchangeSplunkLive! Atlanta Customer Presentation – Intercontinental Exchange
SplunkLive! Atlanta Customer Presentation – Intercontinental Exchange
 
Data Management as a Strategic Initiative for Government
Data Management as a Strategic Initiative for GovernmentData Management as a Strategic Initiative for Government
Data Management as a Strategic Initiative for Government
 
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...
TATA Teleservices - SAS Forum India: Enhancing Marketing Performance to drive...
 
QlikTalk: QlikView in Legal
QlikTalk: QlikView in LegalQlikTalk: QlikView in Legal
QlikTalk: QlikView in Legal
 
Customer Management - A Practioners Perspective
Customer Management - A Practioners PerspectiveCustomer Management - A Practioners Perspective
Customer Management - A Practioners Perspective
 
Business Discovery and QlikView 11
Business Discovery and QlikView 11Business Discovery and QlikView 11
Business Discovery and QlikView 11
 
SAS Forum India: Building for Success: The Foundation for Achievable Master D...
SAS Forum India: Building for Success: The Foundation for Achievable Master D...SAS Forum India: Building for Success: The Foundation for Achievable Master D...
SAS Forum India: Building for Success: The Foundation for Achievable Master D...
 
Business analytics !!
Business analytics !!Business analytics !!
Business analytics !!
 

Semelhante a Splunk as a_big_data_platform_for_developers_spring_one2gx

Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsDamien Dallimore
 
Mining Your Logs - Gaining Insight Through Visualization
Mining Your Logs - Gaining Insight Through VisualizationMining Your Logs - Gaining Insight Through Visualization
Mining Your Logs - Gaining Insight Through VisualizationRaffael Marty
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)Spark Summit
 
Machine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightMachine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightSplunk
 
Machine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightMachine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightSplunk
 
Machine Data 101 Workshop
Machine Data 101 Workshop Machine Data 101 Workshop
Machine Data 101 Workshop Splunk
 
Splunk workshop-Machine Data 101
Splunk workshop-Machine Data 101Splunk workshop-Machine Data 101
Splunk workshop-Machine Data 101Splunk
 
How to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALABHow to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALABHostedbyConfluent
 
Getting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionGetting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionSplunk
 
Splunk Discovery: Warsaw 2018 - Getting Data In
Splunk Discovery: Warsaw 2018 - Getting Data InSplunk Discovery: Warsaw 2018 - Getting Data In
Splunk Discovery: Warsaw 2018 - Getting Data InSplunk
 
You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011Scott Carlson
 
December 2013 HUG: Hunk - Splunk over Hadoop
December 2013 HUG: Hunk - Splunk over HadoopDecember 2013 HUG: Hunk - Splunk over Hadoop
December 2013 HUG: Hunk - Splunk over HadoopYahoo Developer Network
 
Spark in the Maritime Domain
Spark in the Maritime DomainSpark in the Maritime Domain
Spark in the Maritime DomainDemi Ben-Ari
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityPaul Morse
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltreMarco Parenzan
 
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a... The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...Big Data Spain
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Tomek Borek
 
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...Sri Ambati
 
Summer 2017 undergraduate research powerpoint
Summer 2017 undergraduate research powerpointSummer 2017 undergraduate research powerpoint
Summer 2017 undergraduate research powerpointChristopher Dubois
 

Semelhante a Splunk as a_big_data_platform_for_developers_spring_one2gx (20)

Integrating Splunk into your Spring Applications
Integrating Splunk into your Spring ApplicationsIntegrating Splunk into your Spring Applications
Integrating Splunk into your Spring Applications
 
Mining Your Logs - Gaining Insight Through Visualization
Mining Your Logs - Gaining Insight Through VisualizationMining Your Logs - Gaining Insight Through Visualization
Mining Your Logs - Gaining Insight Through Visualization
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
 
Machine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightMachine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into Insight
 
Machine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into InsightMachine Data 101: Turning Data Into Insight
Machine Data 101: Turning Data Into Insight
 
Machine Data 101 Workshop
Machine Data 101 Workshop Machine Data 101 Workshop
Machine Data 101 Workshop
 
Splunk workshop-Machine Data 101
Splunk workshop-Machine Data 101Splunk workshop-Machine Data 101
Splunk workshop-Machine Data 101
 
How to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALABHow to over-engineer things and have fun? | Oto Brglez, OPALAB
How to over-engineer things and have fun? | Oto Brglez, OPALAB
 
Getting Started with Splunk Breakout Session
Getting Started with Splunk Breakout SessionGetting Started with Splunk Breakout Session
Getting Started with Splunk Breakout Session
 
Splunk Discovery: Warsaw 2018 - Getting Data In
Splunk Discovery: Warsaw 2018 - Getting Data InSplunk Discovery: Warsaw 2018 - Getting Data In
Splunk Discovery: Warsaw 2018 - Getting Data In
 
You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011
 
December 2013 HUG: Hunk - Splunk over Hadoop
December 2013 HUG: Hunk - Splunk over HadoopDecember 2013 HUG: Hunk - Splunk over Hadoop
December 2013 HUG: Hunk - Splunk over Hadoop
 
Spark in the Maritime Domain
Spark in the Maritime DomainSpark in the Maritime Domain
Spark in the Maritime Domain
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a... The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
Łukasz Romaszewski on Internet of Things Raspberry Pi and Java Embedded JavaC...
 
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
 
Microservices
MicroservicesMicroservices
Microservices
 
Summer 2017 undergraduate research powerpoint
Summer 2017 undergraduate research powerpointSummer 2017 undergraduate research powerpoint
Summer 2017 undergraduate research powerpoint
 

Mais de Damien Dallimore

QCon London 2015 - Wrangling Data at the IOT Rodeo
QCon London 2015 - Wrangling Data at the IOT RodeoQCon London 2015 - Wrangling Data at the IOT Rodeo
QCon London 2015 - Wrangling Data at the IOT RodeoDamien Dallimore
 
Splunk Conf 2014 - Splunking the Java Virtual Machine
Splunk Conf 2014 - Splunking the Java Virtual MachineSplunk Conf 2014 - Splunking the Java Virtual Machine
Splunk Conf 2014 - Splunking the Java Virtual MachineDamien Dallimore
 
Splunk Conf 2014 - Getting the message
Splunk Conf 2014 - Getting the messageSplunk Conf 2014 - Getting the message
Splunk Conf 2014 - Getting the messageDamien Dallimore
 
SpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationSpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationDamien Dallimore
 
SplunkLive London 2014 Developer Presentation
SplunkLive London 2014  Developer PresentationSplunkLive London 2014  Developer Presentation
SplunkLive London 2014 Developer PresentationDamien Dallimore
 
Splunk Modular Inputs / JMS Messaging Module Input
Splunk Modular Inputs / JMS Messaging Module InputSplunk Modular Inputs / JMS Messaging Module Input
Splunk Modular Inputs / JMS Messaging Module InputDamien Dallimore
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Damien Dallimore
 

Mais de Damien Dallimore (14)

QCon London 2015 - Wrangling Data at the IOT Rodeo
QCon London 2015 - Wrangling Data at the IOT RodeoQCon London 2015 - Wrangling Data at the IOT Rodeo
QCon London 2015 - Wrangling Data at the IOT Rodeo
 
Splunk Conf 2014 - Splunking the Java Virtual Machine
Splunk Conf 2014 - Splunking the Java Virtual MachineSplunk Conf 2014 - Splunking the Java Virtual Machine
Splunk Conf 2014 - Splunking the Java Virtual Machine
 
Splunk Conf 2014 - Getting the message
Splunk Conf 2014 - Getting the messageSplunk Conf 2014 - Getting the message
Splunk Conf 2014 - Getting the message
 
SpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk PresentationSpringOne2GX 2014 Splunk Presentation
SpringOne2GX 2014 Splunk Presentation
 
SplunkLive London 2014 Developer Presentation
SplunkLive London 2014  Developer PresentationSplunkLive London 2014  Developer Presentation
SplunkLive London 2014 Developer Presentation
 
A Brief History Of Data
A Brief History Of DataA Brief History Of Data
A Brief History Of Data
 
Spring Integration Splunk
Spring Integration SplunkSpring Integration Splunk
Spring Integration Splunk
 
Splunking the JVM
Splunking the JVMSplunking the JVM
Splunking the JVM
 
Splunk Modular Inputs / JMS Messaging Module Input
Splunk Modular Inputs / JMS Messaging Module InputSplunk Modular Inputs / JMS Messaging Module Input
Splunk Modular Inputs / JMS Messaging Module Input
 
Splunk for JMX
Splunk for JMXSplunk for JMX
Splunk for JMX
 
Splunk Java Agent
Splunk Java AgentSplunk Java Agent
Splunk Java Agent
 
Splunk Developer Platform
Splunk Developer PlatformSplunk Developer Platform
Splunk Developer Platform
 
Using the Splunk Java SDK
Using the Splunk Java SDKUsing the Splunk Java SDK
Using the Splunk Java SDK
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Splunk as a_big_data_platform_for_developers_spring_one2gx

  • 1. A Big Data Platform for Developers Damien Dallimore Developer Evangelist at Splunk © 2012 SpringOne 2GX. All rights reserved. Do not distribute without permission.
  • 2. About me •  Developer Evangelist at Splunk since July 2012 •  Splunk Community Member •  Splunk for JMX •  SplunkJavaLogging •  SplunkBase – Apps and Answers •  Splunk Architect and Administrator •  Coder •  Been paying my mortgage developing Enterprise Java solutions most of my career •  Kia Ora •  I do not have a speech impediment, I am from Aotearoa, so please restrain all your sheep, Lord of the Rings and Kim Dotcom heckles until beer o’clock !! 2
  • 3. Agenda •  Overview of the Splunk platform •  Splunk for Developers •  Custom Visualization Demo •  Splunk Java SDK •  Spring Integration Splunk Extensions •  Integration Adaptors Demo •  Some other JVM/Java related tools •  SplunkJavaLogging •  Splunk for JMX •  Questions 3
  • 5. So What is Splunk, Exactly? •  Splunk is an engine for machine data •  It’s software – download and install it in 5 minutes, •  Provides visibility, reporting and search across “freemium” model all your IT systems and infrastructure •  Runs on all modern platforms •  Doesn’t lock you into a fixed schema •  Open and extensible architecture 5  
  • 6. Indexes any Machine Data •  Capture events from logs in real time •  Run scripts to gather system metrics, connect to APIs and databases •  Listen to syslog, raw TCP/UDP, gather Windows events •  Universally indexes any data format so it doesn’t need adapters, “schema on the fly” •  Stream in data directly from your application code •  Decode binary data and feed in Windows Linux/Unix Virtualization Applications Databases Network •  Registry •  Configurations •  Hypervisor •  Web logs •  Configurations •  Configurations •  Event logs •  Syslog •  Guest OS •  Log4J, JMS, •  Audit/query •  syslog •  File system •  File system •  Guest Apps JMX logs •  SNMP •  sysinternals •  Ps, iostat, top •  .NET events •  Tables •  netflow •  Code and •  Schemas scripts 6  
  • 7. Centralizes Data Across the Environment •  Splunk Universal Forwarder sends data to Splunk Indexer from remote systems •  Uses minimal system resources, easy to install and deploy •  Delivers secure, distributed, real-time universal data collection for tens of thousands of endpoints Indexing/Search   Server   Splunk  Forwarders   7  
  • 8. Scales to TBs/day and Thousands of Users •  Automatic load balancing linearly scales indexing •  Distributed search and MapReduce linearly scales search and reporting 8  
  • 9. Provides Strong Machine Data Governance •  Provides comprehensive controls for data security, retention and integrity •  Single sign-on integration enables pass-through authentication of user credentials 9  
  • 10. Splunk and Apache Hadoop MR/HDFS •  Splunk is an implementation of the Map Reduce algorithmic approach •  It is not Apache Hadoop MapReduce(MR) the product •  Splunk is not agnostic of its underlying data source , optimized to Splunk Index files •  Real time vs Batch Jobs •  Optimal for time series based data •  End to End Integrated Big Data Solution •  Fine grained protection of access and data using role based permissions •  Data retention and aging controls •  Users can submit “Map Reduce” jobs without needing to know how to code a job •  Splunk Search Language vs Pig/Sawzill •  But why not get the best of both worlds •  Splunk Hadoop Ops •  Splunk Hadoop Connect •  Shuttl (archiving to HDFS / S3) 10
  • 11. Splunk Has Four Primary Functions •  Searching and Reporting (Search Head) •  Indexing and Search Services (Indexer) •  Local and Distributed Management (Deployment Server) •  Data Collection and Forwarding (Forwarder) A  Splunk  install  can  be  one  or  all  roles…     11  
  • 12. Getting Data into Splunk Agent and Agent-less Approach for Flexibility. syslog   Local  File  Monitoring   log  files,  config  files   TCP/UDP   dumps  and  trace  files   syslog  compa>ble  hosts   and  network  devices   Windows  Inputs   Scripted  Inputs   Event  Logs   shell  scripts  custom   performance  counters   Mounted  File  Systems   WMI   Ac>ve     parsers  batch  loading   registry  monitoring   hostnamemount   Event  Logs  Performance   Directory     AcAve  Directory  monitoring   code   shell   virtual   host   perf   Unix,  Linux  and  Windows  hosts   Windows  hosts   Custom  apps  and  scripted  API  connec>ons   Windows  hosts   Agent-­‐less  Data  Input   Splunk  Forwarder   12  
  • 13. Universal Data Forwarder Forward  data  without  negaHvely  impacHng  producHon  performance.   •  Delivers secure, distributed, Universal  Forwarder  Deployment   real-time universal data collection for 10’s of thousands of endpoints Logs   Messages   ConfiguraHons   Metrics   Scripts   •  Extends Splunk data fabric to large scale private cloud and desktop environments •  Uses minimal system resources, easy to install and deploy Central  Deployment  Management   –  < half memory and footprint of Splunk 4.1; <1% of single core Monitor  files,  changes  and  the  system  registry;  capture  metrics  and  status.   13
  • 14. Horizontal Scaling Load balanced search and indexing for massive, linear scale out. Distributed  Search   Forwarder       Auto  Load   Balancing   14  
  • 15. Multiple Datacenters Index and store locally. Distribute searches to datacenters, networks & geographies. Headquarters   Distributed Search London   Hong  Kong   Tokyo   New  York   15  
  • 16. Send Data to Other Systems Route raw data in real time or send alerts based on searches. Service  Desk   Event  Console   Problem  InvesHgaHon   SIEM  
  • 17. High Availability / DR Combine auto load balancing and data replication. Distributed  Search   Primary  Cluster   Secondary  Cluster   Data  Clone   Splunk  Forwarders   Auto  Load  Balancing   17
  • 18. Integrate External Data Extend search with lookups to external data sources. LDAP,  AD   Watch     Lists   CMDB   CRM/ ERP   Correlate  IP  addresses  with  locaHons,  accounts  with  regions   18  
  • 19. Integrate Users and Roles Integrate authentication with LDAP and Active Directory. LDAP,  AD     Splunk  Flexible  Roles   CapabiliHes  &  Filters   Users  and  Groups   Manage   Indexes   Share   Searches   Save   Searches   Problem  InvesHgaHon   Problem  InvesHgaHon   Problem  InvesHgaHon   Manage   Users   NOT   tag=PCI   App=ERP   …   Map LDAP & AD groups to flexible Splunk roles. Define any search as a filter. 19  
  • 20. Centralized Licensing Management Groups, Stacks, and Pools for Enterprise Deployments. Problem  InvesHgaHon   20  
  • 21. Deployment Monitoring Keep Tabs On Your Splunk Enterprise Deployment. Licenses   Sourcetypes   Indexers   Forwarders   21  
  • 22. Real-time Search Data   Monitor  Input   Parsing  Pipeline   Real-­‐Hme   •  Source,  event  typing   Real-­‐Hme   Search   Parsing  Queue   Index  Queue   •  Character  set   Buffer   Process   TCP/UDP  Input   normalizaHon   •  Line  breaking   •  Timestamp  idenHficaHon   Scripted  Input   •  Regex  transforms   Indexing   Pipeline   Raw  data     Index  Files   Index   22  
  • 23. Real-time Alerting source=“/var/log/secure.log”  “BAD  SU”   Data   Monitor  Input   Parsing  Pipeline   Real-­‐Hme   •  Source,  event  typing   Real-­‐Hme   Search   Parsing  Queue   Index  Queue   •  Character  set   Buffer   Process   TCP/UDP  Input   normalizaHon   •  Line  breaking   •  Timestamp  idenHficaHon   Scripted  Input   •  Regex  transforms   Indexing   Pipeline   Raw  data   Index  Files   Index   23  
  • 24. New Approach to Heterogeneous Data Universal Indexing Search-time Knowledge Flexibility and Fast Time to Value •  No data normalization •  Knowledge applied at •  Normalization as it’s •  Automatically handles search-time needed timestamps •  No brittle schema to •  Faster implementation •  Parsers not required work around •  Easy search language •  Index every term & •  Multiple views into the •  Multiple views into the pattern “blindly” same data same data •  No attempt to •  Splunk helps find “understand” up front transactions, patterns and trends 24  
  • 25. Inside Universal Indexing AutomaHc  event  boundary  idenHficaHon   AutomaHc  Hmestamp  normalizaHon   ...enable  accurate  searching  and   trending  by  Hme  across  all  data:   25  
  • 26. Inside Search-time Knowledge Extraction AutomaHcally  discovered  fields   And  user-­‐defined  fields   ...  enable  staHsHcs  and  precise  search   on  specific  fields:   26  
  • 27. Inside Search-time Knowledge Extraction Searches  saved  as  event  types   Plus  tagging  of  event  types,  hosts  and  other  fields   ...  enable  normalized  reporHng,  knowledge   sharing  and  granular  access  control.   27  
  • 29. Splunk  &  Developers   Custom/ Accelerate development & Machine  Data   SplunkUI Existing testing (Splunk Apps) Applications SDKs Integrate data from Splunk Search, chart and graph into your existing IT Save and schedule searches as alerts Export search results environment for operational Manage inputs and indexes visibility Add & remove users and roles REST API Build custom solutions to deliver real-time business insights from Big Data Engine 29
  • 30. Splunk in the Developer Community •  Over 1,000 unique visitors per week to dev.splunk.com •  Over 500 followers on Twitter @splunkdev •  Over 350 enterprise developer trial licenses granted
  • 32. How does Splunk Accelerate Dev/Test? •  Splunk frees you from upfront database design for analytics •  late binding schema •  Developers and QA/test engineers don’t have to ask IT/Ops to get logs off machines •  Role base access to all data within one console without having to log into production systems •  All events are indexed and accessible in real-time in one place. •  Ad-Hoc real-time monitoring and historical investigation searchable from one place •  Correlations and insights across multiple tiers. •  Splunk lets you find issues quickly, so you can fix issues quickly •  Integrate Splunk search results into testing assertions 32
  • 33. StubHub & Splunk Engineering uses Splunk to investigate “Splunk  filled  a  vacuum  we  didn’t   bugs know  we  had.” QA uses it during dev cycles - Nathan Pratt, Tech Lead, Tools & Automation, StubHub •  Started with Site Operations to resolve issues •  Grew to engineers, QA, upper management in technology •  Release requirement – Projects are required to certify that all logs are Splunk-friendly High-level view of application errors - used by site operations, engineering, and upper management 33
  • 34. Integrate Splunk into your IT environment
  • 35. Integration into existing IT tools The Splunk development platform is optimized for core enterprise developer skills Splunk UI Your application REST API communicates directly with a (Splunk Apps) Splunk instance for search, management SDKs and admin •  Provides full control to the developer REST API •  Use any language or tool that supports splunkd HTTP SDKs provide broad coverage of the REST API in popular languages •  Log directly to Splunk from any app •  Build a UI on any web stack •  Integrate into existing infrastructure 35  
  • 36. Splunk REST API •  Exposes an API method for every feature in the product •  Whatever you can do in the UI – you can do through the API. •  Run searches •  Manage Splunk configurations •  API is RESTful •  Endpoints are served by splunkd •  Requests are GET, POST, and DELETE HTTP methods •  Responses are Atom XML Feeds •  JSON coming in 5.0 •  Search results can be output in CSV/JSON/XML/Raw 36
  • 37. Developer Platform SDKs •  We want to make it as easy as possible for developers to build Big Data apps on top of the Splunk platform •  Several different language offerings, Software Development Kits (SDKs) •  Javascript, Java, Python, PHP, C#(private), Ruby(private) •  All Splunk functionality is accessible via our SDKs •  Get Data into Splunk •  Execute Splunk Searches, get data out of Splunk •  Manage Splunk •  Customized User Interfaces 37
  • 38. Comcast & Splunk Content browsed, purchased and Customer profile watched All tracked by time + and MAC address / device assignments and MAC address Correlate usage and profile data to analyze customer behavior: •  Revenues driven by content browsed •  Improving local content mix •  Better search results •  Tailor content promotion 38
  • 39. Bosch & Splunk Healthcare Management Splunking data sent from Evidence- ARM-based devices based •  Uses the Java SDK to send data Telehealth to Splunk Cardiac Rhythm Monitoring 39
  • 41. Splunk  =  Integrated,  Enterprise-­‐ready  Big  Data  Plajorm   •  No need to write MapReduce jobs, just get data into Splunk and analyze •  Splunk delivers real-time insight – like clickstream analysis, IT early-warning systems, security and fraud protection •  Late-binding schema allows for faster, more flexible data insight gathering •  Data collection is integrated •  Distributed architecture offers scale-out capabilities with access control •  Out-of-the-box reporting and analytics capabilities •  SDKs cover over 170 REST API endpoints 41  
  • 42. Socialize & Splunk “Splunk eliminates the need to write large MapReduce jobs to get meaningful information out of our data. This means we can get powerful stats and information to our key stakeholders in a fraction of the time.” - Isaac Mosquera, CTO, Socialize 42
  • 43. Visualizing Splunk with the SDKs •  Splunkweb has rich, but sometimes limited, visualization options •  You can use the SDKs to extract data from Splunk using a search, and visualize it •  Real-time searches can be especially powerful •  Using the Javascript SDK you can integrate with third party charting librarys like Google Charts & D3. 43
  • 44.
  • 45. Realtime Twitter Visualization Demo •  Twitter feeds being “firehosed” into Splunk and searched over in realtime •  Uses the Splunk Javascript SDK to stream the realtime search results from Splunk into a totally customized web based user interface •  Visualization of most popular hashtags with interactive pie chart,word cloud and geo heatmap using D3 Javascript SDK Browser 45
  • 47. Splunk Java SDK(Software Development Kit) 47
  • 48. Get the Java SDK •  Open sourced under the Apache v2.0 license •  Clone from Github : git clone https://github.com/splunk/splunk-sdk-java.git •  Project level support for Eclipse and Intellij IDE’s •  Pre-requisites •  JRE 6+ •  Ant ( Maven support is in the works ) •  Splunk installed •  Loads of code examples •  Project examples folder •  Unit Tests •  http://dev.splunk.com •  http://gist.github.com/damiendallimore •  Comprehensive coverage of the REST API 48
  • 49. Java SDK Class Model HTTPService Resource Service ResourceCollection Entity EntityCollection Application Index Input InputCollection SavedSearchCollection •  Collections use a common mechanism to create and remove entities •  Entities use a common mechanism to retrieve and update property values, and access entity metadata •  Service is a wrapper that facilitates access to all Splunk REST endpoints 49
  • 50. Key Java SDK Use cases •  Connect and Authenticate •  Manage •  Input Events •  Search 50
  • 51. Connect and Authenticate public static Service connectAndLoginToSplunkExample() { Map<String, Object> connectionArgs = new HashMap<String, Object>(); connectionArgs.put("host", ”somehost"); connectionArgs.put("username", ”spring"); connectionArgs.put("password", ”integration"); connectionArgs.put("port", 8089); connectionArgs.put("scheme", "https"); // will login and save the session key which gets put in the HTTP Authorization header Service splunkService = Service.connect(connectionArgs); return splunkService; } 51
  • 52. Manage public static void getServerInfoExample() { Service splunkService = connectAndLoginToSplunkExample(); ServiceInfo info = splunkService.getInfo(); System.out.println("Info:"); for (String key : info.keySet()) System.out.println(" " + key + ": " + info.get(key)); Entity settings = splunkService.getSettings(); System.out.println("nSettings:"); for (String key : settings.keySet()) System.out.println(" " + key + ": " + settings.get(key)); } 52
  • 53. Input Events public static void logEventToSplunkExample() { Service splunkService = connectAndLoginToSplunkExample(); // Get a Receiver object Receiver receiver = splunkService.getReceiver(); // Set the sourcetype Args logArgs = new Args(); logArgs.put("source", ”http-rest"); logArgs.put("sourcetype", ”spring-example"); // Log an event into the spring index receiver.log(”spring", logArgs, ”SpringOne 2GX rocks"); } •  Other Input transports •  HTTP REST Streaming •  Raw TCP Oneshot & Streaming •  Raw UDP & Syslog 53
  • 54. Search •  Search query •  a set of commands and functions you use to retrieve events from an index or a real-time stream , "search index=spring error OR exception | head 10” •  Saved search •  a search query that has been saved to be used again and can be set up to run on a regular schedule •  Search job •  an instance of a completed or still-running search operation.Using a search ID you can access the results of the search when they become available. Job results are saved for a period of time on the server and can be retrieved •  Search Modes •  Normal : asynchronous , poll job for status and results •  Realtime : same as normal, but stream is kept open a results streamed in realtime •  Blocking : synchronous , a job handle is returned when search is completed •  Oneshot : synchronous , no job handle is returned, results are streamed •  Export : synchronous, not a search per say, doesn’t create a job, results are streamed oldest to newest 54
  • 55. Blocking Searches public static void exportSearchExample() { Service splunkService = connectAndLoginToSplunkExample(); String searchQuery = "search error OR exception | head 10"; Args queryArgs = new Args(); queryArgs.put("earliest_time", "-1d@d"); queryArgs.put("latest_time", "now"); // perform the export , blocks here InputStream stream = splunkService.export(searchQuery, queryArgs); processInputStream(stream); } public static void simpleSearchExample() { Service splunkService = connectAndLoginToSplunkExample(); String searchQuery = "search error OR exception| head 10"; Args queryArgs = new Args(); queryArgs.put("earliest_time", "-3d@d"); queryArgs.put("latest_time", "-1d@d"); // perform the search , blocks here InputStream stream = splunkService.search(searchQuery, queryArgs); processInputStream(stream); } 55
  • 56. Non Blocking Search public static void searchJobExample() { Service splunkService = connectAndLoginToSplunkExample(); String outputMode = "csv";// xml,json,csv // submit the job Job job = splunkService.getJobs().create("search index=spring error OR fatal | head 10"); while (!job.isDone()) { try {Thread.sleep(500);} catch (Exception e) {} } Args outputArgs = new Args(); outputArgs.put("output_mode", outputMode); InputStream stream = job.getResults(outputArgs); processInputStream(stream, outputMode); // uses xml stream, opencsv and gson } 56
  • 57. Realtime Search public static void realTimeSearchExample() { Service splunkService = connectAndLoginToSplunkExample(); Args queryArgs = new Args(); queryArgs.put("earliest_time", "rt-5m"); queryArgs.put("latest_time", "rt"); // submit the job Job job = splunkService.getJobs().create("search index=spring exception OR error”, queryArgs); … } 57
  • 58. Alternate JVM Languages Scala Groovy Clojure Javascript(Rhino) JRuby PHP(Quercus) Ceylon Kotlin Jython We don’t need SDK’s for these languages , we can just use the Java SDK ! 58
  • 59. Groovy class SplunkJavaSDKWrapper { static main(args) { //connect and login def connectionParameters = [host:”somehost",username:"spring",password:"integration"] Service service = Service.connect(connectionParameters) //get Splunk Server info ServiceInfo info = service.getInfo() def splunkInfo = [:] for (key in info.keySet()) splunkInfo.put(key,info.get(key)) printSplunkInfo(splunkInfo) } static printSplunkInfo(splunkInfo) { println "Info” splunkInfo.each { key, value ->println key + " : " + value} } } 59
  • 60. Scala import com.splunk.Service._ import scala.collection.mutable.HashMap import scala.collection.JavaConversions._ object SplunkJavaSDKWrapper { def main(args: Array[String]) = { //connect and login val connectionArgs = HashMap[String, Object]("host" ->”somehost”,"username" ->”me”,"password" ->”foo") val service = connect(connectionArgs) //get Splunk Server info val info = service.getInfo // Scala/Java conversion val javaSet = info.keySet val scalaSet = javaSet.toSet //print out Splunk Server info for (key <- scalaSet) println(key + ":" + info.get(key)) } } 60
  • 61. Spring Integration Splunk Extensions Special thanks to Jianwei Li(Jarred) & Mark Pollack for creating this ! 61
  • 62. Spring Integration •  Spring Integration is an extension to core Spring •  Based on “Enterprise Integration Patterns” model •  Messaging model and Declarative Adaptors •  Makes it easier to build integration solutions 62
  • 63. Spring Integration Splunk Adaptors •  Splunk Java SDK makes it easier to use the REST API •  Building on this , the Spring Integration Adaptors make it easier for Spring/Java developers to declaratively build data integration solutions and utilize the power of the Splunk platform •  https://github.com/SpringSource/spring-integration-extensions •  Inbound Adaptor –  Search and export the data from Splunk and push into message channels –  Filter, transform, export to other destinations •  Outbound Adaptor –  Can consume data acquired by other Integration adaptors(Twitter, JDBC…) and push it into Splunk for indexing, searching and visualization 63
  • 64. Spring Integration Splunk Inbound Adaptor •  Blocking, Non Blocking, Saved & Realtime Searches •  Exporting 64
  • 65. Spring Integration Splunk Outbound Adaptor •  HTTP REST Input •  TCP Input 65
  • 66. XML Configuration Common Splunk settings <int-splunk:server id="splunkServer" host=”somehost" port="8089" userName=”damien" password=”foobar"/> Searching/exporting from Splunk <int-splunk:inbound-channel-adapter id="splunkInboundChannelAdapter” auto-startup="true" search="search index=spring error OR exception” splunk-server-ref="splunkServer” channel="inputFromSplunk" mode="blocking" initEarliestTime="-1d"> <int:poller fixed-rate="5" time-unit="SECONDS"/> </int-splunk:inbound-channel-adapter> Inputting events to Splunk <int-splunk:outbound-channel-adapter id="splunkOutboundChannelAdapter" auto-startup="true" order="1” channel="outputToSplunkWithMessageStore" splunk-server-ref="splunkServer” pool-server-connection="true" index="spring" sourceType="twitter-feed" source="spring-integration-httprest” ingest="submit"> </int-splunk:outbound-channel-adapter> 66
  • 67. Spring Integration Splunk Twitter Demo 67
  • 69. SplunkJavaLogging •  A logging framework to allow developers to as seamlessly as possible integrate Splunk best practice logging semantics into their code and transport events directly to Splunk. •  Custom handler/appender implementations(REST and Raw TCP) for the 3 most prevalent Java logging frameworks in play. Splunk events directly from your code. •  LogBack •  Log4j •  java.util.logging •  Better handling of stacktraces •  All code and examples is on Github 69
  • 71. Splunk for JMX •  SplunkBase App for monitoring JVM Applications •  Out of the box dashboards for JVM level monitoring (java.lang domain) •  Memory , Threading, GC, CPU etc… •  Very simple configuration to wire up monitoring of any Mbeans from applications (Tomcat, Jboss, Cassandra, Coherence etc…) •  Hotspot, JRockit, IBMJ9, OpenJDK •  Poll JMX attributes and operations , index data over time, correlate with other data •  Supports large scale deployments of JVMs •  Extensible and Customizable •  Many connectivity options •  RMI , IIOP •  Direct Process Attachment •  MX4J Hessian, Burlap and Soap •  Freely available download from SplunkBase & all code is on Github 71
  • 72. Learn More. Stay Connected. At SpringOne 2GX : •  Come by our booth •  Splunk demos ,Q & A •  SDK code •  Tee Shirts !! Web : •  Developer Platform : http://dev.splunk.com •  SplunkBase : http://splunk-base.splunk.com •  Twitter : @splunkdev , @damiendallimore •  Email : devinfo@splunk.com , ddallimore@splunk.com •  Blog : http://blogs.splunk.com/dev •  Github : http://github.com/splunk •  Splunk Live! Events and Online Videos at http://www.splunk.com 72