介绍
访客报告页面问题。通过实际请求日志区分页面不存在与网站不可用,将浏览器观察到的结果与日志对应起来。
请先完成前序作品站实验。本节提供新网站与请求日志接入,无需安装采集代理。 每节使用独立的新环境,无需保留上一节的资源、文件或凭据。工具、连接和无关素材均已准备好。
认证考点
| 认证 | 考试任务 | 练习内容 |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.8 | 通过 CloudWatch Logs 理解应用请求结果。 |
实验概览

找到一次成功的网站请求
本步骤,你将访问作品站,找到该请求对应的日志事件。
从 AWS View 打开网站,确认 Alex Morgan 与作品卡片。打开页面会向 EC2 上的网站发起真实请求。
日志事件(log event)记录某个时间发生的事情。CloudWatch Logs 将相关事件放在 log group 中,log stream 可以对应不同应用实例。本节提供一个组及实例专属 stream。接入代码记录路径、响应状态和请求 ID,不保存凭据或请求头。
进入目录并加载组名:
cd /home/labex/project
source website.env
echo "$LOG_GROUP"
filter-log-events 读取匹配的事件;不指定模式时读取已采集的事件:
aws logs filter-log-events --log-group-name "$LOG_GROUP"
在 events 中找到包含 path=/website status=200 的消息。HTTP 200 表示该请求成功。timestamp 是 Unix epoch 起的毫秒时间,request_id 标识这一次请求,具体值因环境而异。
浏览器还会为图片请求 /assets/aura-brand.webp,因此可能出现额外成功事件。AWS View 的 CloudWatch 卡片显示同一组的近期事件。检查确认实际页面请求已被采集,你需要理解各字段含义。
诊断不存在的页面
本步骤,你将产生缺失页面响应,找到其日志,并确认主网站仍正常。
在 AWS View 点击 Open a missing page,新页面请求 /missing,应显示 Page not found。
HTTP 404 表示该路径不存在,不代表实例停止或所有页面不可用。搜索包含 404 的消息:
aws logs filter-log-events --log-group-name "$LOG_GROUP" --filter-pattern '"status=404"'
--filter-pattern 限定返回消息。确认 path=/missing status=404,与刚打开的路径对应。
回到作品站并刷新,仍应显示 Alex Morgan。读取整组事件:
aws logs filter-log-events --log-group-name "$LOG_GROUP"
现在有缺失路径事件,也有成功主页事件。合理判断是:服务器可以提供作品站,但没有 /missing 这个页面。重启服务器不会创建这条路由。
过滤结果为空不能证明请求成功。确认打开的是本节链接、组名正确、请求已完成,然后重新查询。

清理网站和请求日志
本步骤,你将终止工作负载,只删除本节日志组。
先显示实例标识:
echo "$INSTANCE_ID"
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
网站已不再运行。阅读日志后,仅删除 LOG_GROUP 指向的一次性组。这会移除其 streams 和事件:
aws logs delete-log-group --log-group-name "$LOG_GROUP"
成功时没有输出。AWS View 不再显示本节近期事件;保留独立的 reference 日志组和预置网络。下一节使用独立的日志与指标。
总结
你产生真实请求,读取 CloudWatch 日志,将路径与 HTTP 200、404 对应起来。你确认缺失路由不代表服务器停止,并清理工作负载与实验日志,保留参考数据。
官方参考:CloudWatch Logs 概念、过滤模式。



