自定义日志字段可以通过下面命令,编辑 mesh 字段下的 accessLogFormat 字段

    1. kubectl edit cm -n higress-system higress-config

    查看日志可以使用下面命令:

    1. kubectl logs -n higress-system -l app=higress-gateway since=5m

    Higress 默认使用的日志格式为 JSON 格式,如下所示:

    1. {
    2. authority”: “%REQ(:AUTHORITY)%”,
    3. bytes_received”: “%BYTES_RECEIVED%”,
    4. bytes_sent”: “%BYTES_SENT%”,
    5. downstream_local_address”: “%DOWNSTREAM_LOCAL_ADDRESS%”,
    6. downstream_remote_address”: “%DOWNSTREAM_REMOTE_ADDRESS%”,
    7. duration”: “%DURATION%”,
    8. method”: “%REQ(:METHOD)%”,
    9. path”: “%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%”,
    10. protocol”: “%PROTOCOL%”,
    11. request_id”: “%REQ(X-REQUEST-ID)%”,
    12. requested_server_name”: “%REQUESTED_SERVER_NAME%”,
    13. response_code”: “%RESPONSE_CODE%”,
    14. response_flags”: “%RESPONSE_FLAGS%”,
    15. route_name”: “%ROUTE_NAME%”,
    16. start_time”: “%START_TIME%”,
    17. trace_id”: “%REQ(X-B3-TRACEID)%”,
    18. upstream_cluster”: “%UPSTREAM_CLUSTER%”,
    19. upstream_host”: “%UPSTREAM_HOST%”,
    20. upstream_local_address”: “%UPSTREAM_LOCAL_ADDRESS%”,
    21. upstream_service_time”: “%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%”,
    22. upstream_transport_failure_reason”: “%UPSTREAM_TRANSPORT_FAILURE_REASON%”,
    23. user_agent”: “%REQ(USER-AGENT)%”,
    24. x_forwarded_for”: “%REQ(X-FORWARDED-FOR)%”
    25. }

    Value 的配置含义可以参考envoy 日志说明

    字段名类型含义
    authoritystring请求报文中的Host Header。
    bytes_receivedlong请求的Body大小(不包含Header)。
    bytes_sentlong响应的Body大小(不包含Header)。
    downstream_local_addressstring网关Pod地址。
    downstream_remote_addressstring连接到网关的Client端地址。
    durationlong请求整体耗时。
    methodstringHTTP方法。
    pathstringHTTP请求中的Path。
    protocolstringHTTP的协议版本。
    request_idstring网关会为每次请求产生一个ID,并放在Header的x-request-id中,后端可以根据这个字段记录并进行排查。
    requested_server_namestringSSL连接时使用的Server Name。
    response_codelongHTTP响应的状态码。
    response_flagsstring响应失败的原因。
    route_namestring路由名。
    start_timestring请求开始时间。
    trace_idstringTrace ID。
    upstream_clusterstring上游集群。
    upstream_hoststring上游IP。
    upstream_local_addressstring本地连接上游的地址。
    upstream_service_timelong最后一次调用上游服务的时间。
    upstream_transport_failure_reasonstring上游链接失败的原因。
    user_agentstringHTTP Header中的UserAgent。
    x_forwarded_forstringHTTP Header中的x-forwarded-for,通常用来表示HTTP请求端真实IP。