手动管理转发器配置文件
本页面介绍了如何创建和修改 Google Security Operations 转发器 配置文件 。如需通过界面配置转发器(推荐),请参阅 通过 Google SecOps 界面管理转发器配置。
每个部署的 Google SecOps 转发器都需要一个转发器配置文件。转发器配置文件可指定将数据传输到哪些设置 您的 Google SecOps 实例
如需了解如何安装和配置 Google SecOps 转发器、系统要求以及配置设置的详细信息,请参阅安装和配置转发器。
准备工作
在创建配置文件之前,请先了解可提取的数据类型以及需要导出的关键属性,以便规划实现方案 您需要在配置文件中定义这些变量
创建配置文件
如需手动创建配置文件,请按以下步骤操作:
下载配置文件 通过界面显示数据
使用以下命名惯例将两个文件保存到同一目录中:
FORWARDER_NAME
.conf - 使用此文件定义与日志提取相关的配置设置。FORWARDER_NAME
_auth.conf - 使用此文件来定义授权凭据。修改文件以包含转发器实例的配置。
如需详细了解每种提取类型的设置 例如 Splunk 或 Syslog,请参阅 在配置文件中定义数据类型。 如需详细了解如何自定义每个属性(例如数据压缩或磁盘缓冲),请参阅在配置文件中配置关键属性。
确保
FORWARDER_NAME
_auth.conf 文件中的每个输入都存在条目,即使输入没有相应的身份验证详细信息也是如此。这是正确映射数据所必需的。
对配置文件所做的任何更改都将自动应用于 转发器请求
示例配置
您可以将以下配置文件用作模板来创建自己的配置文件。
两个文件示例配置
这两个文件系统将身份验证凭据
文件以增强安全性。您可以将 FORWARDER_NAME
.conf 文件存储在版本控制库或任何开放式配置管理系统中。您可以直接将 FORWARDER_NAME
_auth.conf 文件存储在运行转发器的物理机或虚拟机中。
以下代码示例展示了转发器的配置文件格式。
FORWARDER_NAME.conf 文件
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: COLLECTOR_ID \ customer_id: CUSTOMER_ID \ collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 tcp_buffer_size: 524288
FORWARDER_NAME_auth.conf 文件
output: identity: secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\\"PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example-account-1%40example-account.iam.gserviceaccount.com" } collectors: - syslog: - syslog: certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key"
单个文件示例配置
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: "COLLECTOR_ID" \ customer_id: "CUSTOMER_ID" \ secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\ "PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/malachite-test-1%40malachite-test.iam.gserviceaccount.com" } collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key" tcp_buffer_size: 524288
从单个文件系统转换为两个文件系统
如果您使用的是单个配置文件,并希望迁移到两个文件 请执行以下操作:
创建现有配置文件的副本。
将一个文件保存为
FORWARDER_NAME
.conf 文件,然后从该文件中删除授权凭据。将另一个文件保存为
FORWARDER_NAME
_auth.conf 文件,并从该文件中删除所有非授权数据。您可以使用 配置示例以供参考。请务必遵循 命名惯例和本节中提到的其他准则 自定义配置。
在配置文件中定义数据类型
以下部分可帮助您配置 Google SecOps 转发器,以提取不同类型的数据并将其转发到 Google SecOps 实例。
Splunk 数据
您可以配置 Google SecOps 转发器以转发您的 Splunk 提供给 Google SecOps Google Cloud 使用以下信息配置 Google SecOps 转发器,以转发来自 Splunk 的数据:
Splunk REST API 的网址(例如 https://10.0.113.15:8089)。
Splunk 查询用于为每个必需数据类型(例如,index=dns)生成数据。
FORWARDER_NAME.conf output: collectors: - splunk: common: enabled: true data_type: WINDOWS_DNS data_hint: "#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto trans_id query qclass qclass_name" batch_n_seconds: 10 batch_n_bytes: 819200 url: https://127.0.0.1:8089 is_ignore_cert: true minimum_window_size: 10s maximum_window_size: 30s query_string: search index=* sourcetype=dns query_mode: realtime
- 将您的 Splunk 账号凭据提供给 Google SecOps 转发器。为此,您可以创建一个
creds.txt
文件。
如需使用 creds.txt
文件,请执行以下操作:
为您的 Splunk 凭据创建一个本地文件,并将其命名为
creds.txt
。将用户名放在第一行,将密码放在第二行:
cat creds.txt myusername mypassword
如需使用 Google SecOps 转发器访问 Splunk 实例,请将
creds.txt
文件复制到配置目录(与配置文件位于同一目录)。Linux
cp creds.txt /opt/chronicle/config/creds.txt
Windows
cp creds.txt c:/opt/chronicle/config/creds.txt
验证
creds.txt
文件是否位于预期目录中:Linux
ls /opt/chronicle/config
Windows
ls c:/opt/chronicle/config
Syslog 数据
转发器可以充当 Syslog 服务器。您可以配置任意 支持通过 TCP 或 UDP 发送 Syslog 数据的服务器 将其数据转发到 Google SecOps 转发器。您可以 控制服务器向 之后该转发器便可 将数据传输到 Google SecOps
FORWARDER_NAME.conf
配置文件(由
Google Cloud)指定要监控的每种类型
转发的数据(例如端口 10514)。默认情况下,Google SecOps
转发器接受 TCP 和 UDP 连接。
您可以自定义 TCP 缓冲区大小。默认 TCP 缓冲区大小为 64 KB。通过
connection_timeout
的默认和推荐值为 60 秒。
如果 TCP 连接处于非活动状态的时间超过
60 秒。
配置 rsyslog
如需配置 rsyslog,您需要为每个端口(例如,每种数据类型)指定目标。通过 以下示例展示了 rsyslog 目标配置:
TCP 日志流量:
dns.* @@192.168.0.12:10514
UDP 日志流量:
dns.* @192.168.0.12:10514
如需了解详情,请参阅系统文档。
为 Syslog 配置启用 TLS
您可以为与 Google SecOps 转发器的 Syslog 连接启用 TLS。在转发器配置文件中
(FORWARDER_NAME
.conf),请指定您自己的位置
已生成的证书和证书密钥,如下例所示。
您可以在 configuration
目录下创建一个 certs
目录,并将
证书文件。
Linux:
证书 | /opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | /opt/chronicle/external/certs/client_generated_cert.key |
Windows:
证书 | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
根据所示示例,修改转发器
配置文件 (FORWARDER_NAME
.conf) 中,如下所示:
Linux:
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
Windows:
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "c:/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "c:/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
输入请求的 TLS 版本应高于 最低的 TLS 版本。最低的 TLS 版本应为以下版本之一: 以下值:TLSv1_0、TLSv1_1、TLSv1_2、TLSv1_3。
文件数据
文件收集器的作用是 绑定到 Docker 容器如果您想手动上传单个日志文件中的日志,可以使用此参数。
从 Docker 容器启动 Google SecOps 转发器,以将负载量映射到容器:
Linux
docker run
--detach
--name cfps
--log-opt max-size=100m
--log-opt max-file=10
--net=host
-v /opt/chronicle/config:/opt/chronicle/external
-v /var/log/crowdstrike/falconhostclient:/opt/chronicle/edr
gcr.io/chronicle-container/cf_production_stable
Windows
docker run ` --name cfps ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v c:/opt/chronicle/config:c:/opt/chronicle/external ` -v c:/var/log/crowdstrike/falconhostclient:c:/opt/chronicle/edr ` gcr.io/chronicle-container/cf_production_stable_windows
您可以使用多个选项或多个范围添加多个端口。对于
示例:-p 3001:3000 -p 2023:2022
或 -p 7000-8000:7000-8000
。
示例代码中提供的端口号仅为示例。替换端口
数量。
根据示例,您可以按如下方式修改 Google SecOps 转发器配置(FORWARDER_NAME.conf
文件):
Linux
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: /opt/chronicle/edr/sample.txt filter:
Windows
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: c:/opt/chronicle/edr/sample.txt filter:
sample.txt
文件应该出现在
“/var/log/crowdstrike/falconhostclient
”文件夹。
标志配置
skip_seek_to_end
(布尔值):此标志默认设置为 false
,并且文件输入仅会将新日志行发送为输入。将此值设为 true
会导致在转发器重启期间重新发送所有之前的日志行。这会导致日志复制。将此标志设置为 true
在某些情况下很有帮助
(例如,在服务中断期间),因为重新启动转发器会将
缺失日志行。
poll
(bool):文件收集器使用 Tail 库检查
文件系统通过将此标志设置为 true
,Tail 库会使用轮询
方法,而不是默认的通知方法。
数据包数据
Google SecOps 转发器可以捕获数据包,而不是捕获日志 配置条目。
Linux 系统
Google SecOps 转发器可以在 Linux 上使用 libcap 捕获数据包。 如需详细了解 libcap,请参阅 libcap - Linux 手册页。
系统会捕获原始网络数据包并将其发送到 Google Cloud这种捕获仅限于本地接口。如需为您的系统启用数据包捕获,请与 Google SecOps 支持团队联系。
Google Cloud 使用捕获数据包(例如,端口 53,而不是 localhost)时使用的伯克利数据包过滤器 (BPF) 表达式来配置 Google SecOps 转发器。如需了解详情,请参阅 Berkeley 数据包过滤器。
Windows 系统
Google SecOps 转发器可以在 Windows 系统上使用 Npcap 捕获数据包。
系统会捕获原始网络数据包并将其发送到 Google Cloud这种捕获仅限于本地接口。如需将 Google SecOps 转发器配置为进行数据包捕获,请与 Google SecOps 支持团队联系。
数据包捕获 PCAP 转发器的要求:
在 Microsoft Windows 主机上安装 Npcap。
向 Google SecOps 转发器授予 root 或管理员权限,以监控网络接口。
在 Npcap 安装中,启用 WinPcap 兼容模式。
如需配置 PCAP 转发器,Google Cloud 需要用于捕获数据包的接口的 GUID。在您计划安装 Google SecOps 转发器的机器(服务器或侦听 span 端口的机器)上运行 getmac.exe
,然后将输出发送给 Google SecOps。
或者,您可以修改配置文件。找到 PCAP 部分
将现有 GUID 值替换为从运行 getmac.exe
获取的 GUID。
例如,以下是原始 PCAP 部分:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{1A7E7C8B-DD7B-4E13-9637-0437AB1A12FE}
bpf: udp port 53
运行 getmac.exe
时的输出:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
使用新 GUID 修改了 PCAP 部分:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734}
bpf: udp port 53
传输名称的 getmac.exe
输出以 \Device\Tcpip
开头,而类似的 pcap 部分以 \Device\NPF
开头。
来自 Kafka 主题的数据
Google Security Operations 转发器支持直接从 Kafka 注入数据 主题。您可以利用使用方组的概念进行高效并行处理,从而部署最多 3 个转发器并从同一 Kafka 主题拉取数据。如需了解详情,请参阅 Kafka。如需详细了解 Kafka 使用方组,请参阅 Kafka 使用方。
以下转发器配置展示了如何设置转发器,以从 Kafka 主题提取数据。
Linux
FORWARDER_NAME.conf 文件
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "/path/to/cert.pem" certificate_key: "/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
FORWARDER_NAME_auth.conf 文件
collectors: - kafka: username: user password: password - syslog:
Windows
FORWARDER_NAME.conf 文件
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "c:/path/to/cert.pem" certificate_key: "c:/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
FORWARDER_NAME_auth.conf 文件
collectors: - kafka: username: user password: password - syslog:
WebProxy 数据
Google SecOps 转发器可以直接从 网络接口
Linux
Google SecOps 转发器可以使用 libcap 捕获 WebProxy 数据 。如需详细了解 libcap,请参阅 libcap - Linux 手册页。要为系统启用 WebProxy 数据捕获功能,请联系 Google SecOps 支持。
修改 Google SecOps 转发器配置(FORWARDER_NAME.conf
文件)如下所示:
- webproxy:
common:
enabled : true
data_type: <Your LogType>
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: any
bpf: tcp and dst port 80
Windows
转发器可以使用 Npcap 捕获 WebProxy 数据并将其发送到 Google Cloud。
如需为您的系统启用 WebProxy 数据捕获,请与 Google SecOps 支持团队联系。
在运行 WebProxy 转发器之前,请按以下步骤操作:
在 Microsoft Windows 主机上安装 Npcap。在安装过程中启用 WinPcap 兼容模式。
向转发器授予 root 或管理员权限,以监控网络接口。
获取用于捕获 WebProxy 数据包的接口的 GUID。
在要安装 Google SecOps 转发器的机器上运行
getmac.exe
,然后将输出发送到 Google SecOps。或者,您也可以 修改配置文件找到 WebProxy 部分并替换 GUID 界面旁边显示的名称,以及运行getmac.exe
后显示的 GUID。修改 Google SecOps 转发器配置 (
FORWARDER_NAME.conf
) 文件,如下所示:- webproxy: common: enabled : true data_type: <Your LogType> batch_n_seconds: 10 batch_n_bytes: 1048576 interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734} bpf: tcp and dst port 80
在配置文件中配置关键属性
下表列出了转发器配置文件中使用的重要参数。
参数 | 说明 |
---|---|
data_type | 收集器可以收集和处理的日志数据类型。 |
元数据 | 元数据,用于替换全局元数据。 |
max_file_buffer_bytes | 磁盘或文件缓冲区中可累积的字节数上限。
默认值为 1073741824 ,即 1 GB。 |
max_memory_buffer_bytes | 内存缓冲区中可以累积的字节数上限。默认值为 1073741824 ,即 1 GB。 |
write_to_disk_dir_path | 要用于文件或磁盘缓冲区的路径。 |
write_to_disk_buffer_enabled | 如果为 true ,则使用磁盘缓冲区,而不是内存缓冲区。默认值为 false 。 |
batch_n_bytes | 在此之后,收集器可以累计的字节数上限
进行批量处理的节点。默认值为 1048576 ,即 1 MB。 |
batch_n_seconds | 收集器收集数据后,批处理数据所需的秒数。默认值为 11 秒。 |
data_hint | 收集器可以接收的数据格式(通常是 描述格式)。 |
如需查看配置文件中使用的参数的完整列表,请参阅转发器配置字段和收集器配置字段。
数据压缩
默认情况下,日志压缩处于停用状态。启用日志压缩功能可能会减少带宽消耗。不过,启用日志压缩 增加 CPU 使用率。请根据您的环境和日志数据来评估权衡。
如需启用日志压缩,请将 compression
字段设置为
true
(在 Google SecOps 转发器配置文件中)
如以下示例中所示:
FORWARDER_NAME.conf 文件
output: compression: true url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: 10479925-878c-11e7-9421-10604b7cb5c1 customer_id: ebdc4bb9-878b-11e7-8455-10604b7cb5c1 ...
FORWARDER_NAME_auth.conf 文件
output: identity: secret_key: | { "type": "service_account", ... }
磁盘缓冲
磁盘缓冲可让您将积压的消息缓冲到磁盘,而不是 内存。
您可以配置自动内存缓冲,以便在收集器之间使用动态共享缓冲区,从而更好地处理流量激增。如需启用动态共享缓冲区,请在转发器配置中添加以下内容:
auto_buffer: enabled: true target_memory_utilization: 80
如果已启用自动磁盘缓冲,但
target_memory_utilization
未定义,它使用默认值
共 70
个。
如果您使用 Docker 运行转发器,我们建议您将一个 将卷与配置卷分开,以便实现隔离。此外,每个输入都应与其自己的目录或卷隔离,以避免冲突。
配置示例
以下配置包括用于启用磁盘缓冲的语法:
collectors: - syslog: common: write_to_disk_buffer_enabled: true # /buffers/NIX_SYSTEM
is part of the external mounted volume for the forwarder write_to_disk_dir_path: /buffers/NIX_SYSTEM
max_file_buffer_bytes: 1073741824 batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
正则表达式过滤条件
通过正则表达式过滤条件,您可以按匹配模式过滤日志 原始日志数据进行对比。过滤器采用 RE2 语法。 过滤器必须包含正则表达式,并且可以选择性地定义一种行为 。
匹配项的默认行为是 block
。您可以使用 allow
指定过滤条件
行为。如果您指定了 allow
过滤条件,则转发器会屏蔽与至少一个 allow
过滤条件不匹配的任何日志。
您可以定义任意数量的过滤条件。Block
过滤条件采用
优先于 allow
过滤条件。
定义过滤器时,必须为其指定名称。有效广告资源的名称 过滤器将通过转发器运行状况报告给 Google SecOps 指标。在配置根中定义的过滤条件与在收集器级层定义的过滤条件合并。如果存在以下情况,收集器级别的过滤器 冲突的名称。如果未在根级或收集器中定义过滤器 则其行为是允许所有日志。
配置示例
在以下转发器配置中,与根过滤条件 (allow_filter
) 不匹配的 WINEVTLOG
日志会被屏蔽。鉴于
表达式,过滤条件只允许使用优先级介于 0 到 99 之间的日志。
不过,任何包含“foo”的NIX_SYSTEM
日志或“bar”遭到屏蔽
尽管存在 allow_filter
,这是因为过滤条件使用逻辑 OR。过滤器会一直触发,直到触发过滤器为止。
regex_filters: allow_filter: regexp: ^<[1-9][0-9]?$>.*$ behavior_on_match: allow collectors: - syslog: common: regex_filters: block_filter_1: regexp: ^.*foo.*$ behavior_on_match: block block_filter_2: regexp: ^.*bar.*$ batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
任意标签
标签用于通过键值对将自定义元数据附加到日志。 您可以为整个转发器或特定收集器配置标签 。如果两者都存在,收集器级别的标签会覆盖转发器 标签。
配置示例
在以下转发器配置中,“foo=bar”和“meow=mix”键和
值对都附加到 WINEVTLOG
日志中,而“foo=baz”和
“meow=mix”键值对附加到 NIX_SYSTEM
日志。
metadata: labels: foo: bar meow: mix collectors: syslog: common: metadata: labels: foo: baz meow: mix batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
命名空间
您可以使用命名空间标签来标识来自不同网段和 消除重叠的 IP 地址的冲突。 为转发器配置的任何命名空间都将与 Google SecOps 界面中的关联资产一起显示。你还可以在 Google Cloud 中 确保安全。
如需了解如何在 Google SecOps 界面中查看命名空间,请参阅资产命名空间。
配置示例
在以下转发器配置中,WINEVTLOG
日志为
已挂接到 FORWARDER 命名空间,且 NIX_SYSTEM
日志已附加到
挂接到 CORPORATE 命名空间。
metadata: namespace: FORWARDER collectors: - syslog: common: metadata: namespace: CORPORATE batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
负载均衡和高可用性选项
您可以配置 HTTP 服务器、负载均衡和高可用性选项 位于转发器配置文件的服务器部分下。这些选项支持设置超时时长和所返回的状态代码,此类状态代码用于响应在容器调度器和基于编排的部署中收到的健康检查,以及从负载均衡器返回的健康检查。
对运行状况、就绪性和活跃性检查使用以下网址路径。
<host:port>
值在转发器配置中定义。
http://<host:port>/meta/available
:容器的活跃性检查 调度器或编排器http://<host:port>/meta/ready
:就绪性检查和加载 负载平衡器健康检查
以下转发器配置是用于负载均衡和高可用性的配置示例:
collectors: - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60 server: graceful_timeout: 15s drain_timeout: 10s http: port: 8080 host: 0.0.0.0 read_timeout: 3s read_header_timeout: 3s write_timeout: 3s idle_timeout: 3s routes: - meta: available_status: 204 ready_status: 204 unready_status: 503
配置路径 | 说明 |
---|---|
server : graceful_timeout | 转发器返回不佳的就绪性/健康检查结果并且继续接受新连接的时间量。这也是在收到停止信号和实际开始关闭服务器之间等待的时间。这可让负载均衡器有时间从池中移除转发器。 |
server : drain_timeout | 转发器等待活动连接的时间 在被服务器关闭之前成功自动关闭。 |
server : http : port | HTTP 服务器侦听来自负载均衡器的健康检查的端口号。必须介于 1024-65535 之间。 |
server : http : host | 可以解析为 IP 地址的 IP 地址或主机名, 。如果为空,则默认值为本地系统 (0.0.0.0)。 |
server : http : read_timeout | 用于微调 HTTP 服务器。通常保留默认设置即可,无需更改。允许用于读取整个请求(标头和正文)的最长时间量。您可以同时设置 read_timeout 和 read_header_timeout。 |
server : http : read_header_timeout | 用于微调 HTTP 服务器。通常保留默认设置即可,无需更改。允许读取请求的最长时间 标头。读取连接时,截止时间会在读取 标头。 |
server : http : write_timeout | 用于微调 HTTP 服务器。通常保留默认设置即可,无需更改。允许发送响应的最长时间。 读取新请求标头时,此值会重置。 |
server : http : idle_timeout | 用于微调 HTTP 服务器。通常保留默认设置即可,无需更改。启用空闲连接后等待下一个请求的最长时间量。如果 idle_timeout 为零,则 使用 read_timeout 的值。如果两者都为零,则 read_header_timeout 为 。 |
routes : meta : ready_status | 转发器在准备好接受流量时返回的状态代码
属于以下任一情况:
|
routes : meta : unready_status | 转发器未准备好接受流量时返回的状态代码。 |
routes : meta : available_status | 收到活跃性检查且转发器可用时,转发器返回的状态代码。容器调度器或编排器通常会 活跃性检查 |