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