Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a...
Transcript of Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a...
![Page 1: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/1.jpg)
Copyright©2016Splunk Inc.
GrigoriMelnikandCeceliaCampbellSplunk
SplunkAppLifecycleManagement–withMorePeace,LoveandRock-n-Roll!
![Page 2: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/2.jpg)
Disclaimer
2
Duringthecourseofthispresentation,wemaymakeforwardlookingstatementsregardingfutureeventsortheexpectedperformanceofthecompany.Wecautionyouthatsuchstatementsreflectourcurrentexpectationsandestimatesbasedonfactorscurrentlyknowntousandthatactualeventsorresultscoulddiffermaterially.Forimportantfactorsthatmaycauseactualresultstodifferfromthose
containedinourforward-lookingstatements,pleasereviewourfilingswiththeSEC.Theforward-lookingstatementsmadeinthethispresentationarebeingmadeasofthetimeanddateofitslivepresentation.Ifreviewedafteritslivepresentation,thispresentationmaynotcontaincurrentoraccurateinformation.Wedonotassumeanyobligationtoupdateanyforwardlookingstatementswemaymake.Inaddition,anyinformationaboutourroadmapoutlinesourgeneralproductdirectionandissubjecttochangeatanytimewithoutnotice.Itisforinformationalpurposesonlyandshallnot,beincorporatedintoanycontractorothercommitment.Splunkundertakesnoobligationeithertodevelopthefeaturesor
functionalitydescribedortoincludeanysuchfeatureorfunctionalityinafuturerelease.
![Page 3: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/3.jpg)
3
Asadeveloper,IwanttolowermycostofSplunkappdevelopment– letmefocusonbuildingappswithoutconcerningmyselfaboutthedeploymenttopologiesandthenitty-grittyofthedeploymentprocess.
Asanadmin,Iwanttoeasily&reliablyinstallandmanageanykindofcontent(apps,addons,modules,contentpacks)acrossmyentireSplunkdeployment.
�
�
AppManageability
![Page 4: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/4.jpg)
Copyright © 2016 Splunk Inc. Confidential.
App
Develope
r
TargetedUserFlowSplunk
Admin
Busin
ess
Expe
rt
Develop
Defineappmanifest
Packageappsource
testpackageUpgrade
PUBLISHCERTIFY
DISCOVERACQUIRE
DeployApp/Systemconfiguration
APP
APP APP
re-configure
USE
![Page 5: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/5.jpg)
Copyright © 2016 Splunk Inc. Confidential.
ThepoetryofappmanageabilityNewapppackaging &deployment
tools andguidancefordevelopers andadmins that
simplifyappdeployment and troubleshooting to
distributed environments,whilepreservingappbackward compatibility
withexistingtools&practices.
![Page 6: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/6.jpg)
Copyright © 2016 Splunk Inc. Confidential.
Themechanicsofappmanageability
• Focusondisambiguating config andpartitioning(packaging)relevantpiecesofconfig+code intodeploymentpackages– alongphysical workloadsandlogical groupsofforwarders
Thesystemknows
![Page 7: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/7.jpg)
Copyright © 2016 Splunk Inc. Confidential.
All-in-onetoolforbothdevelopersandadmins
1. Devsuseittodefine andpackage anapp2. Adminsuseittopartition andprepare fordeployment3. Splunkplatform(future)mechanismwilldeploy thepartitionedapp
7
ThePackagingToolkit
![Page 8: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/8.jpg)
Copyright © 2016 Splunk Inc. Confidential.
8
PackagingwithanAppManifest
JSONAPP
dependencies
inputGroups
tasks
platformRequirements
incompatibleApps
optional
info
auto-generated
![Page 9: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/9.jpg)
Copyright © 2016 Splunk Inc. Confidential.
9
PartitioningaPackagedApp
APPPackaging
Toolkit
![Page 10: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/10.jpg)
Copyright © 2016 Splunk Inc. Confidential.
generate-manifest – generateamanifestforanappbasedonitsconfpackage – createasourcepackagewithmanifestpartition – partitionanappintoasetoftargeteddeploymentpackagesdescribe – describeanappconfiguration&dependenciesvalidate – validateanappcontent(incl.appmanifest,packageddependencies,well-formedness)
10
PackagingToolkitCommandsCheatSheet
![Page 11: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/11.jpg)
DevFlowExample
![Page 12: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/12.jpg)
Copyright © 2016 Splunk Inc. Confidential.
12
SampleApp– SplunkAppFor*Nix
APP
TA implieddependencies
task-basedscriptedinputs
possibleplatform-specific
inputsscript://ftr_lookups.py
inputs.confinput://lastlog.shinput://passwd.shinput://version.sh
inputs.conf
SA
![Page 13: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/13.jpg)
Copyright © 2016 Splunk Inc. Confidential.
13
GenerateaManifest$ slim generate-manifest SA_nix –o SA_nix/app.manifestslim generate-manifest: Parsing app configuration at "SA_nix"...slim generate-manifest: Generating app manifest to "SA_nix/app.manifest"...slim generate-manifest: [NOTE] App manifest saved to "SA_nix/app.manifest"
$ slim generate-manifest TA_nix –o TA_nix/app.manifest...
$ slim generate-manifest splunk_app_for_nix –o splunk_app_for_nix/app.manifest...
![Page 14: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/14.jpg)
Copyright © 2016 Splunk Inc. Confidential.
"info": {
"title": "...",
"id": { ... },
"author": { ... },
"releaseDate": "...",
"description": "...",
"license": { ... },
"releaseNotes": { ... }
}
14
AppManifest- info
![Page 15: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/15.jpg)
Copyright © 2016 Splunk Inc. Confidential.
# Define dependencies and versions to enforce
# "dependencies": {
# "<app-id>": {
# "version": "*",
# "package": "<source-package-location>"
# }
# }
#
# Define inputs that are management tasks
# "tasks": []
15
AppManifest- examples# Define custom and dependency input groups
# "inputGroups": {
# "<group-name>": {
# "requires": {
# "<app-id>": ["<input-group-name>"]
# },
# "inputs": ["<defined-inputs>"]
# }
# }
![Page 16: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/16.jpg)
Copyright © 2016 Splunk Inc. Confidential.
"tasks": [
"script://./bin/scripted_inputs/ftr_lookups.py",
]
16
AppManifest– SA_nix
![Page 17: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/17.jpg)
Copyright © 2016 Splunk Inc. Confidential.
"inputGroups": {
"User Monitoring": {
"description": "Monitor current user sessions and login history",
"inputs": ["script://./bin/who.sh", "script://./bin/lastlog.sh”]
},
”OSX Inputs": {
"description": "ES scripted inputs supported on only OSX platforms",
"inputs": ["script://./bin/sshdChecker.sh"]
},
"Linux Inputs": {
"description": "ES scripted inputs supported on Linux platforms",
"inputs": ["script://./bin/selinuxChecker.sh"]
}
}
17
AppManifest– TA_nix
![Page 18: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/18.jpg)
Copyright © 2016 Splunk Inc. Confidential.
"dependencies": {
"SA_nix": {
"version": "~5.2.0",
"package": "SA_nix-5.2.0.tar.gz"
},
"TA_nix": {
"version": "^5.2.0",
"package": "TA_nix-5.2.3.tar.gz"
}
}
18
AppManifest– splunk_app_for_nix
![Page 19: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/19.jpg)
Copyright © 2016 Splunk Inc. Confidential.
19
CreateaSourcePackage$ slim package SA_nixslim package: Packaging app at "SA_nix”...slim package: [NOTE] Source package exported to “SA_nix-5.2.0.tar.gz”
$ slim package TA_nixslim package: Packaging app at "TA_nix”...slim package: [NOTE] Source package exported to “TA_nix-5.2.3.tar.gz”
$ slim package splunk_app_for_nixslim package: Packaging app at "splunk_app_for_nix”...slim package: [NOTE] Source package exported to “splunk_app_for_nix-5.2.0.tar.gz"
![Page 20: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/20.jpg)
Copyright © 2016 Splunk Inc. Confidential.
$ slim describe splunk_app_for_nix-5.2.0.tar.gzslim describe: Describing "splunk_app_for_nix-5.2.0.tar.gz"...[info]|-- The Splunk App for Unix offers new ways to alert, report, and investigate data.| |-- by Splunk, Inc.| |-- defined as splunk_app_for_nix version 5.2.0[input-groups]|-- User Monitoring defines no inputs and requires [TA_nix]|-- Linux Group defines no inputs and requires [TA_nix]|-- SunOS Group defines no inputs and requires [TA_nix]|-- OSX Group defines no inputs and requires [TA_nix][dependency-graph]|-- [email protected]| |-- [email protected] (accepting ~5.2.0)| |-- [email protected] (accepting ^5.2.0)
20
DescribeanAppPackage
![Page 21: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/21.jpg)
Copyright © 2016 Splunk Inc. Confidential.
21
SampleApp– UpdatedAPP
TA
enforceddependencies
manifest manifesttask-basedscriptedinputs
classified
platform-specificinputsgrouped
TA_nix.tgzSA_nix.tgz
input://taskAinput://taskB
tasksinputGroups
dependencies UserMonitoring: input://lastlog.shLinuxInputs: input://sshdChecker.shOSXInputs: input://update.sh
SA
manifest
![Page 22: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/22.jpg)
Copyright © 2016 Splunk Inc. Confidential.
22
BenefitsforDevsPrevious Method Packaging Toolkit
AppInfo • Scatteredacrossconf • Centralized location• Automaticallygenerated
DependencyManagement • ReleaseNotesrequired• Guessing version
compatibilities
• DefinedandEnforced• SemVer compatible
InputGroups • Allcontent,everywhere • Logicallygrouped
ManagementTasks • Undefined • Treated differently
![Page 23: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/23.jpg)
Copyright © 2016 Splunk Inc. Confidential.
StartonboardingyourappswiththePackagingToolkitGenerateamanifestandcustomizeyourrequirements
Giveusfeedback:[email protected]
23
CalltoActionforDevs!
![Page 24: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/24.jpg)
Copyright © 2016 Splunk Inc. Confidential.
24
Butwait,inthefuture…
![Page 25: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/25.jpg)
Copyright © 2016 Splunk Inc. Confidential.
DependenciesareexplicitlydeclaredbytheDevs– Adminscanviewandreconcileappdependenciestoavoidconflicts
automatically
InputsarelogicallygroupedbytheDevs– Adminscantargetspecificlogictotheappropriateworkloads
automatically
Evenwithoutanappmanifest,thePackagingToolkitwillbeabletopartitionbasedonadefaultsetofrules!
25
BenefitsforAdmins
![Page 26: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/26.jpg)
AdminFlowPREVIEW
![Page 27: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/27.jpg)
Copyright © 2016 Splunk Inc. Confidential.
27
![Page 28: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/28.jpg)
Copyright © 2016 Splunk Inc. Confidential.
28
![Page 29: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/29.jpg)
Copyright © 2016 Splunk Inc. Confidential.
29
![Page 30: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/30.jpg)
Copyright © 2016 Splunk Inc. Confidential.
30
![Page 31: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/31.jpg)
Copyright © 2016 Splunk Inc. Confidential.
31
![Page 32: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/32.jpg)
Copyright © 2016 Splunk Inc. Confidential.
32
![Page 33: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/33.jpg)
Copyright © 2016 Splunk Inc. Confidential.
33
![Page 34: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/34.jpg)
Copyright © 2016 Splunk Inc. Confidential.
Appmanageability(installation/uninstallation/update)– Automaticdependencyresolution(cascading)– Mappingoflogicalinputgroupstoserverclasses– Partitioningintotargeteddeploymentpackages
Chooseyourdeploymentmechanism– Now:Chef/Ansible/Puppet/…playbook/recipe/script– Future:AppManagementUI
34
KeyTakeaways
![Page 35: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/35.jpg)
Copyright © 2016 Splunk Inc. Confidential.
DownloadthepublicbetaofthePackagingToolkittoday:http://dev.splunk.com/goto/packaging-toolkitComevisitusattheDev Tools&GuidanceBooth!– LearnMoreandseetheDemos
Giveusfeedback:[email protected]
35
What’sNext?
![Page 36: Splunk App Lifecycle Management – with More Peace, Love and Rock-n-Roll! · 2017-10-08 · 3 As a developer, I want to lower my cost of Splunk app development – let me focus on](https://reader034.fdocuments.in/reader034/viewer/2022042102/5e7fc9a0a4d9d2596e223578/html5/thumbnails/36.jpg)
THANKYOU