更新时间:2024-08-15 GMT+08:00
分享

访问日志

开启访问日志后,您可以通过分析应用网关的访问日志了解客户端用户行为、客户端用户的地域分布,以便排查问题。本章节介绍如何为应用网关配置和查看访问日志。

开启后,网关的访问日志会投递到您账号下的LTS服务中, 以云日志服务按需计费的方式统一计费,这部分费用由 LTS服务收取,具体收费规则请参见LTS的按需计费

前提条件

  • 已创建应用网关,具体操作请参考创建应用网关
  • 已在云日志服务中创建日志组和日志流,具体操作请参考日志组日志流
  • 应用网关的访问日志操作,需要保证用户具有LTS FullAccess权限。

配置访问日志

  1. 登录微服务引擎控制台
  2. 在左侧导航栏选择“应用网关 ”。
  3. 单击待操作的实例名称。
  4. 在左侧导航栏选择“观测运维 > 访问日志”。
  5. 在“访问日志”页面,单击“配置访问日志”。
  6. 在“日志组”和“日志流”下拉框中分别选择已创建好的日志组和日志流。也可单击右侧的“查看日志组”和“查看日志流”,进入“日志管理”页面创建日志组和日志流,具体操作请参考日志组日志流
  7. 单击“确定”,配置完成。

查看访问日志

当您配置了访问日志,可以查看访问日志的详细信息。

  1. 在云日志服务管理控制台,单击“日志管理”。
  2. 在日志组列表中,单击6中创建的日志组名称前对应的
  3. 在日志流列表中,单击6中创建的日志流名称,进入日志详情页面。
  4. 可在页面右上角选择时间范围筛选符合时间要求的日志信息,具体操作请参见日志搜索

    日志字段说明如表1所示。

    表1 日志字段

    字段名称

    描述

    取值类型

    取值示例

    authority

    请求报文中的Host Header。

    string

    100.19.10.178

    bytes_received

    请求的Body大小(不包含Header)。

    long

    0

    bytes_sent

    响应的Body大小(不包含Header)。

    long

    1127

    downstream_local_address

    网关Pod地址。

    string

    100.19.10.193:80

    downstream_remote_address

    连接到网关的Client端地址。

    string

    100.19.10.120:44944

    duration

    请求整体耗时。单位:ms。

    long

    7

    method

    HTTP方法。

    string

    GET

    path

    HTTP请求中的Path。

    string

    /

    protocol

    HTTP的协议版本。

    string

    HTTP/1.1

    request_id

    网关会为每次请求产生一个ID,并放在Header的x-request-id中,后端可以根据这个字段记录并进行排查。

    string

    afbd1211-081d-4403-9b5d-7ccb9e632a4b

    requested_server_name

    SSL连接时使用的Server Name。

    string

    -

    response_code

    HTTP响应的状态码。

    long

    200

    response_flags

    响应失败的原因。response_flags不同取值代表的详细信息见表2

    string

    UAEX

    route_name

    路由名。

    string

    http-mr6l-tom

    start_time

    请求开始时间。格式:UTC。

    string

    2023-11-09T07:57:57.770Z

    trace_id

    Trace ID。

    string

    7db5d5c73ccd6517e419448a99174099

    upstream_cluster

    上游集群。

    string

    outbound|8080||tom.default.svc.cluster.local

    upstream_host

    上游IP。

    string

    172.18.0.130:8080

    upstream_local_address

    本地连接上游的地址。

    string

    100.19.10.193:51046

    upstream_service_time

    上游服务处理请求的耗时(毫秒),包括网关访问上游服务的网络耗时和上游服务自身处理耗时两部分。

    long

    4

    upstream_transport_failure_reason

    上游链接失败的原因。

    string

    -

    user_agent

    HTTP Header中的UserAgent。

    string

    curl/7.69.1

    x_forwarded_for

    HTTP Header中的x-forwarded-for,通常用来表示HTTP请求端真实IP。

    string

    100.19.10.120

    表2 response_flags信息

    response_flags

    详细信息

    UH

    上游集群中没有健康运行的上游主机。

    UF

    上游连接失败。

    UO

    上游溢出(断路)。

    NR

    没有为给定请求配置路由,或者下游连接没有匹配的过滤器链。

    URX

    由于已达到上游重试限制或最大连接尝试次数导致请求被拒绝。

    NC

    未找到上游集群。

    DT

    当请求或连接超过max_connection_duration或max_downstream_connection_duration时。

    DC

    下游连接终止。

    LH

    本地服务未通过健康检查请求。

    UT

    上游请求超时。

    LR

    连接本地重置。

    UR

    上游远程重置。

    UC

    上游连接终止。

    DI

    请求处理延迟了一段时间,该时间是由故障注入指定。

    FI

    请求被故障注入指定了响应代码终止。

    RL

    除429响应代码外,HTTP速率限制过滤器还对请求进行了本地速率限制。

    UAEX

    请求被外部授权服务拒绝。

    RLSE

    因为速率限制服务中存在错误,请求被拒绝。

    IH

    因为除了400响应代码之外,还在严格检查的标头设置了无效值,导致请求被拒绝。

    SI

    除了408或504响应代码之外,Stream空闲超时。

    DPE

    下游请求出现HTTP协议错误。

    UPE

    上游响应包含HTTP协议错误。

    UMSDR

    上游请求已达到最大流持续时间。

    RFCF

    响应来自Envoy缓存过滤器。

    NFCF

    由于未在允许的预热截止时间内收到过滤器配置,因此请求终止。

    OM

    超负荷管理器已终止请求。

    DF

    由于DNS解析失败,请求终止。

    DO

    除了503响应代码外,由于drop_overloads请求被终止。

如果您希望将日志转储进行二次分析,您可设置日志转储操作,具体操作请参考日志转储

相关文档