Forwarder Management API

您可以使用 Google Security Operations Forwarder Management API 以编程方式执行以下操作:

  • 创建和管理转发器。
  • 创建和管理收集器。
  • 获取 Google Security Operations 转发器的配置 (.conf) 和身份验证 (_auth.conf) 文件的文件内容。

转发器由一个或多个收集器组成。每个收集器的配置都指定了其提取机制(例如文件、Kafka、PCAP、Splunk 或 Syslog)和日志类型

假设满足硬件要求,您可以在同一转发器上使用多个收集器来注入各种机制和日志类型的数据。例如,您可以安装一个转发器,并在两个 syslog 收集器上分别监听 PAN_FIREWALL 和 CISCO_ASA_FIREWALL 数据。

借助此 API,您可以在 Google 安全运营实例中创建转发器及其收集器。创建转发器后,您可以使用“Generate Forwarder Files”(生成转发器文件)端点获取转发器的配置 (.conf) 和身份验证 (_auth.conf) 文件的文件内容(作为 JSON 载荷)。然后,这些内容可以写入各自的 .conf 文件,以便在 Windows 或 Linux 系统上通过 Google 安全运营转发器服务进行部署。

如需查看使用 Forwarder Management API 的 Python 示例,请参阅 GitHub 代码库

创建转发器及其收集器

必须先创建转发器,然后才能创建其任何收集器。

如需创建转发器及其收集器,请执行以下操作:

  1. 创建转发器
  2. 为转发器创建收集器
  3. (可选)重复第 2 步以添加更多收集器。

如何使用 Google Security Operations API 进行身份验证

此 Google Security Operations API 使用 OAuth 2.0 协议进行身份验证和授权。您的应用可以使用以下任一实现来完成这些任务:

  • 使用适用于您计算机语言的 Google API 客户端库。

  • 使用 HTTP 直接与 OAuth 2.0 系统交互。

请参阅 Python 版 Google 身份验证库的参考文档

Google 身份验证库是 Google API 客户端库的一部分。请参阅其他语言实现

获取 API 身份验证凭据

您的 Google 安全运营代表会为您提供 Google 开发者服务账号凭据,以便 API 客户端与该 API 通信。

您还必须在初始化 API 客户端时提供 Auth Scope。OAuth 2.0 使用范围来限制应用对账号的访问权限。当应用请求某个范围时,向应用发出的访问令牌仅限于所授予的范围。

使用以下范围初始化 Google API 客户端:

https://www.googleapis.com/auth/chronicle-backstory

Python 示例

以下 Python 示例演示了如何使用 google.oauth2googleapiclient 使用 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 Google Developer Service Account Credential and Google Security Operations 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 Security Operations 平台发出的请求量施加限制。如果您达到或超出查询限制,Chronicle API 服务器会向调用方返回 HTTP 429 (RESOURCE_EXHAUSTED)。在为 Chronicle API 开发应用时,Google 建议您在系统中强制执行速率限制,以避免资源耗尽。这些限制适用于所有 Chronicle API,包括 Search API、Forwarder Management API 和 Tooling 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 枚举 可选

指定服务器功能的状态。有效值包括:

  • ALLOW:此状态允许上传被过滤的行。
  • 屏蔽:此状态会阻止上传被滤除的行。
server_settings 对象 可选 用于配置转发器内置 HTTP 服务器的设置,可用于在 Linux 上为 syslog 收集配置负载均衡和高可用性选项
server_settings.state 枚举 可选

指定服务器功能的状态。有效值为:

  • ACTIVE:在此状态下,系统会按指定方式应用服务器设置。
  • 已暂停 在此状态下,系统不会应用服务器设置。
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 枚举 可选

指定服务器功能的状态。有效值包括:

  • ALLOW:此状态允许上传被过滤的行。
  • 屏蔽:此状态会阻止上传被滤除的行。
disk_buffer.state 枚举 可选

指定收集器的磁盘缓冲状态。有效值包括:

  • ACTIVE:已启用缓冲。
  • 已暂停:缓冲已停用。
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_path": "/opt/chronicle/edr/output/sample.txt",
}


收集器类型及其字段列在下表的后续行中。可用的收集器类型如下:
  • file
  • kafka
  • pcap
  • splunk
  • syslog
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 的伯克利数据包过滤器 (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 数据的协议。有效值包括:

  • TCP
  • UDP
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