Splunk® Machine Learning Toolkit

User Guide

This documentation does not apply to the most recent version of Splunk® Machine Learning Toolkit. For documentation on the most recent version, go to the latest release.

Install the Machine Learning Toolkit

The Splunk Machine Learning Toolkit (MLTK) enables users to create, validate, manage, and operationalize machine learning models through a guided user interface. Use the following directions to install the MLTK on to your system(s).

Requirements

This version of the Machine Learning Toolkit is compatible with Python versions 2.x and Splunk Enterprise versions 7.x. For specific version dependencies, see Machine Learning Toolkit version dependencies.

Ensure you use the corresponding version of the MLTK to your Splunk Enterprise version.

You cannot access new features in the MLTK without upgrading to the latest versions of the Machine Learning Toolkit. In order to successfully run version 4.5.0 of MLTK, the following is required:

In order to save models, users need the upload_lookup_files capability included in their role.

You can choose the appropriate version of the Python for Scientific Computing (PSC) add-on for your environment:

Linux 32-bit support is not available should you upgrade to version 1.4 of the Python for Scientific Computing add-on.

Versions 3.4.0 and above of the MLTK require upgrading to versions 1.3 or 1.4 of the PSC add-on. See the version dependencies table for the specific requirements between toolkit and PSC add-on versions.

Specific version dependencies

MLTK Version PSC Version
4.5.0 1.4
4.4.2 1.3 or 1.4
4.4.1 1.3 or 1.4
4.4.0 1.3 or 1.4
4.3.0 1.3 or 1.4
4.2.0 1.3 or 1.4
4.1.0 1.3
4.0.0 1.3
3.4.0 1.3
3.3.0 1.2 or 1.3
3.2.0 1.2 or 1.3
3.1.0 1.2

If you have written any custom algorithms that rely on the PSC libraries, upgrading the PSC library add-on impacts those custom algorithms. You must re-train any models (re-run the search that used the fit command) using those algorithms after you upgrade the PSC add-on.

Splunk Cloud deployments

Follow the appropriate directions for your instance of self-service or managed Splunk Cloud.

Splunk Cloud trial and self-service Splunk Cloud

Install the Python for Scientific Computing add-on and the Splunk Machine Learning Toolkit app to your self-service instance of Splunk Cloud using the app browser in Splunk Cloud.

  1. Log in to your Splunk Cloud instance.
  2. From the Splunk Web home screen, click on the gear icon next to Apps in the left navigation bar.
  3. Click Browse more apps.
  4. Search for the Python for Scientific Computing add-on and install it.
  5. Search for the Splunk Machine Learning Toolkit app and install it.

Managed Splunk Cloud

Open a ticket with support and request the Python for Scientific Computing add-on and Splunk Machine Learning Tooklit app to be installed for you.

Splunk Enterprise single instance deployments

Follow these directions for single instance deployments.

Install the Python for Scientific Computing add-on and Splunk Machine Learning Toolkit app onto your single instance Splunk Enterprise

  1. Install the Python for Scientific Computing add-on first (required).
  2. Install the Splunk Machine Learning Toolkit app.

Install an app or add-on in Splunk Web

  1. In Splunk Web, click on the gear icon next to Apps in the left navigation bar.
  2. On the Apps page, click Install app from file.
  3. Click Choose File, navigate to and select the package file for the app or add-on, then click Open.
  4. Click Upload.

Install an app or add-on from the command line

At the command line, enter the following content, depending on your operating system.

Unix/Linux:
./splunk install app <path/packagename>
Windows:
splunk install app <path\packagename>

Alternatively, unpack/unzip the file then copy the app directory to $SPLUNK_HOME/etc/apps on Unix based systems or %SPLUNK_HOME%\etc\apps on Windows systems.

Splunk Enterprise distributed deployments

Follow these directions for distributed deployments.

Use the following tables to determine where and how to install the Splunk Machine Learning Toolkit and Python for Scientific Computing add-on in a distributed deployment of Splunk Enterprise. Depending on your environment, you may need to install the Splunk Machine Learning Toolkit and Python for Scientific Computing add-on in multiple places.

Where to install Splunk Machine Learning Toolkit and Python for Scientific Computing

This table provides a reference for installing the Splunk Machine Learning Toolkit and Python for Scientific Computing to a distributed deployment of Splunk Enterprise.

Splunk instance type Supported Required Actions required / Comments
Search Heads Yes Yes Install Python for Scientific Computing and the Splunk Machine Learning Toolkit to all search heads where the Splunk Machine Learning Toolkit is used. Search heads must be running Splunk Enterprise 6.6 or greater.
Indexers Yes Conditional If you want to use the distributed apply feature of the Splunk Machine Learning Toolkit, install Python for Scientific Computing on all of your indexers. This feature is disabled by default. See Use your indexers to apply models for information. Indexers must be running Splunk Enterprise 6.6 or greater. The Splunk Machine Learning Toolkit does not need to be installed on the indexers to enable this functionality.
Heavy Forwarders Yes No These apps do not contain a data collection component.
Universal Forwarders Yes No These apps do not contain a data collection component.
Light Forwarders Yes No These apps do not contain a data collection component.

Distributed deployment feature compatibility

This table describes the compatibility of the Splunk Machine Learning Toolkit and Python for Scientific Computing add-on with Splunk distributed deployment features.

Distributed deployment feature Supported Actions required
Search Head Clusters Yes Search heads must be running Splunk Enterprise 6.6 or greater.
Indexer Clusters Yes If you want to use the distributed apply feature of the Splunk Machine Learning Toolkit, install Python for Scientific Computing on the indexers in your cluster. This feature is disabled by default. See Use your indexers to apply models for information. Indexers must be running Splunk Enterprise 6.6 or greater. The Splunk Machine Learning Toolkit does not need to be installed on the indexers in your cluster to enable this functionality.

Use your indexers to apply models

If you have more than one Splunk indexer and want to take advantage of the parallel computing power available on your standalone Splunk indexers or Splunk indexing cluster, you can configure your indexers to run the apply command, a CPU-intensive task that applies machine-learning models.

Follow these steps to use your indexers to apply model:

  1. Install the Python for Scientific Computing add-on on all of your indexers.
  2. On each search head in your deployment, open the local mlspl.conf configuration file in a text editor.
    For Unix based systems: $SPLUNK_HOME/etc/apps/Splunk_ML_Toolkit/local/mlspl.conf
    For Windows systems: %SPLUNK_HOME%\etc\apps\Splunk_ML_Toolkit\local\mlspl.conf
    Create the mlspl.conf in the local directory if one does not exist.
  3. Copy the [default] stanza from the default mlspl.conf configuration file to the local version of the configuration file if this stanza is not present.
    Location of default mlspl.conf file on Unix based systems: $SPLUNK_HOME/etc/apps/Splunk_ML_Toolkit/default/mlspl.conf
    Location of default mlspl.conf file on Windows systems: %SPLUNK_HOME%\etc\apps\Splunk_ML_Toolkit\default\mlspl.conf
  4. Change the streaming_apply command to be true as follows: streaming_apply = true


Use the deployment methodology of your choice to make these configuration changes.

Machine Learning Toolkit files

You can view the source code for the Machine Learning Toolkit app in Unix and Windows environments:

  • For Unix-based systems, see $SPLUNK_HOME/etc/apps/Splunk_ML_Toolkit.
  • For Windows systems, see %SPLUNK_HOME%\etc\apps\Splunk_ML_Toolkit.

The MLTK is not open source. MLTK source code is provided as an example and for educational purposes only.

Refer to the following table for subdirectory names and descriptions:

Subdirectory Description
appserver/static and /bin Contains the underlying code files for Python, JavaScript, CSS, and images.
/default Contains configuration and dashboard files.
/lookups Contains the sample datasets used in the Showcase examples, along with more information about the datasets and their licenses.

Bundle replication

Permanent model files, sometimes referred to as learned models or encoded lookups, are saved on disk. These files follow Splunk knowledge object rules, including permissions and bundle replication. Bundle replication is the process by which knowledge objects on the search head are distributed to the indexers.

The Machine Learning Toolkit includes a number of example model files that support the Showcase page. These examples are powered by .csv lookup files. To prevent performance issues, these .csv lookup files are not included in the MLTK bundle replication process.

Last modified on 20 November, 2019
Scoring metrics in the Machine Learning Toolkit   Install the ML-SPL Performance App

This documentation applies to the following versions of Splunk® Machine Learning Toolkit: 4.5.0


Was this topic useful?







You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters