generate_itsi_module_contents.py

This script generates a module with related objects using information from existing ITSI services, KPIs, base searches, and so forth. Restart Splunk Enterprise after running this script to update the ITSI UI with these module objects. Each repeated item produces a separate stanza in the corresponding configuration file.

CLI usage

OptionRequired?Repeatable?DefaultDescription
--server servernameThe Splunk server name.
--user usernameThe Splunk user name.
--password passwordThe Splunk password.
--scheme http|httpshttpsThe scheme for the splunkd management port.
--port port8089The splunkd management port.
--module-name modulenameThe name of the module package. This name cannot contain spaces.
This option generates a new package directory under $SPLUNK_HOME/etc/apps/DA-ITSI-modulename.
For example, "--module-name 'OS-Host'" creates a package called DA-ITSI-OS-Host.
--service-title servicetitleThe ITSI service title (the name as it appears in the ITSI UI). All KPIs in this service are assigned to the "recommended_kpis" setting of the itsi_service_template.conf configuration file.
--entity-search-mod-input stanzanameThe stanza name of the ITSI entity search modular input (the name as it appears in the Splunk Web UI, under Settings > Data inputs > IT Service Intelligence CSV Import).
--datamodel-name datamodelnameThe name of the data model (the name as it appears in the Splunk Web UI under Settings > Data models).
--overwrite-existing-contentsOverwrites an existing package.

All KPIs are placed into a single KPI template in the itsi_service_template.conf configuration file with following stanza info:

[DA-ITSI-<module-name>-<service title, with whitespace removed>_KPIs]
title = <service title> KPIs
description = KPIs for <service title>
kpis = <JSON blob of all the KPIs in the service>

 

CLI example

At the command line, navigate to the $SPLUNK_HOME directory and enter the following command:

./bin/splunk cmd python etc/apps/SA-ITOA/bin/itsi_module_cli/generate_itsi_module_contents.py --server localhost --user admin --password changeme --module-name SomeModule --service-title 'Service 1' --service-title 'Service 2' --entity-search-mod-input 'Entity search 1' --entity-search-mod-input 'Entity search 2' --datamodel-name 'Data model 1'