source
Описание
Позволяет получить данные из источников.
Синтаксис
source <source-name> [source-options]
Обязательные аргументы
Параметр | Синтаксис | Описание |
---|---|---|
source-name | <string> | Для источника OpenSearch необходимо просто указать название индекс паттерна, для запроса данных из источников Hadoop или Clickhouse требуется префикс: hdh: или clk: соответственно. В данной ситуации указание размера выборки (qsize ) допускается через : после префикса и названия источника. |
Примеры:
source sysmon_operational-*
source hdh:win_events
source clk:nix_events:1000
Допустим запрос сразу из нескольких источников с помощью их перечисления через запятую. По умолчанию в результате будет объединение данных по алгоритму команды append. Для использования механизмов внутреннего хранилища для объединения результатов см. опциональный аргумент append
.
Пример:
source cisco_asa-*, clk:nix_events:1000
Опциональные аргументы
source-options
- опциональные параметры, задающие дополнительные настройки поиска.
Параметр | Синтаксис | По умолчанию | Описание |
---|---|---|---|
qsize | qsize=<int> | 1000000 , при запросе через web-интерфейс 1000 | Максимальное количество выбираемых данных. |
timefield | timefield=<field> | @timestamp | Имя поля в котором хранится временная метка. |
append | append = <bool> | true | Режим объединения данных при запросе нескольк их источников. При append = true используется алгоритм команды append, при append = false объединение выполняется при помощи внутенних механизмов хранилища. Примечания для append. |
earliest | earliest=<string> | Начальная временная метка поиска. | |
latest | latest=<string> | Конечная временная метка поиска. |
Для earliest
и latest
допустим следующий формат временных параметров: (+|-)<int>(s|m|h|d|w|month) | timestamp | unix-time
:
- s/sec/secs/second/seconds - секунды
- m/min/mins/minute/minutes - минуты
- h/hr/hrs/hour/hours - часы
- d/day/days - дни
- w/week/weeks - недели
- mon/month/months - месяцы
Каждый источник может использовать собственные локальные параметры поиска, которые будут перегружать общие параметры. Для этого сам источник и его парам етры должны быть написаны в скобках. См. Пример 4.
Примечания для append
- Использование параметра
append = false
возможно только при запросе к OpenSearch. - Параметр
append
должен быть глобальным. - При
append = false
учитываются только глобальные параметры поиска.
Временные параметры по умолчанию
Если для источника не указан один или несколько временных параметров, во время сборки запроса для этих параметров будут подставлены значения по умолчанию.
Временные параметры по умолчанию хранятся в _cluster/settings
в блоке sme.core.global_dt_params
.
Предупреждение об установке временных параметров по умолчанию
В случае подстановки временных параметров по умолчанию для каждого источника будет создано отдельное предупреждение, содержащее информацию о том, какие значения были подставлены.
Например, выполнив запрос к индексу sysmon_operational-*
без указания временных полей, ответ будет содержать предупреждение со следующим сообщением:
Default values were set for dtFieldName='@timestamp' from cluster settings, dtStart='now-24h' from cluster settings, dtEnd='now' from cluster settings for index 'sysmon_operational-*'
Приоритет временных параметров
Наивысшим приоритетом обладают локальные параметры для источников, такие как timefield
, earliest
и latest
. Если они не указаны, используются глобальные параметры из поиска, такие как dtFieldName
, dtStart
и dtEnd
. В случае если и глобальный временной параметр не указан, значение временного параметра для источника будет взято из кластерных настроек.
Search Anywhere
конфиговДля определения временного поля при Search Anywhere
запросе действуют особые правила. Наивысшим приоритетом также обладают локальные параметры поиска. Если timefield
для источника не указан явно, то он берется из поля Временное по ле по умолчанию
из Search Anywhere
конфига. Если оно не заполнено, как и в общем случае используется dtFieldName
из запроса или значение из кластерных настроек.
Игнорирование временных параметров
Если при запросе передать параметр dtStart
или dtEnd
со значением равным пустой строке, то эта временная граница будет игнорироваться.
В данном примере будут запрошены все данные до текущего времени.
POST _sme
{
"query": "source sysmon_operational-* | aggs count ",
"dtStart": ""
}
Если передать параметр dtFieldName
равный пустой строке, то временные границы и сортировка по времени будут отключены.
Примеры запросов
Пример 1
source ldap_users-* timefield=event_time
Пример 2
source hdh:nix_events, ldap_computers-* qsize=1000 earliest=-2d latest=1649344240
Пример 3
В данном примере объединение данных выполняется при помощи OpenSearch
source sysmon_operational-*, zabbix-* qsize = 150 append = false
Пример 4
В данном примере при запросе данных из индекса server_warnings
используются локальные параметры, поэтому qsize
и временные границы будут отличаться от запроса к winevent
и zabbix
. Параметр timefield
не указан в локальных параметрах, поэтому для запроса к server_warnings
будет использоваться значение из глобальных параметров.
source (server_warnings:10 earliest="now-10m" latest="now-5m"),
winevent, zabbix timefield=@timestamp earliest="now-1d" latest="now" qsize = 100