本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 L CloudWatch ogs Insights 监控应用程序活动
Ram Kandaswamy,Amazon Web Services
摘要
此模式为使用 Amazon Lo CloudWatch gs Insights 自动检测应用程序异常并发出警报提供了解决方案。通过实施自动日志分析和警报,您可以快速识别生产环境中的应用程序问题并做出响应。
日志在监控系统行为、识别问题和确保最佳性能方面起着至关重要的作用。在迁移过程中,日志文件对于验证系统在新环境中的运行情况、检测兼容性问题和识别任何意外行为非常有用。问题可能与操作或安全有关。对于安全相关问题,尽早发现未经授权的访问企图或可疑活动对于维护安全和监管合规性至关重要。在处理敏感数据或关键系统时,此功能尤其重要。
对于需要保持高应用程序可用性并快速响应生产问题的团队来说,这种模式特别有价值。它与各个行业和用例息息相关。例如,在电信领域,它可以快速识别网络配置错误或中断,并检测次优的路由路径,从而精确定位潜在的拥塞。在物联网 (IoT) 领域,Greengrass 组件可以 CloudWatch将日志发布到,从而允许该技术提取相关的日志详细信息并将其显示在综合控制面板中。
先决条件和限制
先决条件
在活动状态下部署的生产应用程序 AWS 账户
对生产应用程序的日志格式和异常模式有基本了解
配置为流式传输到 Amazon CloudWatch 日志的应用程序日志
限制
有些 AWS 服务 并非全部可用 AWS 区域。有关区域可用性,请参阅按地区划分的AWS 服务
。有关特定终端节点,请参阅服务终端节点和配额,然后选择服务的链接。
架构
下图显示了 CloudWatch Logs Insights 如何评估资源日志并将相关的数据可视化发送到 CloudWatch 仪表板。

图表显示了以下工作流:
这些资源将日志发布到 CloudWatch 日志。资源可以包括诸如亚马逊弹性计算云 (Amazon EC2) 实例或亚马逊简单存储服务 (Amazon S3) Simple Service 存储桶之类的 AWS 资源。另一个示例包括安装了 CloudWatch 代理的本地系统,这些系统可以将日志发布到 CloudWatch。
CloudWatch 记录相关模式字符串的 Insights 过滤器。搜索模式字符串的示例包括 “错误”、“异常” 或特定的正则表达式。
通常,生产支持团队或开发人员会将模式可视化添加到 CloudWatch 仪表板中。
自动化和扩缩
开发人员可以通过使用 AWS Cloud Development Kit (AWS CDK) AWS CloudFormation、或来处理多个字符串模式 AWS SDKs 来自动执行此模式的解决方案。团队可以将这种自动化整合到他们的持续集成和部署 (CI/CD) DevOps 流程中。
工具
AWS 服务
Amazon CloudWatch Lo gs 可帮助您集中所有系统和应用程序的日志, AWS 服务 这样您就可以监控它们并安全地将其存档。
AWS Identity and Access Management (IAM) 通过控制谁经过身份验证并有权使用 AWS 资源,从而帮助您安全地管理对资源的访问权限。
AWS Key Management Service (AWS KMS) 可帮助您创建和控制加密密钥以帮助保护您的数据。
最佳实践
定义和配置日志组以分析相关的日志数据。
使用字段浏览器来了解日志数据中可用的结构和字段。
使用 L CloudWatch ogs Insights 查询语法编写高效的查询。
根据您的特定要求调整示例查询,以便更快地进行分析。
监控查询以识别潜在的性能问题或瓶颈。
设置查询限制以避免过高的费用或资源消耗。
保存查询以备将来使用,以节省时间并确保分析的一致性。
应用适当的 IAM 策略来控制对 Lo CloudWatch gs Insights 和日志组的访问权限。遵循最低权限原则,授予执行任务所需的最低权限。有关更多信息,请参阅 IAM 文档中的授予最低权限和安全最佳实践。
操作说明
Task | 描述 | 所需技能 |
---|---|---|
配置 IAM 权限。 | 要配置 IAM 权限,请执行以下操作:
有关如何创建 IAM 策略或向现有策略添加权限的信息,请参阅 IAM 用户指南中的使用客户托管策略定义自定义 IAM 权限和编辑 IAM 策略。有关更多信息,请参阅 Amazon Logs 用户指南中的 Amazon CloudWatch CloudWatch 日志和日志的身份和访问管理权限参考。 CloudWatch | AWS 管理员、AWS DevOps、AWS 系统管理员、云管理员、云架构师、 DevOps 工程师 |
创建日志组。 | 要创建日志组,请使用以下任一选项:
| AWS 管理员、AWS DevOps、AWS 系统管理员、云管理员、云架构师、 DevOps 工程师 |
生成 “ CloudWatch 日志见解” 查询。 | 要创建和保存 “ CloudWatch 日志见解” 查询,请执行以下操作: | AWS 管理员、AWS DevOps、AWS 系统管理员、云管理员、云架构师、 DevOps 工程师 |
在 CloudWatch 仪表板中创建可视化。 | 要使用 CloudWatch 仪表板创建可视化,请执行以下操作:
有关控制面板选项和功能的更多信息,请参阅 Amazon Lo CloudWatch gs 用户指南中的使用 Amazon 控制 CloudWatch 面板和使用控制面板变量创建灵活的控制面 CloudWatch 板。 | AWS 管理员、AWS DevOps、AWS 系统管理员、云管理员、云架构师、 DevOps 工程师 |
故障排除
事务 | 解决方案 |
---|---|
无法看到查询结果或查询似乎已损坏 | 从根据示例查询修改过的工作查询开始。对查询的各个部分(例如筛选器或字段)进行少量增量更改,并利用 CloudWatch 日志查询生成器功能。 |
日志组未创建日志流 | 在 IAM 策略中,确保为CreateLogStream和CreateLogGroup操作的资源提供了通配符 |