收集 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 控制台 (如使用 Webhook 擷取功能,則需建立 API 金鑰)
設定 Kong Gateway,使用 Webhook (HTTP Log 外掛程式) 推送記錄
這個方法會使用 Kong Gateway HTTP Log 外掛程式,透過 HTTP POST 將要求和回應記錄直接傳送至 Google SecOps Webhook 端點。每個 Proxy 要求都會產生 JSON 記錄項目,並傳送至設定的端點。
在 Google SecOps 中建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Kong Gateway Logs)。 - 選取「Webhook」做為「來源類型」。
- 選取「Kong Gateway」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號 (選用):輸入
\n,分割以換行符號分隔的 JSON 事件 - 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號 (選用):輸入
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生驗證用的密鑰:
- 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
重要事項:密鑰只會顯示一次,之後便無法擷取,如果遺失,就必須產生新的密鑰。
取得動態消息端點網址
- 前往動態消息的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate請儲存這個網址,以供後續步驟使用。
按一下 [完成]。
建立 Google Cloud API 金鑰
Chronicle 需要 API 金鑰才能進行驗證。請在 Google Cloud 控制台中建立受限的 API 金鑰。
建立 API 金鑰
- 前往 Google Cloud 控制台的「憑證」頁面。
- 選取專案 (與 Chronicle 執行個體相關聯的專案)。
- 依序按一下「建立憑證」>「API 金鑰」。
- 系統會建立 API 金鑰,並顯示在對話方塊中。
- 按一下「編輯 API 金鑰」即可限制金鑰。
限制 API 金鑰
- 在「API 金鑰」設定頁面中:
- 名稱:輸入描述性名稱 (例如
Chronicle Webhook API Key)
- 名稱:輸入描述性名稱 (例如
- 在「API 限制」下方:
- 選取「Restrict key」(限制金鑰)。
- 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
- 按一下 [儲存]。
- 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
安全地儲存 API 金鑰。
建構 Webhook 網址
合併 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 Log 外掛程式會透過 JSON 格式的 POST 要求,將要求和回應記錄傳送至 HTTP 端點。您可以使用 Kong Admin API,為所有服務和路徑、每個服務或每個路徑啟用外掛程式。
全域啟用 HTTP Log 外掛程式
如要將所有 Proxy 要求的記錄傳送至 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 動態饋給端點網址<API_KEY>:Google Cloud API 金鑰<SECRET_KEY>:Google SecOps Webhook 密鑰
為特定服務啟用 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 稽核記錄 Webhook
這個方法會設定 Kong Konnect (SaaS),將稽核記錄 (驗證、授權和存取事件) 推送至 Google SecOps Webhook 端點。
產生 Kong Konnect 個人存取權杖
- 登入 Kong Konnect。
- 按一下右上角的使用者圖示,開啟內容選單。
- 按一下「Personal access tokens」。
- 按一下 [產生憑證]。
- 輸入權杖名稱 (例如
Chronicle Audit Log Setup)。 - 選取有效期限。
- 點按「生成」。
- 複製並妥善儲存權杖。權杖只會顯示一次。
為 Konnect 稽核記錄建立 Google SecOps Webhook 饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Kong Konnect Audit Logs)。 - 選取「Webhook」做為「來源類型」。
- 選取「Kong Gateway」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號:輸入
\n,分割以換行符號分隔的事件 - 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號:輸入
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
- 按一下「產生密鑰」並儲存密鑰。
- 前往「詳細資料」分頁,然後複製「動態消息端點網址」。
- 按照上一節的步驟建立 Google Cloud API 金鑰。
建構完整的 Webhook 網址:
<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 動態饋給端點網址<API_KEY>:Google Cloud API 金鑰<SECRET_KEY>:Google SecOps Webhook 密鑰
儲存回應中的 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 行為
- 如果 HTTP 狀態碼為
429(要求數過多) 和500(伺服器錯誤),Konnect 會重試傳送 Webhook。 - 重試等待時間下限:1 秒。
- 重試等待時間上限:30 秒。
- 重試次數上限:4 次。
- Konnect 會保留稽核記錄 7 天,7 天後就會永久刪除記錄。
- 支援的記錄檔格式:
cef(ArcSight CEF 格式)、json和cps(CrowdStrike 剖析標準)。
驗證方法參考資料
Chronicle 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。
方法 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) 上限 | 15,000 |
| 要求逾時 | 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 系統記錄轉送
這個方法會使用 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
服務應顯示為「RUNNING」。
Linux 安裝
- 開啟具有根層級或 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 代理程式,擷取系統記錄檔並傳送至 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 Collector。
- 按一下滑鼠右鍵,然後選取「重新啟動」。
確認服務正在執行:
sc query observiq-otel-collector檢查記錄中是否有錯誤:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
設定 Kong Gateway 系統記錄檔轉送
您可以透過兩種方法,使用 Syslog 轉送 Kong Gateway 記錄:使用 Syslog 外掛程式 (適用於每個要求的 API 流量記錄),以及使用 kong.conf (適用於系統層級的存取和錯誤記錄)。
方法 1:透過 Admin API 啟用 Syslog 外掛程式
Syslog 外掛程式會以 JSON 格式,將每個經過 Proxy 的要求和回應記錄到本機 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:要傳送至系統記錄的最低記錄層級。接受的值:
debug、info、notice、warning、err、crit、alert、emerg。預設值:info。 - successful_severity:成功要求 (2xx 狀態碼) 的 Syslog 嚴重程度。預設值:
info。 - client_errors_severity:用戶端錯誤要求 (4xx 狀態碼) 的系統記錄嚴重程度。預設值:
info。 server_errors_severity:伺服器錯誤要求 (5xx 狀態碼) 的系統記錄嚴重程度。預設值:
info。
方法 2:設定 kong.conf,將系統記錄檔轉送至遠端
如要將 Kong Gateway 系統記錄 (存取記錄和錯誤記錄) 直接轉送至遠端系統記錄伺服器,請編輯
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
確認系統記錄檔轉送功能
透過 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 Gateway 內部處理延遲時間 (毫秒) |
| latencies.proxy | 上游服務處理要求所需的時間 (以毫秒為單位) |
| latencies.request | 從收到第一個位元組到傳送最後一個位元組的總要求時間 (以毫秒為單位) |
| latencies.receive | 接收及處理上游回應的時間 (以毫秒為單位) |
| service | 與要求相關聯的閘道服務屬性 |
| route | 所要求特定路徑的屬性 |
| client_ip | 原始用戶端 IP 位址 |
| 嘗試 | 負載平衡器疊代,包括 IP、連接埠和負載平衡器延遲時間 |
| 工作區 | 與要求相關聯的 Workspace UUID |
| workspace_name | 與要求相關聯的 Workspace 名稱 |
| upstream_uri | 傳送至上游服務的 URI |
| upstream_status | 從上游服務收到的 HTTP 狀態碼 |
| 來源 | 指出回覆是由 kong 還是 upstream 生成 |
| started_at | 開始處理要求的 Unix 時間戳記 |
| 消費者 | 通過驗證的消費者 (僅在啟用驗證時顯示) |
| authenticated_entity | 通過驗證的憑證屬性 (僅在啟用驗證時顯示) |
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| intermediary_host | 中介 | 從含有 intermediary_host 中主機名稱和 xff_ips 中 IP 的中介雜湊合併 |
| xff_ips | 中介 | |
| service.host | metadata.event_type | 如果 service.host 或 client_ip 不為空白,則設為「NETWORK_CONNECTION」;如果目標不為空白,則設為「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 | 從 security_result 雜湊合併,並根據 log_level 規則運算式比對設定嚴重程度 |
| 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 專業人員尋求答案。