通过会话日志进行流量溯源

更新时间:2025-04-01 02:24:51

如需在业务故障发生后迅速定位故障原因并解决问题,建议您提前开启会话日志功能,以便随时查看日志内容,协助故障定位。

场景示例

某企业通过公网NAT网关为其ECS实例提供统一的公网访问权限。为确保在业务故障发生后能够迅速定位故障原因,该企业在部署初期启用了会话日志功能。

企业员工反馈无法正常访问第三方服务网站(http://47.XX.XX.157),但通过新购的EIP访问该网站则无异常。企业主动联系了服务提供商,发现服务提供商的安全部门在20252515点左右监测到EIP(47.XX.XX.85)的访问量异常激增,导致服务异常。为维护服务稳定性,服务提供商的安全部门已将该EIP列入黑名单。

为查清问题根源,企业的运维团队通过分析会话日志,成功找到了导致访问量异常激增的ECS实例。

image

使用须知

费用说明

会话日志不收取日志生成费用,但会话日志所捕获的SNAT会话将存储于阿里云日志服务中,日志服务将收取相应的存储和检索等费用。更多信息,请参见日志服务计费

使用限制

  • 按固定规格计费(停止新购)的NAT 网关实例不支持开启会话日志服务。

  • 会话日志不支持捕获DNAT会话。

操作步骤

步骤一:启用会话日志

重要

在启用会话日志后,请务必进行索引配置并设置日志存储时间,以确保数据的有效性与可查性。

  1. 登录NAT网关管理控制台,找到目标NAT网关实例,单击NAT网关实例ID。

  2. 监控和日志页签,单击会话日志 > 启用会话日志,选择现有的或创建日志服务Project日志库Logstore

    image

  3. 监控和日志页签,单击目标信息列的名称,以查看日志内容。

    image

步骤二:分析日志内容

  1. 根据服务提供商提供的异常时间点,使用SQL语句查询20252515点前后5分钟内ECS实例每分钟访问该服务的流量情况。

    select 
        sum(bytes_from_vpc) as total_bytes, /* 分析故障原因的核心字段 */
        date_trunc('minute', __time__) as ts_min /* 按分钟进行统计 */
    from 
        log 
    where 
        pub_ip = '47.XX.XX.157' /* 筛选指定目的IP */
    group by 
        ts_min 

    image

  2. 根据上述语句的分析,可以确认在1457分时访问该服务的流量达到了最高峰,此时可通过下述方式确认导致本次故障的ECS实例。

    select 
        pri_ip, 
        sum(bytes_from_vpc) as total_bytes, /* 分析故障原因的核心字段 */
        date_trunc('minute', __time__) as ts_min /* 按分钟进行统计 */
    from 
        log 
    where 
        pub_ip = '47.XX.XX.157' /* 筛选指定目的IP */
    group by 
        ts_min, pri_ip 
    说明

    当数据量较大时,可以将数据流量转换为千兆字节total_GB进行展示

    sum(bytes_from_vpc) / 1024 / 1024 / 1024 as total_GB

    image

相关内容

  • 本页导读 (1)
  • 场景示例
  • 使用须知
  • 费用说明
  • 使用限制
  • 操作步骤
  • 步骤一:启用会话日志
  • 步骤二:分析日志内容
  • 相关内容