如需在业务故障发生后迅速定位故障原因并解决问题,建议您提前开启会话日志功能,以便随时查看日志内容,协助故障定位。
场景示例
某企业通过公网NAT网关为其ECS实例提供统一的公网访问权限。为确保在业务故障发生后能够迅速定位故障原因,该企业在部署初期启用了会话日志功能。
企业员工反馈无法正常访问第三方服务网站(http://47.XX.XX.157),但通过新购的EIP访问该网站则无异常。企业主动联系了服务提供商,发现服务提供商的安全部门在2025年2月5日15点左右监测到EIP(47.XX.XX.85)的访问量异常激增,导致服务异常。为维护服务稳定性,服务提供商的安全部门已将该EIP列入黑名单。
为查清问题根源,企业的运维团队通过分析会话日志,成功找到了导致访问量异常激增的ECS实例。
使用须知
费用说明
会话日志不收取日志生成费用,但会话日志所捕获的SNAT会话将存储于阿里云日志服务中,日志服务将收取相应的存储和检索等费用。更多信息,请参见日志服务计费。
使用限制
按固定规格计费(停止新购)的NAT 网关实例不支持开启会话日志服务。
会话日志不支持捕获DNAT会话。
操作步骤
步骤一:启用会话日志
登录NAT网关管理控制台,找到目标NAT网关实例,单击NAT网关实例ID。
在监控和日志页签,单击
,选择现有的或创建日志服务Project和日志库Logstore。在监控和日志页签,单击目标信息列的名称,以查看日志内容。
步骤二:分析日志内容
根据服务提供商提供的异常时间点,使用SQL语句查询2025年2月5日15点前后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
根据上述语句的分析,可以确认在14点57分时访问该服务的流量达到了最高峰,此时可通过下述方式确认导致本次故障的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
相关内容
如果您希望了解会话日志捕获的具体字段信息,请参见会话日志。
如果您希望了解SQL分析语句的基础语法,请参见SQL分析语法与功能。
- 本页导读 (1)
- 场景示例
- 使用须知
- 费用说明
- 使用限制
- 操作步骤
- 步骤一:启用会话日志
- 步骤二:分析日志内容
- 相关内容