Forwarder Management API
您可以使用 Google Security Operations Forwarder Management API 以编程方式执行以下操作:
- 创建和管理转发器。
- 创建和管理收集器。
- 获取 Google SecOps 转发器的配置 (
.conf
) 和身份验证 (_auth.conf
) 文件的文件内容。
转发器由一个或多个收集器组成。每个收集器的配置都会指定其提取机制(例如文件、Kafka、PCAP、Splunk 或 Syslog)和日志类型。
假设满足硬件要求,您可以在同一转发器上使用多个收集器,以从各种机制和日志类型注入数据。例如,您可以安装一个转发器,并在两个 syslog 收集器上分别监听 PAN_FIREWALL 和 CISCO_ASA_FIREWALL 数据。
借助此 API,您可以在 Google SecOps 实例中创建转发器及其收集器。创建转发器后,您可以使用“Generate Forwarder Files”(生成转发器文件)端点获取转发器的配置 (.conf
) 和身份验证 (_auth.conf
) 文件的文件内容(作为 JSON 载荷)。然后,这些内容可以写入各自的 .conf
文件,以便在 Windows 或 Linux 系统上通过 Google SecOps 转发器服务进行部署。
如需查看使用 Forwarder Management API 的 Python 示例,请参阅 GitHub 代码库。
创建转发器及其收集器
必须先创建转发器,然后才能创建其任何收集器。
如需创建转发器及其收集器,请执行以下操作:
使用 Chronicle API 进行身份验证
本文档介绍了 Chronicle API 如何使用 OAuth 2.0 协议进行身份验证和授权。您的应用可以使用以下方法之一来处理此问题:
使用适用于您的编程语言的 Chronicle API 客户端库。
使用 HTTP 直接与 OAuth 2.0 系统交互。
请参阅 Python 版 Google 身份验证库的参考文档。
Google Authentication 库是 Chronicle API 客户端库的一部分。请参阅其他语言实现。
获取 API 身份验证凭据
您的 Google 安全运营代表会为您提供 Google 开发者服务账号凭据,以便 API 客户端与 API 通信。
您还必须在初始化 API 客户端时提供 Auth Scope。OAuth 2.0 使用范围来限制应用对账号的访问权限。当应用请求某个范围时,向应用发出的访问令牌仅限于所授予的范围。
使用以下作用域初始化 Chronicle API 客户端:
https://www.googleapis.com/auth/chronicle-backstory
Python 示例
以下 Python 示例演示了如何使用 google.oauth2
和 googleapiclient
使用 OAuth2 凭据和 HTTP 客户端。
# Imports required for the sample - Google Auth and API Client Library Imports.
# Get these packages from https://pypi.org/project/google-api-python-client/ or run $ pip
# install google-api-python-client from your terminal
from google.auth.transport import requests
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/chronicle-backstory']
# The apikeys-demo.json file contains the customer's OAuth 2 credentials.
# SERVICE_ACCOUNT_FILE is the full path to the apikeys-demo.json file
# ToDo: Replace this with the full path to your OAuth2 credentials
SERVICE_ACCOUNT_FILE = '/customer-keys/apikeys-demo.json'
# Create a credential using the Google Developer Service Account Credential and Chronicle API
# Scope.
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
# Build a requests Session Object to make authorized OAuth requests.
http_session = requests.AuthorizedSession(credentials)
# Your endpoint GET|POST|PATCH|etc. code will vary below
# Reference List example (for US region)
url = 'https://backstory.googleapis.com/v2/lists/COLDRIVER_SHA256'
# You might need another regional endpoint for your API call; see
# https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints
# requests GET example
response = http_session.request("GET", url)
# POST example uses json
body = {
"foo": "bar"
}
response = http_session.request("POST", url, json=body)
# PATCH example uses params and json
params = {
"foo": "bar"
}
response = http_session.request("PATCH", url, params=params, json=body)
# For more complete examples, see:
# https://github.com/chronicle/api-samples-python/
Chronicle API 查询限制
Chronicle API 会对任何一个客户可以向 Google SecOps 平台发出的请求量施加限制。如果您达到或超出查询限制,Chronicle API 服务器会向调用方返回 HTTP 429 (RESOURCE_EXHAUSTED)。在为 Chronicle API 开发应用时,Google 建议您在系统中强制执行速率限制,以避免资源耗尽。这些限制适用于所有 Chronicle API,包括搜索 API、转发器管理 API 和工具 API。
请参阅 Chronicle API 配额的详细列表。
我们将强制执行以下针对 Chronicle Forwarder Management API 的限制,该限制以每秒查询次数 (QPS) 为单位:
Chronicle API | API 端点 | 限制 |
转发器管理 | 创建转发器 | 1 QPS |
获取转发器 | 1 QPS | |
列出转发器 | 1 QPS | |
更新转发器 | 1 QPS | |
删除转发器 | 1 QPS | |
收集器管理 | 创建收集器 | 1 QPS |
获取收集器 | 1 QPS | |
列出收集器 | 1 QPS | |
更新收集器 | 1 QPS | |
删除收集器 | 1 QPS |
Forwarder API 参考文档
本部分介绍了用于创建和管理转发器的端点。如需了解用于创建和管理收集器的端点,请参阅 Collector API 参考文档。
创建转发器
在 Google SecOps 实例中创建新的转发器。新的转发器将包含请求正文中提供的所有转发器配置值。使用 Create Forwarder 后,必须使用 Create Collector 指定 collector 的配置值。
对于某些设置,如果请求正文中缺少配置值或配置值为零,则会将其设置为默认值。如需详细了解转发器字段和值,请参阅转发器配置字段。
请求
POST https://backstory.googleapis.com/v2/forwarders
请求正文
{
"display_name": string,
"config": {
object (ForwarderConfig)
}
}
身体参数
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
display_name | string | 必需 | 转发者的名称。此名称会显示在 Google SecOps 界面中。 |
config | 对象 | 可选 | 此转发器的配置设置。请参阅转发器配置字段。 |
请求示例
以下示例展示了“Create Forwarder”请求中必需的键值对。 如果请求中未指定某个字段,但该字段具有默认值,则系统会在创建转发器时应用默认值。如需详细了解默认值,请参阅转发器配置字段。
POST https://backstory.googleapis.com/v2/forwarders
{
"display_name": "chronicle_forwarder"
}
响应
如果请求成功,响应会返回 HTTP 状态代码 200(OK)。
响应中会显示在创建转发器时应用的配置值。如果请求正文中缺少这些字段或这些字段的值为零,则在资源创建期间,系统会为某些设置应用默认配置值。如需了解详情,请参阅转发器配置字段。
响应字段
除了请求中指定的字段和应用了默认值的字段之外,响应还包含以下生成的仅输出字段。
字段 | 类型 | 说明 |
---|---|---|
name | string | 转发器的资源 ID。格式为“forwarders/forwarderID”。例如: forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56 |
state | 枚举 | 指定转发器的当前状态。有效值包括:
默认值为 ACTIVE。 |
响应示例
以下是针对上述请求示例返回的响应的示例。
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
"drainTimeout": 10,
"httpSettings": {
"port": "8080",
"host": "0.0.0.0",
"readTimeout": "3",
"readHeaderTimeout": "3",
"writeTimeout": "3",
"idleTimeout": "3"
"routeSettings": {
"availableStatusCode": "204",
"readyStatusCode": "204",
"unreadyStatusCode": "503"
},
},
},
},
"state": "ACTIVE"
}
获取转发器
返回转发器。
请求
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}
请求正文
请勿添加请求正文。
请求示例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
响应示例
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
"drainTimeout": 10,
"httpSettings": {
"port": "8080",
"host": "0.0.0.0",
"readTimeout": "3",
"readHeaderTimeout": "3",
"writeTimeout": "3",
"idleTimeout": "3"
"routeSettings": {
"availableStatusCode": "204",
"readyStatusCode": "204",
"unreadyStatusCode": "503"
},
},
},
},
"state": "ACTIVE"
}
列出转发器
列出 Google SecOps 实例的所有转发器。
请求
GET https://backstory.googleapis.com/v2/forwarders
请求示例
GET https://backstory.googleapis.com/v2/forwarders
响应
返回转发器的列表。
响应示例
{
"forwarders": [
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56",
"displayName": "chronicle_forwarder_1",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
...
},
},
"state": "ACTIVE"
},
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde57",
"displayName": "chronicle_forwarder_2",
"config": {
"uploadCompression": "false",
"serverSettings": {
"gracefulTimeout": 15,
...
},
},
"state": "ACTIVE"
}
]
}
更新转发器
您可以使用 updateMask
网址查询参数指定要更新的字段,从而更新转发器。
例如,如需更新显示名称,您可以在修补请求中使用 updateMask
查询参数,如下所示:
?updateMask=displayName
请求正文应仅包含您要更新的字段(在其确切位置)。
请求
PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}?updateMask=<field_1,field_2>
请求正文
{
"display_name": string,
"config": {
object (ForwarderConfig)
},
}
身体参数
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
display_name | string | 必需 | 转发者的名称。此名称会显示在 Google SecOps 界面中。 |
config | 对象 | 可选 | 此转发器的配置设置。请参阅转发器配置字段。 |
请求示例
以下是更新转发器请求的示例,其中请求为 displayName
指定了新值并添加了元数据标签。
PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56?updateMask=displayName,config.metadata.labels
{
"display_name": "UpdatedForwarder",
"config": {
"metadata": {
"labels": [
{
"key": "office",
"value": "corporate",
}
]
}
}
}
响应示例
以下是针对上述请求示例返回的响应的示例。
{
"name": "forwarders/{forwarderUUID}",
"displayName": "UpdatedForwarder",
"config": {
"uploadCompression": "false",
"metadata": {
"labels": [
{
"key": "office",
"value": "corporate"
}
]
}
},
"state": "ACTIVE"
}
删除转发器
删除转发器。
请求
DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}
请求正文
请勿添加请求正文。
请求示例
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56
响应示例
如果操作成功,Delete Forwarder 会返回一个 HTTP 状态代码为 200(OK)的空响应。
{}
生成转发器文件
生成并返回转发器的配置 (.conf
) 和身份验证 (_auth.conf
) 文件的内容。
请求
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}:generateForwarderFiles
请求正文
请勿添加请求正文。
请求示例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56:generateForwarderFiles
响应示例
如果操作成功,则返回 HTTP 状态代码 200(OK)。它还会返回转发器配置文件的内容,包括转发器收集器的配置数据,以及转发器用于向 Google SecOps 实例进行身份验证的身份验证 (_auth.conf
) 文件的内容。
转发器配置字段
下表列出了您可以使用“创建转发器”和“更新转发器”指定的转发器配置设置。如果您在使用“创建转发器”时未为某个设置指定值,系统会应用该设置的默认值(如下所示)。
您可以在请求正文的 config
对象中提供以下字段。
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
upload_compression | bool | 可选 | 如果为 true ,系统会在上传之前压缩批量数据。默认值为 false 。 |
metadata.asset_namespace | string | 可选 | 用于标识此转发器中的日志的命名空间。 注意:这是一个全局设置,适用于转发器和转发器的收集器,除非在收集器级别被替换。如需了解详情,请参阅配置命名空间。 |
metadata.labels | list | 可选 | 可在转发器配置中指定的任意键值对列表。 注意:这是一个全局设置,适用于转发器和转发器的收集器,除非在收集器级别被替换。 |
metadata.labels.key | string | 可选 | 元数据标签列表中字段的键。 |
metadata.labels.value | string | 可选 | 元数据标签列表中字段的值。 |
regex_filters.description | string | 可选 | 说明被滤除的内容以及原因。 |
regex_filters.regexp | string | 可选 | 用于与每个传入行进行匹配的正则表达式。 |
regex_filters.behavior | 枚举 | 可选 | 指定服务器功能的状态。有效值包括:
|
server_settings | 对象 | 可选 | 用于配置转发器内置 HTTP 服务器的设置,可用于在 Linux 上为 syslog 收集配置负载均衡和高可用性选项。 |
server_settings.state | 枚举 | 可选 | 指定服务器功能的状态。有效值为:
|
server_settings.graceful_timeout | 整数 | 可选 | 转发器返回不佳的就绪性/健康检查结果并且继续接受新连接的秒数。这也是在收到停止信号和实际开始关闭服务器之间等待的时间。这可让负载平衡器有时间从池中移除转发器。 默认值为 15 。 |
server_settings.drain_timeout | 整数 | 可选 | 转发器在关闭服务器之前等待活跃连接自行关闭的时间(以秒为单位)。 默认值为 10 。 |
server_settings.http_settings.port | 整数 | 可选 | HTTP 服务器侦听来自负载均衡器的健康检查的端口号。必须介于 1024-65535 之间。 默认值为 8080 。 |
server_settings.http_settings.host | string | 可选 | 服务器应该监听的 IP 地址或可解析为 IP 地址的主机名。 默认值为 0.0.0.0 (本地系统)。 |
server_settings.http_settings.read_timeout | 整数 | 可选 | 允许用于读取整个请求(包括标头和正文)的秒数上限。 默认值为 3 。 |
server_settings.http_settings.read_header_timeout | 整数 | 可选 | 允许用于读取请求标头的秒数上限。 默认值为 3 。 |
server_settings.http_settings.write_timeout | 整数 | 可选 | 允许发送响应的最长秒数。 默认值为 3 。 |
server_settings.http_settings.idle_timeout | 整数 | 可选 | 启用空闲连接后等待下一个请求的最长秒数。 默认值为 3 。 |
server_settings.http_settings.route_settings.available_status_code | 整数 | 可选 | 收到活跃性检查且转发器可用时,转发器返回的状态代码。 默认值为 204 。 |
server_settings.http_settings.route_settings.ready_status_code | 整数 | 可选 | 转发器准备好接受流量时返回的状态代码。 默认值为 204 。 |
server_settings.http_settings.route_settings.unready_status_code | 整数 | 可选 | 转发器未准备好接受流量时返回的状态代码。 默认值为 503 。 |
Collector API 参考文档
本部分介绍了用于与收集器搭配使用的端点。
创建和更新收集器时,请注意,每个收集器配置只能为以下任一项指定一个提取设置,但不能超过一个:
- 日志文件数据
- Kafka 主题
- 数据包数据 (pcap)
- Splunk 数据
- Syslog 数据
如需了解用于与转发器搭配使用的端点,请参阅 Forwarder API 参考文档。
创建收集器
在 Google SecOps 账号中创建新的收集器。使用 Create Forwarder 后,必须使用 Create Collector 指定 collector 的配置值。
对于某些设置,如果请求正文中缺少配置值或值为零,则会将其设置为默认值。如需详细了解收集器配置字段和值,请参阅收集器配置字段。
请求
POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
请求正文
{
"display_name": string,
"config": {
object (CollectorConfig)
}
"state": enum
}
身体参数
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
display_name | string | 必需 | 收集器的名称。此名称会显示在 Google SecOps 界面中。 |
config | 对象 | 必需 | 此收集器的配置设置。请参阅收集器配置字段。 |
state | 枚举 | 可选 | 指定收集器的当前状态。有效值包括:
|
请求示例
以下示例展示了“Create Collector”请求中必需的键值对。对于未提供的任何字段,系统会在创建收集器时应用默认值。
在此示例中,收集器类型为 file
,因此收集器配置包含 file_settings
,用于指明收集器类型及其设置。如果收集器类型为 syslog
,则收集器配置包含 syslog_settings
。如需了解详情,请参阅收集器配置字段。
POST https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
{
"display_name": "abc_collector",
"config" {
"log_type": "CS_EDR"
"file_settings": {
"file_path": "/opt/chronicle/edr/output/sample.txt",
}
}
}
响应
如果请求成功,响应会返回 HTTP 状态代码 200(OK)。
响应中会显示在创建收集器期间应用的配置值。如果请求正文中缺少这些字段或这些字段的值为零,则在资源创建期间,系统会为某些设置应用默认配置值。如需了解详情,请参阅收集器配置字段。
响应字段
除了请求中指定的字段和应用了默认值的字段之外,响应还包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
name | string | 收集器的资源 ID。格式为“forwarders/{forwarderID}/collectors/{collectorID}”。例如:forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56 |
响应示例
以下是针对上述请求示例返回的响应的示例。
{
"name": "forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56/collectors/
98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
"displayName": "abc_collector",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
获取收集器
返回一个收集器。
请求
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
请求正文
请勿添加请求正文。
请求示例
GET
https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
响应示例
{
"name": "?",
"displayName": "abc_collector",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
列出收集器
列出指定转发器的现有收集器。
请求
GET https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
请求示例
GET https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors
响应
返回多个收集器。
响应示例
{
"collectors": [
{
"name": "?",
"displayName": "abc_collector_1",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
},
{
"name": "?",
"displayName": "abc_collector_2",
"config": {
"logType": "tomcat",
"maxSecondsPerBatch": "10",
"maxBytesPerBatch": "1048576"
}
}
]
}
更新收集器
使用 API 更新收集器时,您可以选择覆盖整个收集器配置,也可以仅覆盖收集器配置的特定字段。通常情况下,最好覆盖特定字段,以免因意外覆盖所有数据。如要覆盖特定字段,请为更新请求提供 FieldMask。
如需提供 FieldMask 以更新收集器的显示名称,请在补丁请求中提供 updateMask 网址查询参数。例如:
?updateMask=displayName
请求正文应仅包含您要更新的字段(在其确切位置)。
请求
PATCH https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}?updateMask=<field_1,field_2>
请求正文
{
"display_name": string,
"config": {
object (CollectorConfig)
},
}
身体参数
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
displayName | string | 必需 | 收集器的名称。此名称会显示在 Google SecOps 界面中。 |
config | 对象 | 可选 | 此转发器的配置设置。请参阅收集器配置字段。 |
请求示例
以下是更新 Collector 请求的示例,其中请求为 displayName、logType、assetNamespace 和 protocol 指定了新值。
PATCH https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56?updateMask=displayName,config.logType,config.metadata.assetNamespace,config.syslogSettings.protocol
{
"display_name": "UpdatedCollector"
"config": {
"metadata": {
"asset_namespace": "COLLECTOR",
},
"log_type": "CISCO_ASA_FIREWALL",
"syslog_settings": {
"protocol": "TCP",
}
}
}
响应示例
以下是针对上述请求示例返回的响应的示例。
{
"name": "forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56",
"displayName": "UpdatedCollector",
"config": {
"logType": "CISCO_ASA_FIREWALL",
"metadata": {
"assetNamespace": "COLLECTOR"
},
"maxSecondsPerBatch": 10,
"maxBytesPerBatch": "1048576",
"syslogSettings": {
"protocol": "TCP",
"address": "0.0.0.0",
"port": 10514,
}
},
"state": "ACTIVE"
}
删除收集器
删除收集器。
请求
DELETE https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors/{collectorID}
请求正文
请勿添加请求正文。
请求示例
DELETE https://backstory.googleapis.com/v2/forwarders/12ab3cd4-56ef-7abc-d89e-1f23a4bcde56/collectors/98ab7cd6-54ef-3abc-d21e-1f23a4bcde56
响应示例
如果操作成功,Delete Collector 会返回一个 HTTP 状态代码为 200(OK)的空响应。
{}
收集器配置字段
您可以在请求正文的 config
对象中提供以下字段。
字段 | 类型 | 必需 | 说明 |
---|---|---|---|
log_type | string | 必需 | 支持的日志类型(可供 Google SecOps 提取)。如需查看 Google SecOps 提供解析器的支持日志类型的列表,请参阅支持的默认解析器页面上的“提取标签”列。如需获取支持的日志类型的完整列表,请使用 logtypes 端点。
|
metadata.asset_namespace | 对象 | 可选 | 用于标识此收集器的日志的命名空间。 注意:这是一个全局设置,适用于转发器和转发器的收集器,除非在收集器级别被替换。如需了解详情,请参阅配置命名空间。 |
metadata.labels | list | 可选 | 可在收集器配置中指定的任意键值对列表。 注意:这是一个全局设置,适用于转发器和转发器的收集器,除非在收集器级别被替换。 |
metadata.labels.key | string | 可选 | 元数据标签列表中字段的键。 |
metadata.labels.value | string | 可选 | 元数据标签列表中字段的值。 |
regex_filters.description | string | 可选 | 说明被滤除的内容以及原因。 |
regex_filters.regexp | string | 可选 | 用于与每个传入行进行匹配的正则表达式。 |
regex_filters.behavior | 枚举 | 可选 | 指定服务器功能的状态。有效值包括:
|
disk_buffer.state | 枚举 | 可选 | 指定收集器的磁盘缓冲状态。有效值包括:
|
disk_buffer.directory_path | string | 可选 | 写入文件的目录路径。 |
disk_buffer.max_file_buffer_bytes | 整数 | 可选 | 缓冲文件的大小上限。 |
max_seconds_per_batch | 整数 | 可选 | 批次之间的秒数。 默认值为 10 。 |
max_bytes_per_batch | 整数 | 可选 | 在转发器批量上传之前已排队的字节数。 默认值为 1048576 。 |
<collector_type>_settings.<fields> | 必需 | 指定收集器类型及其设置。每个收集器都必须指定一个收集器类型及其字段。例如,如需使用 file 收集器类型,必须将 file_settings.file_path 字段添加到配置中并为其指定值。例如:"file_settings": { 收集器类型及其字段列在本表的后续行中。可用的收集器类型如下:
|
|
file_settings.file_path | string | 可选 | 要监控的文件的路径。 |
kafka_settings.authentication.username | string | 可选 | 用于身份验证的身份的用户名。 |
kafka_settings.authentication.password | string | 可选 | 由用户名标识的账号的密码。 |
kafka_settings.topic | string | 可选 | 要从中注入数据的 Kafka 主题。如需了解详情,请参阅从 Kafka 主题收集数据。 |
kafka_settings.group_id | string | 可选 | 群组 ID。 |
kafka_settings.timeout | 整数 | 可选 | 拨号等待连接完成的最长秒数。 默认值为 60 。 |
kafka_settings.brokers | string | 可选 | 列出 Kafka 代理的重复字符串。例如: "broker-1:9092", "broker-2:9093" 注意:在更新操作期间,系统会替换所有值。因此,如需更新代理列表以添加新的代理,请指定所有现有代理和新代理。 |
kafka_settings.tls_settings.certificate | string | 可选 | 路径和证书文件名。例如:/path/to/cert.pem |
kafka_settings.tls_settings.certificate_key | string | 可选 | 路径和证书密钥文件名。例如:/path/to/cert.key |
kafka_settings.tls_settings.minimum_tls_version | string | 可选 | 最低的 TLS 版本。 |
kafka_settings.tls_settings.insecure_skip_verify | bool | 可选 | 如果为 true ,则启用 SSL 认证验证。默认值为 false 。 |
pcap_settings.network_interface | string | 可选 | 用于监听 PCAP 数据的接口。 |
pcap_settings.bpf | string | 可选 | 适用于 pcap 的 Berkeley 数据包过滤器 (BPF)。 |
splunk_settings.authentication.username | string | 可选 | 用于身份验证的身份的用户名。 |
splunk_settings.authentication.password | string | 可选 | 由用户名标识的账号的密码。 |
splunk_settings.host | string | 可选 | Splunk REST API 的主机或 IP 地址。 |
splunk_settings.port | 整数 | 可选 | Splunk REST API 的端口。 |
splunk_settings.minimum_window_size | 整数 | 可选 | 给定 Splunk 搜索的最短时间范围(以秒为单位)。如需了解详情,请参阅收集 Splunk 数据。 默认值为 10 。 |
splunk_settings.maximum_window_size | 整数 | 可选 | 给定 Splunk 搜索的最长时间范围(以秒为单位)。如需了解详情,请参阅收集 Splunk 数据。 默认值为 30 。 |
splunk_settings.query_string | string | 可选 | 用于在 Splunk 中过滤记录的查询。 例如: search index=* sourcetype=dns |
splunk_settings.query_mode | string | 可选 | Splunk 的查询模式。 例如: realtime |
splunk_settings.cert_ignored | bool | 可选 | 如果为 true ,系统会忽略证书。 |
syslog_settings.protocol | 枚举 | 可选 | 指定收集器将用于监听 syslog 数据的协议。有效值包括:
|
syslog_settings.address | string | 可选 | 收集器所在并监听 syslog 数据的目标 IP 地址或主机名。 |
syslog_settings.port | 整数 | 可选 | 收集器所在并监听 syslog 数据的目标端口。 |
syslog_settings.buffer_size | 整数 | 可选 | TCP 套接字缓冲区的大小(以字节为单位)。 TCP 的默认值为 65536 。UDP 的默认值为 8192 。 |
syslog_settings.connecton_timeout | 整数 | 可选 | 闲置时长(以秒为单位),超过此时长后 TCP 连接会断开。 默认值为 60 。 |
syslog_settings.tls_settings.certificate | string | 可选 | 路径和证书文件名。例如:/path/to/cert.pem |
syslog_settings.tls_settings.certificate_key | string | 可选 | 路径和证书密钥文件名。例如:/path/to/cert.key |
syslog_settings.tls_settings.minimum_tls_version | string | 可选 | 最低的 TLS 版本。 |
syslog_settings.tls_settings.insecure_skip_verify | bool | 可选 | 如果为 true ,则启用 SSL 认证验证。默认值为 false 。 |