应用服务网格

日志中心

2025-08-14 03:02:20

服务网格支持采集控制面(control plane)和数据面(sidecar)日志,并提供在服务网格控制台的日志中心查看日志。

基础概念

  1. 日志单元:日志单元是云日志服务中日志数据的采集、存储、查询、分析的基本单元。每个日志单元隶属于一个日志项目,每日志项目中可创建多个日志单元。

  2. 日志项目:日志项目是云日志服务的资源管理单位,您可使用日志项目管理不同的应用、产品或项目中的数据。每个日志项目下可创建多个日志单元,是您访问云日志服务资源的入口。

前提条件

  1. 天翼云账号已经开通了云日志服务,如果没有开通可以通过服务网格控制台->网格实例->自定义配置->创建云日志服务。

  2. 网格控制面和数据面集群已经安装了日志采集插件log-operator。可以通过ccse控制台->插件->插件市场安装。

启用服务网格日志采集

  1. 登录服务网格控制台,在左侧的导航栏中选择网格实例->自定义配置。

  2. 点击启用访问日志服务采集按钮,开启数据平面的日志采集。在日志项目输入框输入访问日志服务对应的日志项目,如下图所示。

  3. 点击启用控制面日志服务采集按钮,开启数据平面的日志采集。在日志项目输入框输入访问日志服务对应的日志项目,如下图所示。

日志项目名称既可以是云日志服务中已存在的日志项目项目,也可以是新创建的项目。您可以参考云日志服务产品手册(https://www.ctyun.cn/document/10261471/10262797)查看已有的项目。如果需要新建项目,服务网格控制台会自动为您创建对应名称的项目。

日志中心日志查询

您可以在日志服务控制台查询服务网格控制面和数据面的日志,更多详情可参考日志云日志服务产品手册(https://www.ctyun.cn/document/10261471/10267806)

数据面日志输出格式

目前服务网格的数据面日志访问格式采用Envoy默认格式:

[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%"

%RESPONSE_CODE% %RESPONSE_FLAGS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION%

%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%"

"%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"\n

 

以下是一个日志格式的例子:
[2016-04-15T20:17:00.310Z] "POST /api/v1/locations HTTP/2" 204 - 154 0 226 100 "10.0.35.28"

"nsq2http" "cc21d9b0-cf5c-432b-8c7e-98aeb7988cd2" "locations" "tcp://10.0.2.1:80"

 

以下是日志样式字段的说明:

参数

描述

START_TIME

请求开始时间

REQ(:METHOD)

请求方法

REQ(X-ENVOY-ORIGINAL-PATH?:PATH)

请求的原始路径,若无则使用标准路径

PROTOCOL

请求所使用的协议

RESPONSE_CODE

服务器对请求的响应状态码

RESPONSE_FLAGS

响应的标志,提供关于响应的特性信息

BYTES_RECEIVED

接收到的字节数,指示请求消息的大小

BYTES_SENT

发送出去的字节数,指示响应消息的大小。

DURATION

请求处理的持续时间,包括接收到请求到发送响应的时间

RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)

上游服务的响应时间,表示上游服务处理请求所花费的时间

REQ(X-FORWARDED-FOR)

请求的xff头部

REQ(USER-AGENT)

请求的用户代理,标识发起请求的软件

REQ(X-REQUEST-ID)

请求的唯一标识符,用于跟踪请求的生命周期。

REQ(:AUTHORITY)

请求的主机名,在HTTP/2中对应请求的authority字段

 

RESPONSE_FLAGS说明

完整名称

短名

说明

NoHealthyUpstream

UH

没有健康的上游服务,返回503状态码

UpstreamConnectionFailure

UF

连接上游失败,返回503状态码

UpstreamOverflow

UO

上游服务被熔断,返回503状态码

NoRouteFound

NR

找不到路由或者找不到过滤器链,返回404状态码

UpstreamRetryLimitExceeded

URX

 

超过上游重试次数

NoClusterFound

NC

找不到上游集群

DurationTimeout

DT

请求超时

DownstreamConnectionTermination

DC

下游连接中断

FailedLocalHealthCheck

LH

集群健康检查失败,返回503状态码

UpstreamRequestTimeout

UT

上游服务超时,返回504状态码

LocalReset

LS

连接被本地重置,返回503状态码

UpstreamRemoteReset

 

UR

连接被上游重置,返回503状态码

UpstreamConnectionTermination

UC

上游连接中断,返回503状态码

DelayInjected

DI

请求被注入了延迟

FaultInjected

FI

请求被注入了错误

RateLimited

RL

请求被限流,返回429错误码

UnauthorizedExternalService

UAEX

请求被外部授权服务拒绝

RateLimitServiceError

RLSE

由于限流服务报错导致请求被拒绝

InvalidEnvoyRequestHeaders

IH

请求头部异常,返回400错误码

StreamIdleTimeout

SI

请求空闲超时,返回408或者504错误

DownstreamProtocolError

DPE

下游请求HTTP协议错误

UpstreamProtocolError

UPE

上游返回的HTTP协议错误

UpstreamMaxStreamDurationReached

UMSDR

请求上游超时

ResponseFromCacheFilter

RFCF

请求通过envoy缓存插件支撑

NoFilterConfigFound

NFCF

由于没有在时间期限内收到filter配置导致请求被中断

OverloadManagerTerminated

OM

请求被过载管理器中断

DnsResolutionFailed

DF

DNS解析失败

DropOverload

DO

请求被上游过载保护机制中断,返回503状态码


ZxTP6Kqf.32r