"use strict" var version // unused? var ShowcaseInfo = [] $.ajax({ url: $C["SPLUNKD_PATH"] + "/services/SSEShowcaseInfo?locale=" + window.localeString, async: false, success: function (returneddata) { ShowcaseInfo = returneddata }, }) var UseCasesBySource = new Object() try { for (var summary in ShowcaseInfo["summaries"]) { var datasources = ShowcaseInfo["summaries"][summary]["datasource"]?.split("|") if(!datasources) continue; for (var i = 0; i < datasources.length; i++) { datasource = datasources[i] if (typeof UseCasesBySource[datasource] == "undefined") { UseCasesBySource[datasource] = new Object() UseCasesBySource[datasource]["count"] = 0 UseCasesBySource[datasource]["listAll"] = [] UseCasesBySource[datasource]["listRecommended"] = [] UseCasesBySource[datasource]["shownList"] = [] } UseCasesBySource[datasource]["count"]++ if ( typeof ShowcaseInfo["summaries"][summary]["highlight"] != "undefined" && (ShowcaseInfo["summaries"][summary]["highlight"] == "true" || ShowcaseInfo["summaries"][summary]["highlight"] == "Yes" || ShowcaseInfo["summaries"][summary]["highlight"] == true) ) { UseCasesBySource[datasource]["listRecommended"].push( ShowcaseInfo["summaries"][summary]["name"] ) } else { UseCasesBySource[datasource]["listAll"].push( ShowcaseInfo["summaries"][summary]["name"] ) } } } } catch (error) { console.log(error); } for (var Source in UseCasesBySource) { if (UseCasesBySource[Source]["listRecommended"].length < 6) { UseCasesBySource[Source]["shownList"] = UseCasesBySource[Source]["listRecommended"] } else { UseCasesBySource[Source]["shownList"] = UseCasesBySource[Source][ "listRecommended" ].slice(0, 6) } if (UseCasesBySource[Source]["shownList"].length < 6) { if ( UseCasesBySource[Source]["listAll"].length + UseCasesBySource[Source]["shownList"].length >= 6 ) { UseCasesBySource[Source]["shownList"] = UseCasesBySource[Source][ "shownList" ].concat( UseCasesBySource[Source]["listAll"].slice( 0, 6 - UseCasesBySource[Source]["shownList"].length ) ) } else { UseCasesBySource[Source]["shownList"] = UseCasesBySource[Source][ "shownList" ].concat(UseCasesBySource[Source]["listAll"]) } } } var validDataSources = new Object() validDataSources["Authentication"] = { technologies: [ "Windows Security Logs", "Linux Auth Logs", "Cisco ISE", "Okta", "Duo", ], description: "

Authentication logs are some of the most ubiquitious across an environment, so it can be hard to know where to start. Everything from workstations to CRM systems to firewalls will track authentication activity. For most of those log sources, you will naturally get the authentication data as you use the Splunk Technology Add-ons to ingest all of the data, but there are a few that are typically a great place to start, particularly Windows Security Logs and, if you have them, Linux Auth logs. If you have a centralized authentication service such as Cisco ISE, that's also a great datasource.

", } validDataSources["Anti-Virus"] = { technologies: ["Symantec EP", "Trend Micro AV", "McAfee AV Plus"], description: "

Antivirus software was originally developed to detect and remove computer viruses, hence the name. However, with the proliferation of other kinds of malware, antivirus software started to provide protection from other computer threats.

", } validDataSources["Any Host Logs"] = { technologies: ["All Splunk Logs"], description: "Any Logs that exist in Splunk from the host itself can meet this need.", } validDataSources["Audit Trail"] = { technologies: [ "AWS CloudTrail", "Salesforce.com Event Log File", "Okta", "Duo", ], description: "

Anything that tracks a user's activity will qualify under audit trail logs, whether it includes the activities from a SaaS Application, a custom in house application, or just what searches people run in Splunk.

", } validDataSources["CRM Logs"] = { technologies: ["Salesforce.com Event Log File"], description: "

Customer Relationship Management software is the life blood of your customer interactions, powers your sales force, and typically contains every important bit of data your competitors would want. Are you moniitoring that?

", } validDataSources["Configuration Management"] = { technologies: ["ServiceNow", "Puppet"], description: "

Ensuring that the right configurations are deployed in the right places is an arduous task at even a small company, but so configuration management tools make that easy by having access to data about your entire environment. Sounds like opportunity!

", } validDataSources["DHCP"] = { technologies: ["Windows", "Cisco", "Infoblox"], description: "

Dynamic Host Control Protocol is what gives every system in your environment an IP Address. That means their logs are key to understanding the movement of an asset, the sudden appearance of unusual behavior, or more. While there are few correlations built on DHCP, it is a key data source for investigation.

", } validDataSources["DLP"] = { technologies: [ "Symantec DLP", "Digital Guardian", "Forcepoint", "Intel Security", ], description: "

Data Loss Prevention plays a key role in any insider threat, advanced attacker, or even accidental disclosure scenario. DLP allows you to track the content of information leaving the network, and often block anything that isn't approved and shouldn't be sent.

", } validDataSources["DNS"] = { technologies: [ "Zscaler", "Splunk Stream DNS", "Windows DNS", "Microsoft Sysmon", "Cisco Umbrella", "Infoblox", ], description: "

DNS is one of the most undervalued data sources we see in many organizations starting out for Security. It keeps and authoritative record of what domains a user was trying to browse to, serving as a great investigative resource (particularly in a world of CDNs) and also providing extensive use for detection of threat intel hits or algorithmically generated domain names.

", } validDataSources["Electronic Medical Record System"] = { technologies: ["Cerner", "Epic"], description: "

The requirement to digitize Medical Records has resulted in a huge volume of sensitive information about all of us being written into databases around the world. Fortunately, it is easy to monitor the audit logs of those applications to find suspicious elements.

", } validDataSources["Email"] = { technologies: [ "Office 365", "Cisco Email Security Applicance", "Proofpoint", "Symantec ES", "Mimecast", ], description: "

Email is not just a key communication channel in modern businesses, it is also a great way to for attackers to reach victims, or for data to leave your organization. There are a number of detections for email, so it's a key data source to ingest.

", } validDataSources["Endpoint Detection and Response"] = { technologies: [ "Windows Process Launch Logs", "Microsoft Sysmon", "Tanium", "PAN Traps", "Carbon Black", "Symantec EP", "CrowdStrike", "Cylance", "Ziften", ], description: "

Endpoint Detection and Response products are all about providing telemetry from the endpoint itself. While individual products can vary, you will always find common trends like tracking running processes (including the process hash, allowing you to identify the file regardless of filename, parent process, command line string, and more), system changes, and if desired many other sources of visibility such as network traffic, and file system changes.

", } validDataSources["Backup"] = { technologies: ["Symantec NetBackup"], description: "

The Security Triad is Confidentiality, Integrity, and Availability. With many attacks occuring on availability, it's key to have a strong and monitored backup strategy in your portfolio. Make sure to monitor those logs, so that you can ensure everything is occurring as you'd expect.

", } validDataSources["IDS or IPS"] = { technologies: ["Palo Alto Networks", "Cisco FirePOWER", "Check Point"], description: "

Intrusion Detection or Prevention Systems will sit on your network and detect or block attacks before they effect your users. Monitoring these logs will allow you to find suspicious signals, or corroborate alerts from Anti-Virus.

", } validDataSources["Malware Detonation"] = { technologies: ["Zscaler", "FireEye", "PAN Traps", "Check Point"], description: "

Malware Detonation (aka Malware Sandbox, aka Malware Explosion, aka many other things) is the process of taking files, running them in a sandbox, and seeing what actions they take.

", } validDataSources["Network Communication"] = { technologies: [ "Zscaler", "Palo Alto Networks", "Cisco ASA", "AWS VPC Flow", "Cisco iOS", "Juniper Devices", "Check Point", "Netflow", "Splunk Stream", ], description: "

Tracking any network connections inside your environment, or between your environment and the outside world, is typically one of the first actions any new Splunk user takes. The data is easy to bring in, and it provides immense value to security investigation and detection.

", } validDataSources["Patch Management"] = { technologies: ["ServiceNow", "Remedy"], description: "

Ensuring that your products are patched is a key priority for every business, living at #4 on the SANS Critical Security Control. Track that data in Splunk, so that you can enrich detections and investigations with patching context, realize a single pane of glass, and also serve as a detailed check for when you need to go deeper around failed patches.

", } validDataSources["Print Server Logs"] = { technologies: ["Windows Print Server"], description: "

Almost exclusively serving the concern of insiders exfiltrating data by printing it (perhaps with other operational needs like managing print costs), printer data is low volume and can have a high ROI for the organization.

", } validDataSources["Source Code Respository"] = { technologies: ["GitLabl", "Git", "BitBucket", "SVN", "Microsoft TFS"], description: "

For software companies, often their source code is the only intellectual property that truly matters. That means auditing access to it is key.

", } validDataSources["Ticketing System"] = { technologies: [ "ServiceNow", "Atlassian Jira", "Splunk Enterprise Security", ], description: "

Ticketing systems can become the workflow engine of a SOC, or IT organization. Stage 5 in the Security Journey is all about operationalizing your ticketing system -- tracking when there are problems, helping customers be successful. If you are using an external ticketing system, it's important to be able to analyze those logs (and the current ticket status) in Splunk.

", } validDataSources["UEBA Alerts"] = { technologies: ["Splunk UBA"], description: "

Splunk is one solution across the products, so make sure to bring your alerts from Splunk UBA into Splunk ES or Splunk Enterprise, and conversely send your alert data from Splunk Enterprise or ES into Splunk UBA.

", } validDataSources["VPN"] = { technologies: ["Zscaler", "Cisco AnyConnect", "Juniper VPN"], description: "

VPNs by definition allow remote access to your environment, and so it's key to track who is accessing, what they are sending / receiving (and how much), and where they're connecting from / to. VPN is a foundational data source that should be in every Splunk environment.

", } validDataSources["Vulnerability Detection"] = { technologies: ["Qualys", "Tenable"], description: "

Vulnerability Detection is a great source of contextual data to have in Splunk. At a high level, it is similar to Patch Management, but it will usually sweep the entire environment also finding unknown hosts, hosts where you aren't tracking the patch status, and more. It's also usually a low volume data source, making it an easy win for Splunk ingestion.

", } validDataSources["Web Proxy"] = { technologies: [ "Zscaler", "BlueCoat", "WebSense", "Palo Alto Networks", "Check Point", "Fortinet", ], description: "

Also on the list of the first few data sources you should ingest into Splunk, Proxy logs will tell you everything about where your users are going on the internet, and are key for everything from detecting insider threat to seeing drive-by-download malware to detecting command and control.

", } validDataSources["Web Server"] = { technologies: ["Apache", "IIS"], description: "

Ingesting data from your web server access logs is key if you're interested in detecting web attacks. Paired with general endpoint monitoring on the servers (including Endpoint Detection and Response), and with Splunk Stream network capture, you have a very strong solution for detecting and investigating web attacks.", } validDataSources["Windows Security"] = { technologies: ["Windows Security Logs"], description: "", } validDataSources["Other"] = { technologies: ["Other"], description: "Generic catch-all, generally for typos.", } var validTechnologies = new Object() validTechnologies["Windows Process Launch Logs"] = { difficulty: "Easy", last_updated: "02/22/2018", description: "Windows Process Launch Logs will not give advanced telemetry around network connections, file writes, etc., but if you're looking for process launch information and the command line string (the most basic of EDR capabilities), it is built into Windows with a little bit of work.", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-WinSecurity-1-SizingEstimate", "SC-WinSecurity-2-InstallTA", "SC-WinSecurity-3-IndexesAndSourcetypes", "SC-WinSecurity-4-inputsconf", "SC-WinSecurity-5-References", "VC-WinSecurity-1-EnablingLog", "VC-WinSecurity-2-turnon4688", "VC-WinSecurity-3-CommandLineAuditing", "VC-WinSecurity-4-MaybePatch", "VC-WinSecurity-5-References", ], } validTechnologies["Windows Security Logs"] = { difficulty: "Easy", last_updated: "02/22/2018", description: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-WinSecurity-1-SizingEstimate", "SC-WinSecurity-2-InstallTA", "SC-WinSecurity-3-IndexesAndSourcetypes", "SC-WinSecurity-4-inputsconf", "SC-WinSecurity-5-References", "VC-WinSecurity-1-EnablingLog", ], } validTechnologies["Microsoft Sysmon"] = { difficulty: "Medium", last_updated: "02/22/2018", description: "Microsoft Sysmon is a free product from the Microsoft Sysinternals team that has been leveraged across many Splunk customers to provide fantastic visibility.", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-Sysmon-1-Overview", "SC-Sysmon-2-SizingEstimate", "SC-Sysmon-3-InstallTA", "SC-WinSecurity-3-IndexesAndSourcetypes", "SC-Sysmon-4-configurationfiles", "VC-Sysmon-1-SingleServer", "VC-Sysmon-1-LargeScale", ], } validTechnologies["Linux Auth Logs"] = { difficulty: "Easy", description: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "SC-LinuxSecurity-1-SizingEstimate", "SC-LinuxSecurity-2-InstallTA", "SC-LinuxSecurity-3-IndexesAndSourcetypes", "SC-LinuxSecurity-4-inputsconf", "SC-LinuxSecurity-5-leastprivilege", "SC-LinuxSecurity-5-References", "VC-LinuxSecurity-1-EnablingLog", ], } validTechnologies["Tanium"] = { description: "" } validTechnologies["Carbon Black"] = { description: "" } validTechnologies["All Splunk Logs"] = { description: "", link: "" } validTechnologies["Apache"] = { description: "", link: "" } validTechnologies["Atlassian Jira"] = { description: "", link: "" } validTechnologies["AWS CloudTrail"] = { difficulty: "Hard", last_updated: "02/22/2018", description: "", link: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "VC-AWS-1-Overview", "VC-AWS-2-awsiam", "VC-AWS-3-awssns", "VC-AWS-4-awssqs", "VC-AWS-5-cloudtrail", "SC-AWS-1-WhereToCollect", "SC-AWS-2-InstallTA", "SC-AWS-3-IndexesAndSourcetypes", "SC-AWS-4-accountconfig", "SC-AWS-5-cloudtrailinput", "SC-AWS-6-updateAWSApp", ], } validTechnologies["AWS VPC Flow"] = { difficulty: "Hard", description: "", link: "", last_updated: "02/22/2018", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "VC-AWS-1-Overview", "VC-AWS-2-awsiam", "VC-AWS-3-awssns", "VC-AWS-4-awssqs", "VC-AWS-5-vpcflow", "SC-AWS-1-WhereToCollect", "SC-AWS-2-InstallTA", "SC-AWS-3-IndexesAndSourcetypes", "SC-AWS-4-accountconfig", "SC-AWS-5-vpcflowinput", "SC-AWS-6-updateAWSApp", ], } validTechnologies["BitBucket"] = { description: "", link: "" } validTechnologies["BlueCoat"] = { description: "", link: "" } validTechnologies["Cerner"] = { description: "", link: "" } validTechnologies["Check Point"] = { description: "", link: "" } validTechnologies["Cisco"] = { description: "", link: "" } validTechnologies["Cisco ASA"] = { difficulty: "Easy", last_updated: "02/22/2018", description: "Cisco ASA is one of most populate firewall data sources for Splunk ES. The Splunk Add-on for Cisco ASA has most number of downloads/installs on Splunkbase.", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "VC-General-1-syslogoverview", "VC-ASA-2-rsyslog-config", "VC-ASA-3-logrotate", "VC-ASA-4-enablesyslog", "VC-ASA-5-ruleconfiguration", "SC-ASA-1-SizingEstimate", "SC-ASA-2-InstallTA", "SC-ASA-3-IndexesAndSourcetypes", "SC-ASA-4-inputsconf", ], } validTechnologies["Cisco AnyConnect"] = { description: "", link: "" } validTechnologies["Cisco Email Security Applicance"] = { description: "", link: "", } validTechnologies["Cisco FirePOWER"] = { description: "", link: "" } validTechnologies["Cisco ISE"] = { description: "", link: "" } validTechnologies["Cisco Umbrella"] = { description: "", link: "" } validTechnologies["Cisco iOS"] = { description: "", link: "" } validTechnologies["CrowdStrike"] = { description: "", link: "" } validTechnologies["Cylance"] = { description: "", link: "" } validTechnologies["Digital Guardian"] = { description: "", link: "" } validTechnologies["Duo"] = { description: "", link: "" } validTechnologies["Epic"] = { description: "", link: "" } validTechnologies["FireEye"] = { description: "", link: "" } validTechnologies["Forcepoint"] = { description: "", link: "" } validTechnologies["Fortinet"] = { description: "", link: "" } validTechnologies["IIS"] = { description: "", link: "" } validTechnologies["Infoblox"] = { description: "", link: "" } validTechnologies["Intel Security"] = { description: "", link: "" } validTechnologies["Juniper Devices"] = { description: "", link: "" } validTechnologies["Juniper VPN"] = { description: "", link: "" } validTechnologies["McAfee AV Plus"] = { description: "", link: "" } validTechnologies["Microsoft TFS"] = { description: "", link: "" } validTechnologies["Mimecast"] = { description: "", link: "" } validTechnologies["Netflow"] = { description: "", link: "" } validTechnologies["Office 365"] = { difficulty: "Hard", description: "", last_updated: "02/22/2018", link: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "VC-o365-1-Overview", "VC-o365-2-configureo365", "SC-o365-1-SizingEstimate", "SC-o365-2-WhereToCollect", "SC-o365-3-InstallTA", "SC-o365-4-IndexesAndSourcetypes", "SC-o365-5-configuration", ], } validTechnologies["Okta"] = { description: "", link: "" } validTechnologies["PAN Traps"] = { description: "", link: "" } validTechnologies["Palo Alto Networks"] = { difficulty: "Medium", last_updated: "02/22/2018", description: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnLinux", "GI-5-outputsconf", "GI-6-References", "VC-General-1-syslogoverview", "VC-PAN-2-rsyslog-config", "VC-PAN-3-logrotate", "VC-PAN-4-enablesyslog", "SC-PAN-1-SizingEstimate", "SC-PAN-2-InstallTA", "SC-PAN-3-IndexesAndSourcetypes", "SC-PAN-4-inputsconf", "SC-PAN-5-pan_app_changes", ], } validTechnologies["Proofpoint"] = { description: "", link: "" } validTechnologies["Puppet"] = { description: "", link: "" } validTechnologies["Qualys"] = { description: "", link: "" } validTechnologies["Remedy"] = { description: "", link: "" } validTechnologies["SVN"] = { description: "", link: "" } validTechnologies["Salesforce.com Event Log File"] = { description: "", link: "", } validTechnologies["ServiceNow"] = { description: "", link: "" } validTechnologies["Splunk Enterprise Security"] = { description: "", link: "" } //validTechnologies["Splunk Stream"] = { "description": "", "last_updated": "02/22/2018", "guide": ["GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-Stream-1-Overview", "SC-Stream-2-SizingEstimate", "SC-Stream-3-IndexesAndSourcetypes", "SC-Stream-4-InstallStream", "SC-Stream-6-MultiServer"] } validTechnologies["Splunk Stream DNS"] = { difficulty: "Medium", last_updated: "02/22/2018", description: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-Stream-1-Overview", "SC-Stream-2-SizingEstimate", "SC-Stream-3-IndexesAndSourcetypes", "SC-Stream-4-InstallStream", "SC-Stream-5-DNS", "SC-Stream-6-MultiServer", ], } validTechnologies["Splunk UBA"] = { description: "", link: "" } validTechnologies["Symantec EP"] = { difficulty: "Easy", last_updated: "02/22/2018", description: "", guide: [ "GI-1-DSOG-overview", "GI-2-expectationsandscale", "GI-3-indexesAndSourcetypes", "GI-4-forwarderOnWindows", "GI-5-outputsconf", "GI-6-References", "SC-Symantec-1-Overview", "SC-Symantec-2-SizingEstimate", "SC-Symantec-3-InstallTA", "SC-Symantec-4-IndexesAndSourcetypes", "SC-Symantec-5-configurationfiles", "VC-Symantec-1-Configuration", ], } validTechnologies["Symantec ES"] = { description: "", link: "https://www.symantec.com/connect/groups/symantec-apps-splunk", } validTechnologies["Symantec NetBackup"] = { description: "", link: "" } validTechnologies["Tenable"] = { description: "", link: "" } validTechnologies["Trend Micro AV"] = { description: "", link: "" } validTechnologies["WebSense"] = { description: "", link: "" } validTechnologies["Windows"] = { description: "", link: "" } validTechnologies["Windows DNS"] = { description: "", link: "" } // validTechnologies["Microsoft Sysmon"] = { "description": "", "link": "" } validTechnologies["Windows Print Server"] = { description: "", link: "" } validTechnologies["Ziften"] = { description: "", link: "" } validTechnologies["Zscaler"] = { difficulty: "Medium", last_updated: "09/09/2021", description: "Zscaler can stream logs into the customer environments. This is facilitated via Zscaler supplied virtual machines which execute in a customer’s (or partner’s) hosted compute environment. ", guide: ["VC-ZSCALER-1-overview"], } validTechnologies["Other"] = { description: "Other", guide: ["SC-Other"] } function TemplateTechnologies() { var OutputBlock = "" var technologies = new Object() var keys = [] for (var validDataSource in validDataSources) { for (var technology in validDataSources[validDataSource][ "technologies" ]) { technologies[ validDataSources[validDataSource]["technologies"][technology] ] = 1 } } for (k in technologies) { if (technologies.hasOwnProperty(k)) { keys.push(k) } } keys.sort() for (var i = 0; i < keys.length; i++) { if (keys[i].indexOf("function") == -1) if (typeof validTechnologies[keys[i]] == "undefined") OutputBlock += 'validTechnologies["' + keys[i] + '"] = {"description": "", "link":""}\n' } // console.log(OutputBlock) window.OutputBlock = OutputBlock } function generateOutputs(servers) { var autoLBGroup = "" var serverList = "" // console.log("Generating zip file for ", servers) for (var i = 0; i < servers.length; i++) { if (autoLBGroup != "") autoLBGroup += "," autoLBGroup += servers[i] + ":9997" serverList += "\n\n[tcpout-server://" + servers[i] + ":9997]" } var outputs = "[tcpout]\ndefaultGroup = default-autolb-group\n\n[tcpout:default-autolb-group]\nserver = " + autoLBGroup + serverList var apps = "[launcher]\ndescription = org_all_forwarder_outputs\nauthor = \nversion = 1.0.0\n\n[package]\nid = localCompany-basic-outputs\n\n[ui]\nis_visible = 0\n" //var FileSaver = require('file-saver'); // console.log("Here's my outputs..", outputs) require([ "jquery", Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/vendor/jszip/jszip.js" ), Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/properties.js" ), Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/vendor/FileSaver/FileSaver.js" ), ], function ($, JSZip, props) { // console.log("JSZip Loaded", JSZip) version = props.version // this is not used? var zip = new JSZip() var folder1 = zip.folder("org_all_forwarder_outputs") var myDefault = folder1.folder("default") myDefault.file("app.conf", apps) myDefault.file("outputs.conf", outputs) zip.generateAsync({ type: "blob" }).then(function (content) { // see FileSaver.js saveAs(content, "org_all_forwarder_outputs.zip") //console.log("Here's my content", content) }) }) } function generateIndexes() { var apps = "[launcher]\ndescription = org_all_indexes\nauthor = \nversion = 1.0.0\n\n[package]\nid = localCompany-standard-indexes\n\n[ui]\nis_visible = 0\n" require([ "jquery", Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/vendor/jszip/jszip.js" ), Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/vendor/FileSaver/FileSaver.js" ), ], function ($, JSZip) { // console.log("JSZip Loaded", JSZip) var zip = new JSZip() var folder1 = zip.folder("org_all_indexes") var myDefault = folder1.folder("default") myDefault.file("app.conf", apps) myDefault.file("indexes.conf", $("pre[generatezip='indexes']").text()) zip.generateAsync({ type: "blob" }).then(function (content) { // see FileSaver.js saveAs(content, "org_all_indexes.zip") //console.log("Here's my content", content) }) }) } function ShowOutputsModal() { // set the runtime environment, which controls cache busting var runtimeEnvironment = "production" // unused. // get app and page names var pathComponents = location.pathname.split("?")[0].split("/") var appName = "Splunk_Security_Essentials" var pageIndex = pathComponents.indexOf(appName) var pageName = pathComponents[pageIndex + 1] // unused. // path to the root of the current app var appPath = "../app/" + appName // This code is originally from setRequireConfig.es6 and is injected into runPageScript.es6 and every visualization.es6 file using @setRequireConfig.es6@ var requireConfigOptions = { paths: { // app-wide path shortcuts components: appPath + "/components", vendor: appPath + "/vendor", Options: appPath + "/components/data/parameters/Options", // requirejs loader modules text: appPath + "/vendor/text/text", json: appPath + "/vendor/json/json", css: appPath + "/vendor/require-css/css", // srcviewer shims prettify: appPath + "/vendor/prettify/prettify", showdown: appPath + "/vendor/showdown/showdown", codeview: appPath + "/vendor/srcviewer/codeview", }, config: { Options: { // app-wide options options: { appName: "Splunk_Security_Essentials", // the number of points that's considered "large" - how each plot handles this is up to it plotPointThreshold: 1000, maxSeriesThreshold: 1000, smallLoaderScale: 0.4, largeLoaderScale: 1, defaultModelName: "default_model_name", defaultRoleName: "default", dashboardHistoryTablePageSize: 5, }, }, }, } require.config(requireConfigOptions) require([ "jquery", Splunk.util.make_full_url( "/static/app/Splunk_Security_Essentials/components/controls/Modal.js" ), ], function ($, Modal) { var initModal = function () { //this function is actually called at the end, because it depends on the enabledFilters being defined, which requires page load for a first time user. var myModal = new Modal( "chooseOutputsModal", { title: "Provide Splunk Indexer Locations", destroyOnHide: true, type: "wide", }, $ ) $(myModal.$el).on("hide", function () { // Not taking any action on hide, but you can if you want to! }) var bodyContent = '

While you can manually create your own outputs app that will tell your Splunk Search Head (if a dedicated one exists) and your Splunk Forwarders where the indexers are, that\'s not much fun. Below you can provide the DNS Name(s) or IP Address(es) for your Splunk indexer(s).

If you have just a single Splunk Server, just put that IP Address / DNS Name. If you have multiple Splunk servers, you should put the IP Addresses / DNS Names of all of the servers that are indexers. When you click "Get App" we will generate a zip file that contains the app you should put on anything Splunk that is *not* listed below. All your Forwarders, any dedicated Search Heads you have (for bigger environments only), should all send their data to the indexers, and this will tell them how. Splunk will the automatically distribute data to any of the hosts that are up -- you don\'t need to do any load balancing, HA support, or other configuration, just let Splunk do its thing.


' myModal.body .addClass("mlts-modal-form-inline") .append($(bodyContent)) myModal.footer.append( $("