用途:解析并解读 Omni Gateway 日志,汇总错误、警告和异常,帮助判断网关是否有问题以及问题出在哪个组件或哪个阶段。适用于用户提供网关日志、需要弄清日志含义的场景。
主要能力:
- 识别两种日志格式:Docker 格式 [component][level] message,以及 Kubernetes 结构化格式 <ISO-timestamp> LEVEL [pod-name] component - message。
- 按严重级别统计 ERROR、WARN、INFO、DEBUG 数量。
- 按组件归类问题:flex-gateway-agent、flex-gateway-envoy、flex-external-processor、flex-gateway-fluent、open-telemetry-collector。
- 合并重复错误并以次数呈现,减少噪声。
- 对照已知失败模式表给出可能原因与下一步建议,例如授权超时、token 刷新失败、connected 模式下存在 Ingress 资源、v1 注册警告、上游连接失败、TLS 握手失败等。
- 依据正常启动顺序判断启动是否完成(如是否出现 all dependencies initialized. starting workers、Anypoint websocket: connected)。
- 输出结构化分析摘要,包含时间范围、总行数、级别、平台、模式、严重级别计数、组件分布、去重后主要问题、启动完成情况、根因假设和建议步骤。
必要用法: 获取日志:Linux systemd 用 sudo journalctl -u flex-gateway -n 200 --no-pager、-f 实时流、--since/--until 限时间窗;Docker 用 docker logs --tail=200 flex-gateway、-f、--timestamps;Kubernetes 先用 kubectl get pods -n <namespace> -l app.kubernetes.io/name=flex-gateway 找 Pod,再用 kubectl logs -n <namespace> <pod-name> --tail=200、-l 选择器加 --all-containers=true --tail=100、--previous 查看崩溃实例、-f 实时流。 开启 debug 日志:创建或编辑 /usr/local/share/mulesoft/flex-gateway/conf.d/logging.yaml,写入 apiVersion: gateway.mulesoft.com/v1alpha1、kind: Configuration、metadata.name: logging、spec.logging.runtimeLogs.logLevel: debug。Kubernetes 上作为 ConfigMap 挂载到 conf.d 卷,无需重启即可生效;改回 info 或删除该资源即可恢复。注意:没有 flexctl 命令可开启 debug 日志,Configuration YAML 是唯一受支持方式,connected 与 local 模式行为一致。
适用场景:排查启动卡住、注册失败、控制面断连、上游连接异常、TLS 问题、策略执行失败,以及日志截断或信息不足时决定是否开启 debug 并复现问题。
限制:资料未说明该技能的收费、价格、平台兼容性与性能效果;分析依赖日志完整性,日志过短或缺少时间戳时需向用户索取更长窗口;部分警告(如 Envoy 弃用字段、token 即将过期)属预期无害;日志转发与遥测导出错误不影响网关流量。缺失事实暂未提供。