我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用亚马逊 CloudWatch 贡献者见解对 NGINX 日志进行一般分析
客户在 亚马逊云科技 上构建、部署和维护数百万个 Web 应用程序,许多客户使用
客户可以利用
本博客将向您展示如何使用 CloudWatch 贡献者见解来监控和分析 NGINX 日志。NGINX 日志提供对 Web 应用程序的可见性,例如错误、响应时间和 Web 应用程序的性能。除了 CloudWatch 贡献者见解外,客户还可以激活 CloudWatch 指标和 CloudWatch 警报,以进行全面的系统监控。
先决条件
在本演练中,您应该具备以下先决条件:
- 启用 NGINX 服务器在 亚马逊云科技 账户中运行。在此示例中,将使用随附的 CloudFormation 模板安装、配置和部署 NodeJS 网络应用程序和 API。
- NGINX Web 应用程序服务器在启用了 JSON 格式的 Web 日志的 亚马逊云科技 账户中运行(参见下文 NGINX 配置)。
解决方案概述
上图显示了如何通过实例上预安装的 CloudWatch 代理将 NGINX Web 服务器应用程序日志发送到 CloudWatch。所有亚马逊 Linux 2 AMI 都包含云观测代理。这些日志由贡献者见解规则进行分析,报告显示在 CloudWatch 控制面板上。
草率排练
从 亚马逊云科技 管理控制台导航到
步骤 1: 选择创建日志组。
在 CloudWatch 中导航到
- 从下拉列表中按名称选择 NGINX 日志组。
- 为规则类型选择自定义规则。
- 在贡献部分-输入唯一密钥 “remote_addr” 和 “状态” 以提取请求的远程地址和请求的状态。这些将在 CloudWatch 控制面板中进行可视化。
- 给出规则名称。
- 选择创建。
创建规则后,最多可能需要 5 分钟才能看到正在报告的任何数据。此时,让我们部署 CloudFormation Stack,它将创建一个运行 NGINX 的 EC2 实例和一个带有两个 API 端点的 Node Express Web 应用程序,以模拟网络应用程序和 API 示例。
步骤 2: 部署以下 CFT 模板:
这将需要 5-10 分钟。您可以查看部署的状态。
部署堆栈后,请在 “输出” 选项卡中查看 NGINX URL:
步骤 3: 部署需要 5-10 分钟。完成后,单击 WebsiteURL 以查看以下使用两个 API 端点运行的监控应用程序 FAILED 和 OK。该应用程序正在运行并以 JSON 格式登录到 NGINX 网络日志。这些日志将在 access_json_log 日志组中流式传输到 CloudWatch 进行分析。
出现以下页面提示时,单击 “继续访问 HTTP 站点”:
步骤 4: 查看 NGINX Web 应用程序服务器状态,然后单击 /admin/health/x1 和 /return-status/200 在新选项卡中打开(多次打开以模拟 API 访问权限):
步骤 5: 既然示例 Web 应用程序和 API 正在运行,我们将创建一个 CloudWatch 控制面板来显示来自该应用程序的 5XX、4XX、3XX 响应代码。然后,我们将为 5XX 4XX 3XX 响应代码创建 CloudWatch 指标,这些响应代码将用于 CloudWatch 警报。
让我们搜索带有 3XX 响应代码的日志消息。
让我们搜索带有 4XX 响应代码的日志消息。
让我们搜索带有 5XX 响应代码的日志消息。
第 6 步: 现在让我们创建一个指标筛选器,用于在 CloudWatch 控制面板上进行可视化并用于 CloudWatch 警报。
同样,为 2XX、4XX、5XX 状态码创建新的指标筛选器。
第 7 步: 创建这些指标 后,汇总数据将有助于在 “贡献者见解” 中报告贡献。现在,让我们将 “贡献者洞察” 规则添加到 CloudWatch 控制面板中。选择 “添加到仪表板” 以添加到现有仪表板或创建新的仪表板。在这里,我们还将添加 CI 规则以及之前为显示 5XX 的单一窗口而创建的警报。
摘要
在这篇博客中,我们解释了如何将 NGINX 日志从 EC2 实例流式传输到 CloudWatch、使用过滤器解析日志、创建可视化 NGINX 状态码的图表以及如何为状态码创建警报,所有这些都可以在一个控制面板中完成。
Web 应用程序/API 监控和可观测性对企业及其业务至关重要。产品和工程团队可以使用 CloudWatch 贡献者见解、CloudWatch 日志、CloudWatch 指标和 CloudWatch 警报的广泛功能,查看、调查和修复 Web 应用程序中出现的问题。
<h1></h1>作者简介
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。