收集 Kong Gateway 日志
本文档介绍了如何使用多种提取方法(包括 webhook、通过 Bindplane 代理的 syslog 和 Cloud Storage)将 Kong Gateway 和 Kong Konnect 日志收集到 Google Security Operations 中。
Kong Gateway 是一款基于 NGINX 构建的开源云原生 API 网关。它为 API 和微服务提供流量管理、身份验证、速率限制、分析和日志记录功能。Kong Konnect 是 Kong Gateway 的 SaaS 管理平台,可提供集中式控制平面管理、审核日志记录和可观测性。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 正在运行的 Kong Gateway 实例(自行管理)或 Kong Konnect 账号 (SaaS)
- 对端口
8001(HTTP) 或8444(HTTPS) 上的 Kong Gateway Admin API 的管理访问权限 - 对于 Kong Konnect:具有相应权限的个人访问令牌 (PAT) 或系统账号令牌
- 对 Google Cloud Console 的访问权限(用于创建 API 密钥,如果使用 Webhook 提取)
配置 Kong Gateway 以使用 Webhook(HTTP Log 插件)推送日志
此方法使用 Kong Gateway HTTP Log 插件通过 HTTP POST 将请求和响应日志直接发送到 Google SecOps 网络钩子端点。每个代理请求都会生成一个 JSON 日志条目,并发送到配置的端点。
在 Google SecOps 中创建 Webhook Feed
创建 Feed
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Kong Gateway Logs)。 - 选择 Webhook 作为来源类型。
- 选择 Kong Gateway 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 定界符(可选):输入
\n以拆分以换行符分隔的 JSON 事件 - 资产命名空间:资产命名空间
- 注入标签:要应用于此 Feed 中事件的标签
- 定界符(可选):输入
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
生成并保存密钥
创建 Feed 后,您必须生成用于身份验证的密钥:
- 在 Feed 详情页面上,点击生成密钥。
- 系统会显示一个对话框,其中包含密钥。
- 复制并妥善保存此密钥。
重要提示:密钥只会显示一次,之后无法再检索。如果您丢失了密钥,必须生成新的密钥。
获取 Feed 端点网址
- 前往相应 Feed 的详细信息标签页。
- 在端点信息部分,复制 Feed 端点网址。
网址格式为:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate保存此网址以供后续步骤使用。
点击完成。
创建 Google Cloud API 密钥
Chronicle 需要 API 密钥进行身份验证。在 Google Cloud Console 中创建受限 API 密钥。
创建 API 密钥
- 前往 Google Cloud 控制台的“凭据”页面。
- 选择您的项目(与您的 Chronicle 实例关联的项目)。
- 依次点击创建凭据> API 密钥。
- 系统会创建一个 API 密钥,并在对话框中显示该密钥。
- 点击修改 API 密钥以限制密钥。
限制 API 密钥
- 在 API 密钥设置页面中:
- 名称:输入一个描述性名称(例如
Chronicle Webhook API Key)
- 名称:输入一个描述性名称(例如
- 在 API 限制下:
- 选择限制密钥。
- 在选择 API 下拉菜单中,搜索并选择 Google SecOps API(或 Chronicle API)。
- 点击保存。
- 从页面顶部的 API 密钥字段复制 API 密钥值。
安全地保存 API 密钥。
构建网络钩子网址
将 Chronicle 端点网址和 API 密钥组合在一起:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>示例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
保存此完整网址,以用于 Kong Gateway HTTP Log 插件配置。
配置 Kong Gateway HTTP Log 插件
HTTP 日志插件会通过 JSON 格式的 POST 请求将请求和响应日志发送到 HTTP 端点。您可以使用 Kong Admin API 全局启用插件(适用于所有服务和路由)、按服务启用插件或按路由启用插件。
全局启用 HTTP 日志插件
如需将所有代理请求的日志发送到 Google SecOps,请向 Kong Admin API 发送以下请求,以全局启用该插件:
curl -i -X POST http://localhost:8001/plugins/ \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "http-log", "config": { "http_endpoint": "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>", "method": "POST", "timeout": 3000, "keepalive": 60000, "retry_count": 1, "queue": { "max_batch_size": 100, "max_coalescing_delay": 10 } } }'
替换以下内容:
<ENDPOINT_URL>:Google SecOps Feed 端点网址<API_KEY>:Google Cloud API 密钥<SECRET_KEY>:Google SecOps 网络钩子密钥
为特定服务启用 HTTP 日志插件
如需仅发送特定服务的日志,请发送以下请求:
curl -i -X POST http://localhost:8001/services/{serviceName|Id}/plugins/ \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "http-log", "config": { "http_endpoint": "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>", "method": "POST", "timeout": 3000, "keepalive": 60000, "retry_count": 1 } }'将
{serviceName|Id}替换为目标服务的名称或 ID。
为特定路由启用 HTTP 日志插件
如需仅发送特定路线的日志,请发送以下请求:
curl -i -X POST http://localhost:8001/routes/{routeName|Id}/plugins/ \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "http-log", "config": { "http_endpoint": "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>", "method": "POST", "timeout": 3000, "keepalive": 60000, "retry_count": 1 } }'将
{routeName|Id}替换为目标路由的名称或 ID。
通过 Kong Konnect API 启用 HTTP Log 插件
如果您通过 Kong Konnect 管理 Kong Gateway,请使用 Konnect API 启用 HTTP Log 插件:
curl -X POST https://{region}.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/plugins/ \ --header "accept: application/json" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $KONNECT_TOKEN" \ --data '{ "name": "http-log", "config": { "http_endpoint": "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>", "method": "POST", "timeout": 3000, "keepalive": 60000, "retry_count": 1 } }'
替换以下内容:
{region}:托管 Kong Konnect 的地理区域(例如us、eu){controlPlaneId}:控制平面的 ID$KONNECT_TOKEN:您的个人访问令牌 (PAT)
通过声明性配置 (decK) 启用 HTTP 日志插件
将以下内容添加到
kong.yaml配置文件中:_format_version: "3.0" plugins: - name: http-log config: http_endpoint: "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" method: POST timeout: 3000 keepalive: 60000 retry_count: 1 queue: max_batch_size: 100 max_coalescing_delay: 10
验证 HTTP 日志插件
通过 Kong Gateway 发送测试请求:
curl -i http://localhost:8000/your-route通过列出插件来验证插件是否已启用:
curl -s http://localhost:8001/plugins/ | grep http-log在 Google SecOps 中,前往搜索,然后搜索包含
metadata.log_type = "KONG_GATEWAY"的日志,以确认日志提取。
配置 Kong Konnect 审核日志网络钩子
此方法用于配置 Kong Konnect (SaaS),以将审核日志(身份验证、授权和访问事件)推送到 Google SecOps webhook 端点。
生成 Kong Konnect 个人访问令牌
- 登录 Kong Konnect。
- 点击右上角的用户图标,打开上下文菜单。
- 点击个人访问令牌。
- 点击 Generate Token(生成令牌)。
- 输入令牌的名称(例如,
Chronicle Audit Log Setup)。 - 选择失效期限。
- 点击生成。
- 复制并妥善保存令牌。令牌只会显示一次。
为 Konnect 审核日志创建 Google SecOps Webhook Feed
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Kong Konnect Audit Logs)。 - 选择 Webhook 作为来源类型。
- 选择 Kong Gateway 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- 拆分定界符:输入
\n可拆分以换行符分隔的事件 - 资产命名空间:资产命名空间
- 注入标签:要应用于此 Feed 中事件的标签
- 拆分定界符:输入
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
- 点击 Generate Secret Key(生成密钥),然后保存密钥。
- 前往详细信息标签页,然后复制 Feed 端点网址。
- 按照上一部分中的步骤创建 Google Cloud API 密钥。
构建完整的网络钩子网址:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
在 Konnect 中创建审核日志目标位置
向 Konnect API 发送 POST 请求,以创建审核日志目的地:
curl -X POST "https://global.api.konghq.com/v3/audit-log-destinations" \ --header "Authorization: Bearer $KONNECT_TOKEN" \ --header "Content-Type: application/json" \ --data '{ "endpoint": "<ENDPOINT_URL>?key=<API_KEY>", "authorization": "<SECRET_KEY>", "log_format": "json", "name": "Chronicle SecOps" }'
替换以下内容:
$KONNECT_TOKEN:您的 Kong Konnect 个人访问令牌<ENDPOINT_URL>:Google SecOps Feed 端点网址<API_KEY>:Google Cloud API 密钥<SECRET_KEY>:Google SecOps 网络钩子密钥
保存响应中的 id 值以供下一步使用。
启用审核日志 Webhook
发送 PATCH 请求以启用 webhook:
curl -X PATCH "https://us.api.konghq.com/v3/audit-log-webhook" \ --header "Authorization: Bearer $KONNECT_TOKEN" \ --header "Content-Type: application/json" \ --data '{ "audit_log_destination_id": "<DESTINATION_ID>", "enabled": true }'将
<DESTINATION_ID>替换为上一步返回的 ID。
验证 Konnect 审核日志传送
通过发出 Konnect API 请求来触发审核日志事件:
curl -X GET "https://us.api.konghq.com/v2/control-planes" \ --header "Authorization: Bearer $KONNECT_TOKEN"等待 1-2 分钟,让日志传播。
在 Google SecOps 中,搜索包含
metadata.log_type = "KONG_GATEWAY"的日志。
Konnect 审核日志 webhook 行为
- 对于
429(请求过多)和500(服务器错误)HTTP 状态代码,Konnect 会重试网络钩子传送。 - 重试等待时间下限:1 秒。
- 重试等待时间上限:30 秒。
- 重试次数上限:4。
- Konnect 会将审核日志保留 7 天。7 天后,日志会被永久删除。
- 支持的日志格式:
cef(ArcSight CEF 格式)、json和cps(CrowdStrike 解析标准)。
身份验证方法参考
Chronicle webhook Feed 支持多种身份验证方法。选择供应商支持的方法。
方法 1:查询参数
Kong Gateway HTTP Log 插件支持在网址中传递凭据。
网址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>示例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
方法 2:带有查询参数的自定义标头
Kong Gateway HTTP Log 插件通过 config.headers 参数支持自定义 HTTP 标头。您可以在网址中传递 API 密钥,并在自定义标头中传递密钥。
Kong Admin API 示例:
curl -i -X POST http://localhost:8001/plugins/ \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "http-log", "config": { "http_endpoint": "<ENDPOINT_URL>?key=<API_KEY>", "method": "POST", "timeout": 3000, "headers": { "x-chronicle-auth": "<SECRET_KEY>" } } }'
身份验证标头名称
Chronicle 接受以下身份验证标头名称:
对于 API 密钥:
x-goog-chronicle-auth(推荐)X-Goog-Chronicle-Auth(不区分大小写)
对于密钥:
x-chronicle-auth(推荐)X-Chronicle-Auth(不区分大小写)
Webhook 限制和最佳实践
请求限制
| 限制 | 值 |
|---|---|
| 最大请求大小 | 4 MB |
| 最大 QPS(每秒查询次数) | 15000 |
| 请求超时 | 30 秒 |
| 重试行为 | 自动(使用指数退避算法) |
Kong HTTP Log 插件队列配置
| 参数 | 说明 | 推荐值 |
|---|---|---|
| config.queue.max_batch_size | 每个批次的日志条目数量上限 | 100 |
| config.queue.max_coalescing_delay | 发送批次之前的最长等待时间(以秒为单位) | 10 |
| config.queue.max_entries | 队列中的条目数量上限 | 10000 |
| config.queue.max_retry_time | 重试失败的传送操作的最长时间(以秒为单位) | 60 |
| config.queue.initial_retry_delay | 重试前的初始等待时间(以秒为单位) | 0.01 |
使用 Bindplane 代理配置 Kong Gateway syslog 转发
此方法使用 Kong Gateway Syslog 插件将日志写入本地 syslog 守护程序,然后由 Bindplane 代理收集这些日志并将其转发到 Google SecOps。此方法适用于自管理的 Kong Gateway 部署。
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet等待安装完成。
运行以下命令,验证安装是否成功:
sc query observiq-otel-collector
该服务应显示为 正在运行。
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh等待安装完成。
运行以下命令,验证安装是否成功:
sudo systemctl status observiq-otel-collector
该服务应显示为有效(正在运行)。
其他安装资源
如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南。
配置 Bindplane 代理以注入 syslog 并将其发送到 Google SecOps
找到配置文件
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
修改配置文件
将
config.yaml的全部内容替换为以下配置:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/kong_gateway: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: KONG_GATEWAY raw_log_field: body service: pipelines: logs/kong_to_chronicle: receivers: - udplog exporters: - chronicle/kong_gateway
配置参数
替换以下占位符:
导出器配置:
<CUSTOMER_ID>:在上一步中复制的 Google SecOps 客户 ID- creds_file_path:数据注入身份验证文件的完整路径:
- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
- 端点:区域端点网址:
- 美国:
malachiteingestion-pa.googleapis.com - 欧洲:
europe-malachiteingestion-pa.googleapis.com - 亚洲:
asia-southeast1-malachiteingestion-pa.googleapis.com - 如需查看完整列表,请参阅区域级端点
- 美国:
保存配置文件
- 修改后,保存文件:
- Linux:依次按
Ctrl+O、Enter和Ctrl+X - Windows:依次点击文件 > 保存
- Linux:依次按
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart observiq-otel-collector验证服务是否正在运行:
sudo systemctl status observiq-otel-collector检查日志是否存在错误:
sudo journalctl -u observiq-otel-collector -f
如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:
以管理员身份运行命令提示符或 PowerShell:
net stop observiq-otel-collector && net start observiq-otel-collector
服务控制台:
- 按 Win+R,输入 services.msc,然后按 Enter 键。
- 找到 observIQ OpenTelemetry 收集器。
- 右键点击并选择重新启动。
验证服务是否正在运行:
sc query observiq-otel-collector检查日志是否存在错误:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
配置 Kong Gateway syslog 转发
您可以通过 syslog 转发 Kong Gateway 日志,具体有两种方法:使用 Syslog 插件(用于每个请求的 API 流量日志)和使用 kong.conf(用于系统级访问和错误日志)。
方法 1:通过 Admin API 启用 Syslog 插件
Syslog 插件以 JSON 格式将每个代理的请求和响应记录到本地 syslog 守护程序。通过向 Kong Admin API 发送以下请求,全局启用该插件:
curl -i -X POST http://localhost:8001/plugins/ \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data '{ "name": "syslog", "config": { "log_level": "info", "successful_severity": "info", "client_errors_severity": "info", "server_errors_severity": "info" } }'
Syslog 插件配置参数:
- log_level:要发送到 syslog 的最低日志级别。接受的值:
debug、info、notice、warning、err、crit、alert、emerg。默认值:info。 - successful_severity:成功请求(2xx 状态代码)的 Syslog 严重程度。默认值:
info。 - client_errors_severity:客户端错误请求(状态代码为 4xx)的 Syslog 严重程度。默认值:
info。 server_errors_severity:服务器错误请求(状态代码为 5xx)的 Syslog 严重程度。默认值:
info。
方法 2:配置 kong.conf 以进行远程 syslog 转发
如需将 Kong Gateway 系统日志(访问日志和错误日志)直接转发到远程 syslog 服务器,请修改
kong.conf文件并设置以下参数:proxy_access_log=syslog:server=<BINDPLANE_IP>:514,facility=user,tag=kong_proxy_access,severity=info proxy_error_log=syslog:server=<BINDPLANE_IP>:514,facility=user,tag=kong_proxy_error,severity=info admin_access_log=syslog:server=<BINDPLANE_IP>:514,facility=user,tag=kong_admin_access,severity=info admin_error_log=syslog:server=<BINDPLANE_IP>:514,facility=user,tag=kong_admin_error,severity=info
将 <BINDPLANE_IP> 替换为运行 Bindplane 代理的主机的 IP 地址。
修改
kong.conf后,重启 Kong Gateway:kong restart
方法 3:通过声明性配置 (decK) 启用 Syslog 插件
将以下内容添加到
kong.yaml配置文件中:_format_version: "3.0" plugins: - name: syslog config: log_level: info successful_severity: info client_errors_severity: info server_errors_severity: info
验证 Syslog 转发
通过 Kong Gateway 发送测试请求:
curl -i http://localhost:8000/your-route检查 Bindplane 代理日志中是否有传入的 syslog 消息:
sudo journalctl -u observiq-otel-collector -f在 Google SecOps 中,搜索包含
metadata.log_type = "KONG_GATEWAY"的日志,以确认日志注入。
Kong Gateway 日志格式参考
所有 Kong Gateway 日志记录插件(HTTP Log、Syslog、File Log、TCP Log、UDP Log)都以相同的 JSON 格式输出日志。每个日志条目都包含以下字段:
| 字段 | 说明 |
|---|---|
| 请求 | 客户端请求的属性,包括标头、方法、URI、大小和网址 |
| 响应 | 响应的属性,包括状态代码、标头和大小 |
| latencies.kong | 内部 Kong 网关处理延迟时间(以毫秒为单位) |
| latencies.proxy | 上游服务处理请求的时间(以毫秒为单位) |
| latencies.request | 从收到第一个字节到发送最后一个字节的总请求时间(以毫秒为单位) |
| latencies.receive | 接收和处理上游响应的时间(以毫秒为单位) |
| 服务 | 与请求关联的网关服务的属性 |
| 路线 | 所请求的特定路线的属性 |
| client_ip | 原始客户端 IP 地址 |
| 尝试次数 | 负载平衡器迭代,包括 IP、端口和均衡器延迟时间 |
| 工作区 | 与请求关联的 Workspace 的 UUID |
| workspace_name | 与请求关联的工作区的名称 |
| upstream_uri | 发送给上游服务的 URI |
| upstream_status | 从上游服务收到的 HTTP 状态代码 |
| source | 指明回答是由 kong 还是 upstream 生成的 |
| started_at | 请求处理开始时的 Unix 时间戳 |
| consumer | 经过身份验证的消费者(仅在启用身份验证时存在) |
| authenticated_entity | 经过身份验证的凭据的属性(仅在启用身份验证时显示) |
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| intermediary_host | 中介 | 从包含 intermediary_host 中的主机名和 xff_ips 中的 IP 的中间哈希合并而来 |
| xff_ips | 中介 | |
| service.host | metadata.event_type | 如果 service.host 或 client_ip 不为空,则设置为“NETWORK_CONNECTION”;否则,如果 target 不为空,则设置为“STATUS_UNCATEGORIZED”;否则设置为“GENERIC_EVENT” |
| client_ip | metadata.event_type | |
| request.headers.x-consumer-id | metadata.ingestion_labels | 合并为标签,键为“x-consumer-id”,值为 request.headers.x-consumer-id |
| metadata._id | metadata.product_log_id | 直接复制值 |
| metadata.version | metadata.product_version | 直接复制值 |
| application_protocol | network.application_protocol | 从 route.protocols 或 service.protocol 设置的 application_protocol 的值 |
| request.method | network.http.method | 直接复制值 |
| response.status | network.http.response_code | 转换为整数 |
| response.size | network.received_bytes | 已转换为 uinteger |
| request.size | network.sent_bytes | 已转换为 uinteger |
| agent.name | observer.asset_id | 由 agent.name 和 agent.id 连接而成 |
| agent.id | observer.asset_id | |
| agent.hostname | observer.hostname | 直接复制值 |
| agent.version | observer.platform_version | 直接复制值 |
| agent.ephemeral_id | observer.resource.attribute.labels | 合并为键为“ephemeral_id”、值为 agent.ephemeral_id 的标签 |
| cloud.availability_zone | principal.cloud.availability_zone | 直接复制值 |
| cloud.instance.id | principal.cloud.project.id | 直接复制值 |
| cloud.instance.name | principal.cloud.project.name | 直接复制值 |
| cloud.machine.type | principal.cloud.project.type | 如果不为空,则设置为“VIRTUAL_MACHINE” |
| principal_host | principal.hostname | 如果 principal_host 中的值不为空,则返回该值;否则返回 host.fqdn |
| host.fqdn | principal.hostname | |
| host.ip | principal.ip | 从 host.ip 数组合并 |
| host.mac | principal.mac | 从 host.mac 数组合并 |
| host.os.name | principal.platform | 如果匹配 (?i)Linux,则设置为“LINUX”;如果匹配 (?i)windows,则设置为“WINDOWS”;如果匹配 (?i)mac,则设置为“MAC” |
| host.os.version | principal.platform_version | 直接复制值 |
| request.headers.content-type | principal.resource.attribute.labels | 从以下标签合并而来:键为“content-type”且值为 request.headers.content-type 的标签,以及键为“auth_type”且值为 request.decoded_headers.authorization.auth_type 的标签 |
| request.decoded_headers.authorization.auth_type | principal.resource.attribute.labels | |
| request.url | principal.url | 直接复制值 |
| request.decoded-headers.authorization.user | principal.user.user_display_name | 直接复制值 |
| log_level | security_result | 根据 log_level 正则表达式匹配结果设置严重程度,并从 security_result 哈希合并 |
| service.host | target.asset_id | 由 service.host 和 service.id 连接而成 |
| service.id | target.asset_id | |
| log.file.path | target.file.full_path | 直接复制值 |
| service.host | target.hostname | 如果 service.host 不是 IP,则直接复制值 |
| client_ip | target.ip | 如果 service.host 是 IP,则从 client_ip 和 service_host 合并 |
| service_host | target.ip | |
| service.port | target.port | 转换为整数 |
| response.headers.set-cookie | target.resource.attribute.labels | 从具有以下键和值的标签合并而来:键为“set-cookie”,值为 response.headers.set-cookie;键为“route.id”,值为 route.id |
| route.id | target.resource.attribute.labels | |
| metadata.vendor_name | metadata.vendor_name | 设置为“KONG_GATEWAY” |
| metadata.product_name | metadata.product_name | 设置为“KONG_GATEWAY” |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。