From 18c204cdc95707a1768d8e5550026cef5e445708 Mon Sep 17 00:00:00 2001 From: ethan Date: Tue, 8 Nov 2022 19:28:26 +0800 Subject: [PATCH] update loggie.md Signed-off-by: ethan --- .../observability/img/log-arc.png | Bin 0 -> 49913 bytes .../best-practices/observability/loggie.md | 88 +++++++++++++++++- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 docs/user-guide/best-practices/observability/img/log-arc.png diff --git a/docs/user-guide/best-practices/observability/img/log-arc.png b/docs/user-guide/best-practices/observability/img/log-arc.png new file mode 100644 index 0000000000000000000000000000000000000000..973ae73d0897d4455e91c3072137e4fa451c8c09 GIT binary patch literal 49913 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 zj55=qU400的请求全记录,对<400的请求进行过滤记录。 + +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: EnvoyFilter +metadata: + name: accesslog-filter + namespace: hango-system # as defined in meshConfig resource. +spec: + configPatches: + - applyTo: NETWORK_FILTER + match: + listener: + filterChain: + filter: + name: "envoy.http_connection_manager" + patch: + operation: MERGE + value: + name: "envoy.filters.network.http_connection_manager" + typed_config: + "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager" + accessLog: + - filter: + or_filter: + filters: + - status_code_filter: + comparison: + op: GE + value: + runtime_key: runtime.accessLog.response.code.key + default_value: 400 + - runtime_filter: + runtime_key: runtime.accessLog.response.code.key + percent_sampled: + numerator: 50 +``` + +## ResponseFlag + +ResponseFlag 是Hango网关基于Envoy实现,所特有的日志flag状态,用于能够快速的定位upstream问题。 + +ResponseFlag参考: + +* UH: 无可用健康的上游服务实例 +* UF: 连接失败 +* UO: 超出最大可pending请求 +* NR: 无路由(404)或者服务未正确发布(503) +* URX: 超过最大重试次数 +* DC: 客户端断开连接 +* LH: 本地服务健康检查失败 +* UT: 请求超时 +* LR: 本地重置连接 +* UR: 服务端重置连接 +* UC: 上游连接中止 +* DI: 请求被注入延迟后处理 +* FI: 错误注入 +* RL: 限流 +* UAEX: 被鉴权插件禁止访问 +* RLSE: 限流服务内部出错 +* IH: 对于严格检查的header设置了不可用的值 +* SI: 请求流空闲时间超时 +* DPE: 下游请求存在HTTP协议错误 \ No newline at end of file