Splunk® Enterprise

Search Reference

Splunk Enterprise version 8.2 is no longer supported as of September 30, 2023. See the Splunk Software Support Policy for details. For information about upgrading to a supported version, see How to upgrade Splunk Enterprise.
This documentation does not apply to the most recent version of Splunk® Enterprise. For documentation on the most recent version, go to the latest release.

rest

Description

The rest command reads a Splunk REST API endpoint and returns the resource data as a search result.

For information about the REST API, see the REST API User Manual. For information about Splunk REST API endpoints, see the REST API Reference Manual.

Syntax

The required syntax is in bold.

| rest <rest-uri>
[count=<int>]
[strict=<bool>]
[splunk_server=<wc-string>]
[splunk_server_group=<wc-string>]...
[timeout=<int>]
[<get-arg-name>=<get-arg-value>]...

Required arguments

rest-uri
Syntax: <uri>
Description: URI path to the Splunk REST API endpoint.

Optional arguments

count
Syntax: count=<int>
Description: Limits the number of results returned from each REST call. For example, you have four indexers and one search head. You set the limit to count=25000. This results in a total limit of 125000, which is 25000 x 5.
When count=0, there is no limit.
Default: 0
get-arg-name
Syntax: <string>
Description: REST argument name for the REST endpoint. See the Splunk Cloud Platform REST API Reference Manual.
get-arg-value
Syntax: <string>
Description: REST argument value for the REST endpoint. See the Splunk Cloud Platform REST API Reference Manual.
splunk_server
Syntax: splunk_server=<wc-string>
Description: Specifies the distributed search peer from which to return results. You can specify only one splunk_server argument, However, you can use a wildcard character when you specify the server name to indicate multiple servers. For example, you can specify splunk_server=peer01 or splunk_server=peer*. Use local to refer to the search head.
Default: All configured search peers return information
splunk_server_group
Syntax: splunk_server_group=<wc-string>...
Description: Limits the results to one or more server groups. You can specify a wildcard character in the string to indicate multiple server groups.
strict
Syntax: strict=<bool>
Description: When set to true this argument forces the search to fail completely if rest raises an error. This happens even when the errors apply to a subsearch. When set to false, many rest error conditions return warning messages but do not otherwise cause the search to fail. Certain error conditions cause the search to fail even when strict=false.
Default: false
timeout
Syntax: timeout=<int>
Description: Specify the timeout, in seconds, to wait for the REST endpoint to respond. Specify timeout=0 to indicate no limit on the time to wait for the REST endpoint to respond.
Default: 60

Usage

The rest command authenticates using the ID of the person that runs the command.

Strict error handling

Use the strict argument to make rest searches fail whenever they encounter an error condition. You can set this at the system level for all rest searches by changing restprocessor_errors_fatal in limits.conf.

If you use Splunk Cloud Platform, file a Support ticket to change the restprocessor_errors_fatal setting.

Use the strict argument to override the restprocessor_errors_fatal setting for a rest search.

Examples

1. Access saved search jobs

| rest /services/search/jobs count=0 splunk_server=local | search isSaved=1

2. Find all saved searches with searches that include a specific sourcetype

Find all saved searches with search strings that include the speccsv sourcetype.

| rest /services/saved/searches splunk_server=local | rename search AS saved_search | fields author, title, saved_search | search saved_search=*speccsv*

3. Showing events only associated with the current user

To create reports that only show events associated with the logged in user, you can add the current search user to all events.

* | head 10 | join [ | rest splunk_server=local /services/authentication/current-context | rename username as auth_user_id | fields auth_user_id ]

4. Use the GET method pagination and filtering parameters

Most GET methods support a set of pagination and filtering parameters.

To determine if an endpoint supports these parameters, find the endpoint in the Splunk Cloud Platform REST API Reference Manual. Click Expand on the GET method and look for a link to the Pagination and filtering parameters topic. For more information about the Pagination and filtering parameters, see the Request and response details in the Splunk Cloud Platform REST API Reference manual.

The following example uses the search parameter for the saved/searches endpoint to identify if a search is scheduled and disabled. The search looks for scheduled searches on Splunk servers that match the Monitoring Console role of "search heads".

| rest /servicesNS/-/-/saved/searches splunk_server_group=dmc_group_search_head timeout=0 search="is_scheduled=1" search="disabled=0"

Here is an explanation for each part of this search:

Description Part of the search
The name of the REST call.
|rest /servicesNS/-/-/saved/searches
Look only at Splunk servers that match the Monitoring Console role of "search heads".
splunk_server_group=dmc_group_search_head 
Don't time out waiting for the REST call to finish.
timeout=0
Look only for scheduled searches.
search="is_scheduled=1"
Look only for active searches (not disabled).
search="disabled=0"

5. Return a table of results with custom endpoints

When you create a custom endpoint, you can format the response to return a table of results. The following example shows a custom endpoint:

| rest /servicesNS/-/myapp/myapp/endpoint

Here's an example of the response you can use to return a table of results:

{
        "links": {},
        "entry": [
                {"content": {"name": "world", "fish": "salmon"}},
                {"content": {"name": "muu", "fish": "whale"}}
            ]
    }
Last modified on 21 March, 2023
require   return

This documentation applies to the following versions of Splunk® Enterprise: 8.0.7, 8.0.8, 8.0.9, 8.0.10, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.1.7, 8.1.8, 8.1.9, 8.1.10, 8.1.11, 8.1.12, 8.1.13, 8.1.14, 8.2.0, 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6, 8.2.7, 8.2.8, 8.2.9, 8.2.10, 8.2.11, 8.2.12


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