Skip to main content
Version: 1.3.0

elasticquery

The command elasticquery queries time-series data in Elasticsearch with a DSL or ES|QL query saved in ElasticSPL. elasticquery allows the usage of complex and long queries without having huge search statements. Furthermore, the usage of saved queries allows sharing of queries with other users and allows for access restrictions.

Arguments

argumentrequiredformatdescription
instanceyesstringelastic instance used by the query
search_nameyesstringname of the saved query
timestamp_fieldnostringfield in Elasticsearch results containing the events timestamp
timestamp_usednobooleandefines if the time given in the Splunk Search is used for the query
replacementsnostringkv-pairs used to replace tokens in query
max_resultsnointthe maximal count of events fetched from Elasticsearch, defaults to unlimited. scroll_size if max_results < scroll_size
scroll_sizenointscroll size used for fetching data from Elasticsearch, can be adapted if facing performance problems
modenostring"dsl", "lucene" or "esql", defaults to "ts"

A saved DSL query defines default values for timestamp_field, timestamp_used, timestamp_format, and replacements`. As long as the user does not provide the argument, the value stored with the query is used. In case of replacements, the KV-pairs are merged. The user-provided input takes precedence if there is a definition for a key in the user's input and the saved arguments.

Examples

Query index kibana_sample_data_logs with default values

Default FieldDefault Value
timestamp_fieldtimestamp
timestamp_usedfalse
replacements

Query index kibana_sample_data_logs with timestamp_used="True"

Default FieldDefault Value
timestamp_fieldtimestamp
timestamp_usedfalse
replacements

Query index kibana_sample_data_logs with defined replacements to select a specific IP address

Default FieldDefault Value
timestamp_fieldtimestamp
timestamp_usedfalse
replacements

Query index kibana_sample_data_logs with defined replacements to select a specific IP address and timestamp_used="True"

Default FieldDefault Value
timestamp_fieldtimestamp
timestamp_usedfalse
replacements

Query index kibana_sample_data_logs conflicting replacements

Default FieldDefault Value
timestamp_fieldtimestamp
timestamp_usedfalse
replacements$ip$=199.233.207.139

Permissions

All users with the role elastic_user can run the elasticquery command. The command itself does not grant any access to the data. The access to the data is controlled by the saved query. The saved query has an access control list that defines which users are allowed to run the query. The access control list is managed in the configuration dashboard of ElasticSPL.