OpenResty Edge™ 日誌收集(Kubernetes 部署)

在 Kubernetes 環境中,OpenResty Edge Node 的每個 Pod 內建了一個基於 Fluent Bit 的日誌收集 sidecar 容器(oredge-node-log-collector)。該 sidecar 容器會自動收集 OpenResty Edge Node 產生的各類日誌檔案,並將其輸出到容器的標準輸出(stdout)和標準錯誤(stderr),從而與 Kubernetes 的日誌體系無縫整合。您可以透過 kubectl logs 命令或叢集中已部署的日誌平臺(如 Datadog、ELK、Loki 等)統一檢視和檢索這些日誌。

收集的日誌型別

日誌收集器覆蓋了 OpenResty Edge Node 的以下日誌檔案:

日誌類別日誌檔案輸出目標
HTTP 應用訪問日誌access.logstdout
HTTP 應用錯誤日誌error.logstderr
Stream 訪問日誌stream_access.logstdout
Stream 錯誤日誌stream_error.logstderr
DNS 訪問日誌dns_access.logstdout
DNS 錯誤日誌dns_error.logstderr
HTTP 正向代理訪問日誌http_proxy_access.logstdout
HTTP 正向代理錯誤日誌http_proxy_error.logstderr
SOCKS5 訪問日誌socks5_access.logstdout
SOCKS5 錯誤日誌socks5_error.logstderr
CC 防護日誌cc.logstderr
WAF 防護日誌waf.logstderr

所有訪問日誌(access log)輸出到 stdout,所有錯誤日誌(error log)以及安全防護日誌(CC、WAF)輸出到 stderr。

檢視日誌

您可以使用 kubectl logs 命令檢視日誌收集器的輸出:

# 檢視所有日誌(stdout + stderr)
kubectl logs <oredge-node-pod-name> -c oredge-node-log-collector -n openresty-edge

# 僅檢視最近 100 行
kubectl logs <oredge-node-pod-name> -c oredge-node-log-collector -n openresty-edge --tail=100

# 持續跟蹤新日誌
kubectl logs <oredge-node-pod-name> -c oredge-node-log-collector -n openresty-edge -f

每條日誌會自動附帶原始檔名字首,格式為 <檔名>: <日誌內容>,便於區分不同來源。例如:

access.log: 192.168.1.1 - - [23/Mar/2026:10:00:00 +0800] "GET / HTTP/1.1" 200 ...
error.log: 2026/03/23 10:00:01 [error] 12345#0: *1 connect() failed ...
waf.log: 2026/03/23 10:00:02 [waf] rule 1001 triggered ...

日誌檔名與路徑的限制

注意: 在 Kubernetes 部署模式下,OpenResty Edge Node 的日誌檔名和日誌路徑均為固定配置,無法透過 OpenResty Edge Admin 自定義修改。日誌收集器依賴上述固定的檔案路徑進行採集。如果修改了日誌檔名或路徑,日誌收集器將無法正確採集對應的日誌,導致這些日誌不會出現在容器的標準輸出中。

日誌收集器的資源配置

日誌收集 sidecar 容器的預設資源配置如下:

資源型別請求值(requests)上限值(limits)
CPU50m500m
記憶體64Mi512Mi

該配置適用於大多數場景。如果您的 OpenResty Edge Node 日誌量特別大,可以在部署檔案中適當調高資源上限。

您可以透過以下命令檢視日誌收集器的實際資源佔用情況(需要叢集中已部署 Metrics Server):

kubectl top pod <oredge-node-pod-name> -n openresty-edge --containers

輸出示例:

$ kubectl top pod oredge-node-0 -n openresty-edge --containers
POD             NAME                        CPU(cores)   MEMORY(bytes)
oredge-node-0   oredge-node                 7m           279Mi
oredge-node-0   oredge-node-log-collector   1m           31Mi