# 同步搜索API

该API允许您对EventLog Analyzer执行搜索。

使用同步搜索方法执行搜索时，您的查询将被发送到EventLog Analyzer服务器，在返回结果之前，服务器会获取所有结果。该过程所需的时间取决于所获得的搜索结果数量。

以下是执行同步搜索查询所涉及的步骤：

- 使用一组相关的元数据创建搜索请求。
- 服务器在请求线程上执行请求并以结果响应。
- 当存在更多结果时，服务器会使用光标（cursor）响应。
- 您可以继续使用下一个光标请求下一个结果集。这需要一直进行，直到消耗所有搜索命中并且服务器没有返回光标为止。
- EventLog Analyzer的光标在未使用时保持有效状态五分钟。

#### 请求URL

#### 请求头

Header名称 | 值 | 必需的 | 描述
授权 | Bearer {{AuthToken}} | 是 | 从API设置页面生成的AuthToken。 例如： Bearer mdrkoda0odmtmznloc00ndziltg0mgutmwzkztljmjvmzwmx

#### 请求参数

请求需要使用JSON格式发送到请求体中，应包含以下键/值参数：

参数名 | 默认值 | 必填 | Type | 描述
query | * | 否 | String | 要搜索的起始值
hosts | all | 否 | JSONArray | 要搜索的主机列表
groups | all | 否 | JSONArray | 要搜索的设备组列表
from | 当前时间-24小时 | 否 | Long | 搜索的开始时间（Unix毫秒）
to | 当前时间 | 否 | Long | 搜索的结束时间（Unix毫秒）
cursor | - | 否 | String | 下一个查询的游标

注意:

1. 传递游标时，其他参数不需要。
2. 查询字符串中的引号（" "）需要进行转义。例如，如果在EventLog Analyzer的搜索页面中查询为REMOTE_INTERFACE =“switch 1”，则在Rest Api中查询参数应编写为“REMOTE_INTERFACE = \”switch 1\“”

响应：

响应将是一个JSON对象，其中包含以下键/值对：

参数名 | 描述
hits | 包含请求的搜索命中结果的JSON对象 包含以下字段 hits: 搜索命中的列表 hits_count_in_current_page: 当前搜索响应中的命中数

#### cURL示例用法

#### i) 带查询的搜索请求

#### 示例请求

复制到剪贴板

curl --location --request POST 'http://localhost:8400/RestAPI/v1/search' \ -H "Accept: application/json" -H "Authorization: Bearer mdrkoda0odmtmznloc00ndziltg0mgutmwzkztljmjvmzwmx " --data-raw '{ "query": "EVENTID = 16384 AND USERNAME = mhtoc", "hosts": [1, 2, 601], "groups": [3], "from": 1643480792000, "to": 1643480479500 }'

#### 示例响应：

复制到剪贴板

{ "cursor": "DnF1ZXJ5VGhlbkZldGNoFwAAAAAAAARoFlloajVvRlN5UlQ2RGVTWlhPS2V1WHcAA", "hits": { "hits": [{ "COMMON_SEVERITY": "INFORMATION", "IS_THROWAWAY": true, "HOSTNAME": "lix", "APPID": 2, "FORMATID": 302, "RAWLOG": "roy.sulivan /event/emberAPI/ELANotificationActions \"https://eventlog.loin64; x64; rv:71.0) Gecko/20100101 Firefox/71.0\"", "TIME": "1643531422443", "IMPORTED_TIME": 1643531420365, "HOSTID": 601, "IPAddress2": "10.128.156.152" }, { "COMMON_SEVERITY": "INFORMATION", "IS_THROWAWAY": true, "HOSTNAME": "lix", "APPID": 2, "FORMATID": 302, "RAWLOG": "roy.sulivan /event/emberAPI/ELANotificationActions \"https://eventlog.l 15 142 200 \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0\"", "TIME": "1643531422446", "IPAddress1": "10.128.156.152", "HOSTID": 601, "IPAddress2": "10.128.156.152" }], "hits_count_in_current_page": 3 } }

#### ii）带游标的搜索请求

#### 示例请求

复制到剪贴板

curl --location --request POST 'http://localhost:8400/RestAPI/v1/search' \ -H "Accept: application/json" -H "Authorization: Bearer mdrkoda0odmtmznloc00ndziltg0mgutmwzkztljmjvmzwmx " --data-raw '{ "cursor": "DnF1ZXJ5VGhlbkZldGNoFwAAAAAAAARoFlloajVvRlN5UlQ2RGVTWlhPS2V1WHcAA" }'

#### 示例响应：

复制到剪贴板

{ "hits": { "hits": [{ "COMMON_SEVERITY": "INFORMATION", "IS_THROWAWAY": true, "HOSTNAME": "lix", "APPID": 2, "FORMATID": 302, "RAWLOG": "roy.sulivan /event/emberAPI/ELANotificationActions \"https://eventlog.loin64; x64; rv:71.0) Gecko/20100101 Firefox/71.0\"", "TIME": "1643531422443", "IMPORTED_TIME": 1643531420365, "HOSTID": 601, "IPAddress2": "10.128.156.152" }, { "COMMON_SEVERITY": "INFORMATION", "IS_THROWAWAY": true, "HOSTNAME": "lix", "APPID": 2, "FORMATID": 302, "RAWLOG": "roy.sulivan /event/emberAPI/ELANotificationActions \"https://eventlog.l 15 142 200 \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0\"", "TIME": "1643531422446", "IPAddress1": "10.128.156.152", "HOSTID": 601, "IPAddress2": "10.128.156.152" }], "hits_count_in_current_page": 3 } }

#### iii) 搜索查询无效

#### 示例请求

复制到剪贴板

curl --location --request POST 'http://localhost:8400/RestAPI/v1/search' \ -H "Accept: application/json" -H "Authorization: Bearer mdrkoda0odmtmznloc00ndziltg0mgutmwzkztljmjvmzwmx " --data-raw '{ "query": "EVENTID := 16384 AND USERNAME <> mhtoc", "hosts": [1, 2, 601], "groups": [3], "from": 1643480792000, "to": 1643480479500 }'

#### 示例响应

复制到剪贴板

{ "ERROR": "SR007", "ERROR_DESCRIPTION": "查询无效", "ERRORS" : { "context": "构建查询失败", "cause": { "reason": "在第1行第159列遇到 \" \":\" \": \"\"。\r\n期望之一:\r\n ...\r\n \"+\" ...\r\n \"-\" ...\r\n ...\r\n \"(\" ...\r\n \"*\" ...\r\n ...\r\n ...\r\n ...\r\n ...\r\n ...\r\n \"[\" ...\r\n \"{\" ...\r\n ...\r\n ...\r\n ", "type": "ParseException" } } }

#### 使用Postman（第三方工具）的示例用法

#### i）使用查询的搜索请求

#### ii）使用游标的搜索请求

#### iii）无效的查询

## 本页内容

- 生成AuthToken的步骤
- 使用元数据通过端点执行搜索
- 同步搜索
- 异步搜索

Copyright © 2023，ZOHO Corp。版权所有。
ManageEngine