You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
314 lines
13 KiB
314 lines
13 KiB
5 months ago
|
# Version 9.2.2.20240415
|
||
|
############################################################################
|
||
|
# OVERVIEW
|
||
|
############################################################################
|
||
|
# This file contains descriptions for the setting/value pairs that you can
|
||
|
# use for creating search commands for custom search scripts.
|
||
|
#
|
||
|
# If you add your custom search script to the $SPLUNK_HOME/etc/apps/MY_APP/bin/
|
||
|
# path, put a custom commands.conf file in the
|
||
|
# $SPLUNK_HOME/etc/apps/MY_APP/default/ directory.
|
||
|
#
|
||
|
# There is a commands.conf in $SPLUNK_HOME/etc/system/default/.
|
||
|
# Never change or copy the configuration files in the default directory.
|
||
|
# The files in the default directory must remain intact and in their original
|
||
|
# location.
|
||
|
#
|
||
|
# To set custom configurations, create a new file with the name commands.conf in
|
||
|
# the $SPLUNK_HOME/etc/system/local/ directory. Then add the specific settings
|
||
|
# that you want to customize to the local configuration file.
|
||
|
# For examples, see commands.conf.example. You must restart the Splunk platform
|
||
|
# to enable configurations.
|
||
|
#
|
||
|
# To learn more about configuration files (including file precedence) see the
|
||
|
# documentation located at
|
||
|
# http://docs.splunk.com/Documentation/Splunk/latest/Admin/Aboutconfigurationfiles
|
||
|
#
|
||
|
############################################################################
|
||
|
# GLOBAL SETTINGS
|
||
|
############################################################################
|
||
|
# Use the [default] stanza to define any global settings.
|
||
|
# * You can also define global settings outside of any stanza, at the top of
|
||
|
# the file.
|
||
|
# * Each conf file should have at most one default stanza. If there are
|
||
|
# multiple default stanzas, settings are combined. In the case of
|
||
|
# multiple definitions of the same setting, the last definition in the
|
||
|
# file wins.
|
||
|
# * If a setting is defined at both the global level and in a specific
|
||
|
# stanza, the value in the specific stanza takes precedence.
|
||
|
|
||
|
[<STANZA_NAME>]
|
||
|
* Each stanza represents a search command. The command name is the stanza name.
|
||
|
* The stanza name invokes the command in the search language.
|
||
|
* Specify the following settings/values for the command. Otherwise, the
|
||
|
default values are used.
|
||
|
* If the 'filename' setting is not specified, an external program is searched for
|
||
|
by appending extensions (e.g. ".py", ".pl") to the stanza name.
|
||
|
* If the `chunked` setting is set to "true", in addition to the extensions ".py"
|
||
|
and ".pl" as above, the extensions ".exe", ".bat", ".cmd", ".sh", ".js", as
|
||
|
well as no extension (to find binaries without extensions), are searched for.
|
||
|
* See the 'filename' setting for more information about how external programs
|
||
|
are searched for.
|
||
|
|
||
|
type = <string>
|
||
|
* The type of script. Valid values are python and perl.
|
||
|
* Default: python
|
||
|
|
||
|
python.version = {default|python|python2|python3|python3.7|python3.9|latest}
|
||
|
* For Python scripts only, specifies which Python version to use.
|
||
|
* Set to either "default" or "python" to use the system-wide default Python
|
||
|
version.
|
||
|
* Set to "python3" or "python3.7" to use the Python 3.7 version.
|
||
|
* Set to "python3.9" to use the Python 3.9 version.
|
||
|
* In the context of configuring apps, the "latest" value is not currently
|
||
|
supported. It is related to a feature that is still under development.
|
||
|
* Optional.
|
||
|
* Default: Not set; uses the system-wide Python version.
|
||
|
|
||
|
filename = <string>
|
||
|
* Optionally specify the program to run when the custom search command is used.
|
||
|
* The 'filename' is looked for in the `bin` directory for the app.
|
||
|
* The 'filename' setting cannot reference any file outside of the `bin` directory
|
||
|
for the app.
|
||
|
* If the 'filename' ends in ".py", the python interpreter is used
|
||
|
to invoke the external script.
|
||
|
* If the 'chunked' setting is set to "true", the 'filename' is looked for first in the
|
||
|
$SPLUNK_HOME/etc/apps/MY_APP/<PLATFORM>/bin directory before searching the
|
||
|
$SPLUNK_HOME/etc/apps/MY_APP/bin directory. The <PLATFORM> is one of the following:
|
||
|
"linux_x86_64"
|
||
|
"linux_x86"
|
||
|
"windows_x86_64"
|
||
|
"windows_x86"
|
||
|
"darwin_x86_64"
|
||
|
Depending on the platform that the Splunk software is running on.
|
||
|
* If the 'chunked' setting is set to "true" and if a path pointer file (*.path)
|
||
|
is specified, the contents of the path pointer file are read and the result is
|
||
|
used as the command to run. Environment variables in the path pointer
|
||
|
file are substituted. You can use path pointer files to reference
|
||
|
system binaries. For example: /usr/bin/python.
|
||
|
|
||
|
command.arg.<N> = <string>
|
||
|
* Additional command-line arguments to use when invoking this
|
||
|
program. Environment variables, such as $SPLUNK_HOME, are substituted.
|
||
|
* Only available if the `chunked` setting is "true".
|
||
|
|
||
|
local = <boolean>
|
||
|
* If set to "true", specifies that the command should be run on the search head only.
|
||
|
* Default: false
|
||
|
|
||
|
perf_warn_limit = <integer>
|
||
|
* Issue a performance warning message if more than the value specified for input events are
|
||
|
passed to this external command (0 = never)
|
||
|
* Default: 0 (disabled)
|
||
|
|
||
|
streaming = <boolean>
|
||
|
* Whether or not the command is streamable.
|
||
|
* Default: false
|
||
|
|
||
|
maxinputs = <integer>
|
||
|
* The maximum number of events that can be passed to the command for each
|
||
|
invocation.
|
||
|
* This limit cannot exceed the value of the 'maxresultrows' setting in limits.conf file.
|
||
|
* Specify 0 for no limit.
|
||
|
* Default: 50000
|
||
|
|
||
|
passauth = <boolean>
|
||
|
* Whether or not the Splunk platform passes authentication-related facts
|
||
|
at the start of input, as part of the header.
|
||
|
* See the 'enableheader' setting for additional information on headers.
|
||
|
* If set to "true", splunkd passes several authentication-related facts
|
||
|
at the start of input, as part of the header.
|
||
|
* The Splunk platform passes the following headers:
|
||
|
* authString: A pseudo-xml string that resembles
|
||
|
<auth><userId>username</userId><username>username</username><authToken>auth_token</authToken></auth>
|
||
|
where the username is passed twice, and the authToken can be used
|
||
|
to contact splunkd during the script run.
|
||
|
* sessionKey: the session key again
|
||
|
* owner: the user portion of the search context
|
||
|
* namespace: the app portion of the search context
|
||
|
* Requires "enableheader = true". If "enableheader = false", the Splunk platform
|
||
|
also treats this setting as "false".
|
||
|
* If "chunked = true", the Splunk platform ignores this setting. It always passes
|
||
|
an authentication token to commands using the chunked custom search
|
||
|
command protocol.
|
||
|
* Default: false
|
||
|
|
||
|
run_in_preview = <boolean>
|
||
|
* Determines whether to run a custom search command when it is generating
|
||
|
results just for preview rather than for final output.
|
||
|
* A setting of 'false' means that the custom search command does not run during
|
||
|
preview.
|
||
|
* This setting defaults to 'false' for commands that use 'chunked=true'. Custom
|
||
|
search commands that run with 'chunked=true' can have performance issues when
|
||
|
they also run in preview.
|
||
|
* There is no global default for this setting that would apply to all search
|
||
|
commands.
|
||
|
* If you have a custom search command that must deviate from the default
|
||
|
behavior described here, set this setting for that command.
|
||
|
* Default: 'false' when 'chunked=true', 'true' otherwise.
|
||
|
|
||
|
enableheader = <boolean>
|
||
|
* Whether or not your script expects header information.
|
||
|
* If set to "true" it will expect as input a head section + '\n' then the CSV input.
|
||
|
* NOTE: Should be set to "true" if you use splunk.Intersplunk
|
||
|
* Default: true
|
||
|
|
||
|
retainsevents = <boolean>
|
||
|
* Whether or not the command retains events, the way that the sort/dedup/cluster
|
||
|
commands do, or whether the command transforms events, the way that the stats
|
||
|
command does.
|
||
|
* Default: false
|
||
|
|
||
|
generating = <boolean>
|
||
|
* Whether or not your command generates new events. If no events are passed to
|
||
|
the command, will it generate events?
|
||
|
* Default: false
|
||
|
|
||
|
generates_timeorder = <boolean>
|
||
|
* If "generating = true", does the command generate events in descending time order,
|
||
|
with the latest event first.
|
||
|
* Default: false
|
||
|
|
||
|
overrides_timeorder = <boolean>
|
||
|
* If "generating = false" and "streaming = true", does the command change the order of
|
||
|
events with respect to time?
|
||
|
* Default: false
|
||
|
|
||
|
requires_preop = <boolean>
|
||
|
* Whether or not the command sequence specified by the 'streaming_preop' setting
|
||
|
is required for proper execution or is it an optimization only.
|
||
|
* Default: false (streaming_preop not required)
|
||
|
|
||
|
streaming_preop = <string>
|
||
|
* A string that denotes the requested pre-streaming search string.
|
||
|
|
||
|
required_fields = <string>
|
||
|
* A comma-separated list of fields that this command can use.
|
||
|
* Informs previous commands that they should retain/extract these fields if
|
||
|
possible. No error is generated if a field specified is missing.
|
||
|
The default is all fields.
|
||
|
* Default: '*'
|
||
|
|
||
|
supports_multivalues = <boolean>
|
||
|
* Whether or not the command supports multiple values.
|
||
|
* If set to "true", multivalues are treated as python lists of strings, instead of a
|
||
|
flat string (when using Intersplunk to interpret stdin/stdout).
|
||
|
* If the list only contains one element, the value of that element is
|
||
|
returned, rather than a list. For example:
|
||
|
isinstance(val, basestring) == True
|
||
|
|
||
|
supports_getinfo = <boolean>
|
||
|
* Whether or not the command supports dynamic probing for settings
|
||
|
(first argument invoked == __GETINFO__ or __EXECUTE__).
|
||
|
|
||
|
supports_rawargs = <boolean>
|
||
|
* If set to "true", specifies that the command supports raw arguments being passed to it.
|
||
|
* If set to "false", specifies that the command prefers parsed arguments,
|
||
|
where quotes are stripped.
|
||
|
* Default: false
|
||
|
|
||
|
undo_scheduler_escaping = <boolean>
|
||
|
* Whether or not or not the raw arguments of a command should have any
|
||
|
previously-applied escaping removed.
|
||
|
* This setting applies in particular to commands that the scheduler invokes,
|
||
|
and only if the commands support raw arguments, where the 'supports_rawargs'
|
||
|
setting for the command is "true".
|
||
|
* Default: false
|
||
|
|
||
|
requires_srinfo = <boolean>
|
||
|
* Specifies if the command requires information stored in SearchResultsInfo.
|
||
|
* If set to "true", requires that 'enableheader' is set to "true", and the full
|
||
|
pathname of the info file (a csv file) will be emitted in the header under
|
||
|
the key 'infoPath'.
|
||
|
* Default: false
|
||
|
|
||
|
needs_empty_results = <boolean>
|
||
|
* Whether or not this custom search command needs to be called with
|
||
|
intermediate empty search results.
|
||
|
* Default: true
|
||
|
|
||
|
changes_colorder = <boolean>
|
||
|
* Whether or not the script output should be used to change the column
|
||
|
ordering of the fields.
|
||
|
* Default: true
|
||
|
|
||
|
outputheader = <boolean>
|
||
|
* If set to "true", output of script should be a header section + blank
|
||
|
line + csv output.
|
||
|
* If set to "false", the script output should be pure comma separated values only.
|
||
|
* Default: false
|
||
|
|
||
|
clear_required_fields = <boolean>
|
||
|
* If set to "true", 'required_fields' represents the *only* fields required.
|
||
|
* If set to "false", 'required_fields' are additive to any fields that might be
|
||
|
required by subsequent commands.
|
||
|
* In most cases, "false" is appropriate for streaming commands and "true" for
|
||
|
transforming commands.
|
||
|
* Default: false
|
||
|
|
||
|
stderr_dest = [log|message|none]
|
||
|
* Specifies what do to with the stderr output from the script.
|
||
|
* 'log' means to write the output to the job search.log file.
|
||
|
* 'message' means to write each line as a search info message. The message
|
||
|
level can be set to adding that level (in ALL CAPS) to the start of the
|
||
|
line.For example, "WARN my warning message."
|
||
|
* 'none' means to discard the stderr output.
|
||
|
* Default: log
|
||
|
|
||
|
is_order_sensitive = <boolean>
|
||
|
* Set to "true" if the command requires the input to be in order.
|
||
|
* Default: false
|
||
|
|
||
|
is_risky = <boolean>
|
||
|
* Searches using Splunk Web are flagged to warn users when they
|
||
|
unknowingly run a search that contains commands that might be a
|
||
|
security risk. This warning appears when users click a link or type
|
||
|
a URL that loads a search that contains risky commands. This warning
|
||
|
does not appear when users create ad hoc searches.
|
||
|
* This flag is used to determine whether the command is risky.
|
||
|
* NOTE: Specific commands that ship with the product have their own
|
||
|
default setting for 'is_risky'.
|
||
|
* Default: false
|
||
|
|
||
|
chunked = <boolean>
|
||
|
* Whether or not the search command supports the new "chunked" custom search
|
||
|
command protocol.
|
||
|
* If set to "true", this command supports the new "chunked" custom
|
||
|
search command protocol, and only the following commands.conf settings are valid:
|
||
|
* 'is_risky'
|
||
|
* 'maxwait'
|
||
|
* 'maxchunksize'
|
||
|
* 'filename'
|
||
|
* 'command.arg.<N>'
|
||
|
* 'python.version', and
|
||
|
* 'run_in_preview'.
|
||
|
* If set to "false", this command uses the legacy custom search command
|
||
|
protocol supported by Intersplunk.py.
|
||
|
* Default: false
|
||
|
|
||
|
pass_timezone = <boolean>
|
||
|
* Specify whether or not splunkd passes the serialized timezone information
|
||
|
of the user to the script as part of the header. The serialized timezone
|
||
|
information can be used to convert time to match the user's timezone.
|
||
|
* If set to "true", when an alert action generates a PDF file, the user's
|
||
|
timezone is used when rendering the charts in the PDF.
|
||
|
* Valid only when 'enableheader' is set to "true". If 'enableheader' is set to "false",
|
||
|
'pass_timezone' is set "false" as well.
|
||
|
* Default: false
|
||
|
|
||
|
maxwait = <integer>
|
||
|
* The maximum amount of time, in seconds, that the custom search command can
|
||
|
pause before producing output.
|
||
|
* Only available if "chunked = true".
|
||
|
* Not supported on Windows.
|
||
|
* If set to "0", the command can pause forever.
|
||
|
* Default: 0
|
||
|
|
||
|
maxchunksize = <integer>
|
||
|
* The maximum chunk size, including the size of metadata plus the size of body,
|
||
|
that the external command can produce. If the command
|
||
|
tries to produce a larger chunk, the command is terminated.
|
||
|
* Only available if "chunked = true".
|
||
|
* If set to "0", the command can send any size chunk.
|
||
|
* Default: 0
|