轉送站管理

您可以使用 Google Security Operations Forwarder Management API 方法,以程式輔助方式執行下列操作:

  • 建立及管理轉寄者。
  • 建立及管理收集器。
  • 取得 Google SecOps 轉送程式設定 (.conf) 和驗證 (_auth.conf) 檔案的內容。

轉送器由一或多個收集器組成。每個收集器的設定都會指定擷取機制 (例如檔案、Kafka、PCAP、Splunk 或 Syslog) 和記錄類型

假設符合硬體需求,您可以在同一個轉送器上使用多個收集器,從各種機制和記錄類型擷取資料。舉例來說,您可以安裝轉送器,並讓兩個系統記錄收集器分別監聽不同連接埠上的 PAN_FIREWALL 和 CISCO_ASA_FIREWALL 資料。

您可以使用這個 API,在 Google SecOps 執行個體中建立轉送器及其收集器。建立轉送器後,您可以使用「產生轉送器檔案」端點,取得轉送器設定 (.conf) 和驗證 (_auth.conf) 檔案的檔案內容 (以 JSON 酬載形式)。接著,這些內容可以寫入各自的 .conf 檔案,以便在 Windows 或 Linux 系統上透過 Google SecOps Forwarder 服務部署。

如需使用 Forwarder Management API 的 Python 範例,請參閱 GitHub 存放區

建立轉送器及其收集器

必須先建立轉送器,才能建立任何收集器。

如要建立轉送器及其收集器:

  1. 建立轉寄者
  2. 為轉送器建立收集器
  3. (選用) 重複步驟 2,新增更多收集器。

取得 API 驗證憑證

Google Security Operations 代表會提供 Google 開發人員服務帳戶憑證,讓 API 用戶端與 API 通訊。

此外,初始化 API 用戶端時,您也必須提供驗證範圍。OAuth 2.0 會使用範圍來限制應用程式的帳戶存取權。應用程式要求範圍時,發給應用程式的存取權杖會受到授予範圍的限制。

請使用下列範圍初始化 Backstory 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 the Google Developer Service Account Credential and Backstory 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/

Backstory API 查詢限制

Backstory API 會限制任何一位客戶可對 Google SecOps 平台發出的要求量。如果達到或超過查詢限制,Backstory API 伺服器會向呼叫端傳回 HTTP 429 (RESOURCE_EXHAUSTED)。為 Backstory API 開發應用程式時,Google 建議您在系統中強制執行頻率限制,避免資源耗盡。這些限制適用於所有 Backstory API,包括 Search、Forwarder Management 和 Tooling API。

請參閱 Backstory API 配額的詳細清單。

系統會強制執行轉送器管理服務的下列限制,並以每秒查詢次數 (QPS) 為測量單位:

Backstory API API 端點 限制
轉送站管理 建立轉送器 1 QPS
取得轉送站 1 QPS
列出轉寄者 1 QPS
更新轉送站 1 QPS
刪除轉送站 1 QPS
收集器管理 建立收集器 1 QPS
取得收集器 1 QPS
列出收集器 1 QPS
更新收集器 1 QPS
刪除收集器 1 QPS

轉送器 API 方法參考資料

本節說明建立及管理轉送器的端點。如要瞭解如何建立及管理收集器,請參閱 Collector API 參考資料

建立轉送站

在 Google SecOps 執行個體中建立新的轉送器。新的轉送器會包含要求主體中提供的任何轉送器設定值。使用「建立轉送器」後,必須使用「建立收集器」指定 collectors 的設定值。

對於特定設定,如果要求主體中缺少設定值或設定值為零,系統會將這些設定值設為預設值。如要進一步瞭解轉送器欄位和值,請參閱「轉送器設定欄位」。

要求

POST https://backstory.googleapis.com/v2/forwarders

要求主體
{
  "display_name": string,
  "config": {
    object (ForwarderConfig)
  }
}
身體參數
欄位 類型 必要 說明
display_name 字串 必填 貨運公司名稱。這個名稱會顯示在 Google SecOps 介面中。
config object 選用 這個轉送器的設定。請參閱「轉送器設定欄位」。
要求範例

這個範例顯示「建立轉送器」要求中必要的鍵/值組合。 如果要求中未指定欄位,且該欄位有預設值,系統會在建立轉送器時套用預設值。如要瞭解預設值,請參閱「轉送器設定欄位」。

POST https://backstory.googleapis.com/v2/forwarders
{
  "display_name": "chronicle_forwarder"
}

回應

如果要求成功,回應會傳回 HTTP 狀態碼 200 (OK)。

回應會顯示建立轉送器時套用的設定值。如果要求主體中缺少特定設定的欄位或欄位值為零,系統會在建立資源時套用預設設定值。詳情請參閱「轉送器設定欄位」。

回覆欄位

除了要求中指定的欄位和套用預設值的欄位外,回應還會包含下列產生的輸出專用欄位。

欄位 類型 說明
名稱 字串 貨運公司的資源 ID。格式為「forwarders/forwarderID」。例如:

forwarders/12ab3cd4-56ef-7ghi-j89k-1l23m4nopq56
state enum

指定轉送器的目前狀態。有效的值包括:

  • 有效:轉送者可以上傳資料。
  • 已停權:轉寄者不得上傳資料。

預設值為 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 字串 必填 貨運公司名稱。這個名稱會顯示在 Google SecOps 介面中。
config object 選用 這個轉送器的設定。請參閱「轉送器設定欄位」。
要求範例

以下是更新轉送器要求的範例,其中要求指定 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 字串 選用 用於識別這個轉寄者記錄的命名空間。

注意:這是全域設定,適用於轉送器和轉送器的收集器,除非在收集器層級遭到覆寫。詳情請參閱「設定命名空間」。
metadata.labels list 選用 可在轉送器設定中指定的任意鍵/值組合清單。

注意:這是全域設定,適用於轉送器和轉送器的收集器,除非在收集器層級遭到覆寫。
metadata.labels.key 字串 選用 中繼資料標籤清單中欄位的鍵。
metadata.labels.value 字串 選用 中繼資料標籤清單中欄位的值。
regex_filters.description 字串 選用 說明篩除的內容和原因。
regex_filters.regexp 字串 選用 用於比對每行輸入內容的規則運算式。
regex_filters.behavior enum 選用

指定伺服器功能的狀態。有效值為:

  • 允許:這個狀態允許上傳經過篩選的行。
  • 封鎖:這個狀態會禁止上傳已篩選的行。
server_settings object 選用 設定轉送程式內建 HTTP 伺服器的設定,可用於設定負載平衡和高可用性選項,在 Linux 上收集系統記錄。
server_settings.state enum 選用

指定伺服器功能的狀態。有效值為:

  • 有效:伺服器設定會套用指定的值。
  • 已暫停:伺服器設定不會套用。
server_settings.graceful_timeout 整數 選用 轉送器在傳回錯誤的就緒/健康狀態檢查結果後,仍會接受新連線的秒數。這也是接收停止訊號後,到實際開始關閉伺服器之間等待的時間。這樣負載平衡器就有時間從集區中移除轉送器。

預設值為 15
server_settings.drain_timeout 整數 選用 轉送站等待作用中連線自行順利關閉的秒數,之後伺服器會關閉連線。

預設值為 10
server_settings.http_settings.port 整數 選用 HTTP 伺服器監聽的通訊埠編號,用於接收負載平衡器的健康狀態檢查。必須介於 1024 至 65535 之間。

預設值為 8080
server_settings.http_settings.host 字串 選用 伺服器應監聽的 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 資料
  • 系統記錄檔資料

如要瞭解如何使用轉寄者端點,請參閱「轉寄者 API 參考資料」。

建立收集器

在 Google SecOps 帳戶中建立新的收集器。使用 Create Forwarder 後,必須使用 Create Collector 指定 collectors 的設定值。

對於特定設定,要求主體中遺失或值為零的設定值會設為預設值。如要進一步瞭解收集器設定欄位和值,請參閱收集器設定欄位

要求

POST https://backstory.googleapis.com/v2/forwarders/{forwarderID}/collectors
要求主體
{
  "display_name": string,
  "config": {
    object (CollectorConfig)
  }
  "state": enum
}
身體參數
欄位 類型 必要 說明
display_name 字串 必填 收集器名稱。這個名稱會顯示在 Google SecOps 介面中。
config object 必填 這個收集器的設定。請參閱「收集器設定欄位」。
state enum 選用

指定收集器的目前狀態。有效的值包括:

  • 有效:收集器可接受資料。
  • 已暫停:收集器不得接受資料。
要求範例

這個範例顯示「建立收集器」要求中必要的鍵/值組合。如果未提供任何欄位,系統會在建立收集器時套用預設值。

在本範例中,收集器類型為 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)。

回應會顯示建立收集器時套用的設定值。如果要求主體中缺少特定設定的欄位或欄位值為零,系統會在建立資源時套用預設設定值。詳情請參閱「收集器設定欄位」。

回覆欄位

除了要求中指定的欄位和套用預設值的欄位外,回應還會包含下列欄位:

欄位 類型 說明
名稱 字串 收集器的資源 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 來更新收集器的顯示名稱,請在 PATCH 要求中提供 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 字串 必填 收集器名稱。這個名稱會顯示在 Google SecOps 介面中。
config object 選用 這個轉送器的設定。請參閱「收集器設定欄位」。
要求範例

以下是更新收集器要求的範例,要求中指定了 displayName、logType、assetNamespace 和通訊協定的新值。

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 字串 必填 支援的記錄類型 (可由 Google SecOps 擷取)。如需 Google SecOps 剖析器支援的記錄檔類型清單,請參閱「支援的預設剖析器」頁面中的「擷取標籤」欄。如要取得支援的記錄檔類型完整清單,請使用 logtypes 端點
metadata.asset_namespace object 選用 用於識別這個收集器記錄的命名空間。

注意:這是全域設定,適用於轉送器和轉送器的收集器,除非在收集器層級遭到覆寫。詳情請參閱「設定命名空間」。
metadata.labels list 選用 可在收集器設定中指定的任意鍵/值組合清單。

注意:這是全域設定,適用於轉送器和轉送器的收集器,除非在收集器層級遭到覆寫。
metadata.labels.key 字串 選用 中繼資料標籤清單中欄位的鍵。
metadata.labels.value 字串 選用 中繼資料標籤清單中欄位的值。
regex_filters.description 字串 選用 說明篩除的內容和原因。
regex_filters.regexp 字串 選用 用於比對每行輸入內容的規則運算式。
regex_filters.behavior enum 選用

指定伺服器功能的狀態。有效值為:

  • 允許:這個狀態允許上傳經過篩選的行。
  • 封鎖:這個狀態會禁止上傳已篩選的行。
disk_buffer.state enum 選用

指定收集器的磁碟緩衝狀態。有效的值包括:

  • ACTIVE:已啟用緩衝。
  • 已暫停:緩衝已停用。
disk_buffer.directory_path 字串 選用 寫入檔案的目錄路徑。
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 字串 選用 要監控的檔案路徑。
kafka_settings.authentication.username 字串 選用 用於驗證的身分使用者名稱。
kafka_settings.authentication.password 字串 選用 使用者名稱所識別帳戶的密碼。
kafka_settings.topic 字串 選用 要從中擷取資料的 Kafka 主題。詳情請參閱「從 Kafka 主題收集資料」。
kafka_settings.group_id 字串 選用 群組 ID。
kafka_settings.timeout 整數 選用 撥號等待連線完成的時間上限 (以秒為單位)。

預設值為 60
kafka_settings.brokers 字串 選用 重複的字串,列出 Kafka 代理程式。例如:

"broker-1:9092", "broker-2:9093"

注意:更新作業期間,所有值都會遭到取代。因此,如要更新代理程式清單來新增代理程式,請指定所有現有代理程式和新代理程式。
kafka_settings.tls_settings.certificate 字串 選用 路徑和憑證檔案名稱。例如:

/path/to/cert.pem
kafka_settings.tls_settings.certificate_key 字串 選用 路徑和憑證金鑰檔案名稱。例如:

/path/to/cert.key
kafka_settings.tls_settings.minimum_tls_version 字串 選用 最低 TLS 版本。
kafka_settings.tls_settings.insecure_skip_verify bool 選用 如果 true,則啟用 SSL 憑證驗證。

預設值為 false
pcap_settings.network_interface 字串 選用 用於監聽 PCAP 資料的介面。
pcap_settings.bpf 字串 選用 pcap 的 Berkeley 封包篩選器 (BPF)。
splunk_settings.authentication.username 字串 選用 用於驗證的身分使用者名稱。
splunk_settings.authentication.password 字串 選用 使用者名稱所識別帳戶的密碼。
splunk_settings.host 字串 選用 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 字串 選用 用於篩選 Splunk 記錄的查詢。

例如:search index=* sourcetype=dns
splunk_settings.query_mode 字串 選用 Splunk 的查詢模式。

例如:realtime
splunk_settings.cert_ignored bool 選用 如果為 true,系統會忽略憑證。
syslog_settings.protocol enum 選用

指定收集器用來監聽系統記錄資料的通訊協定。有效的值包括:

  • TCP
  • UDP
syslog_settings.address 字串 選用 收集器所在位置的目標 IP 位址或主機名稱,以及接聽系統記錄檔資料的位置。
syslog_settings.port 整數 選用 收集器所在的目標通訊埠,以及監聽系統記錄資料的通訊埠。
syslog_settings.buffer_size 整數 選用 TCP 通訊端緩衝區的大小 (以位元組為單位)。

TCP 的預設值為 65536
UDP 的預設值為 8192
syslog_settings.connecton_timeout 整數 選用 TCP 連線中斷前的閒置秒數。

預設值為 60
syslog_settings.tls_settings.certificate 字串 選用 路徑和憑證檔案名稱。例如:

/path/to/cert.pem
syslog_settings.tls_settings.certificate_key 字串 選用 路徑和憑證金鑰檔案名稱。例如:

/path/to/cert.key
syslog_settings.tls_settings.minimum_tls_version 字串 選用 最低 TLS 版本。
syslog_settings.tls_settings.insecure_skip_verify bool 選用 如果 true,則啟用 SSL 憑證驗證。

預設值為 false