我如何接收匹配 CloudWatch 筛选模式的 Amazon RDS SQL Server 错误和代理日志事件的 SNS 通知?

上次更新时间:2020 年 3 月 26 日

我有一个运行 SQL Server 的 Amazon Relational Database Service (Amazon RDS) 数据库实例。我想要创建 Amazon CloudWatch 警报和 Amazon Simple Notification Service (Amazon SNS) 主题,以便接收匹配指定 CloudWatch 筛选模式的 SQL Server 错误和代理日志事件通知。该如何操作?

简短描述

当您将 SQL Server 日志发布到 Amazon CloudWatch Logs 之后,您可以为匹配您创建的筛选模式的 SQL Server 数据库日志事件创建 CloudWatch 警报和 SNS 通知。

当 Amazon RDS SQL Server 日志数据发布到 Amazon CloudWatch 之后,您可以创建指标筛选条件以搜索并筛选日志。指标筛选条件定义在将日志数据发送到 CloudWatch Logs 时在其中查找的术语和模式。然后,CloudWatch Logs 使用指标筛选条件将日志数据转变为 CloudWatch 数字指标,您可以对该指标设置警报。您可以在查看这些指标或设置警报时使用任何类型的 CloudWatch 统计数据,包括百分比指标。有关更多信息,请参阅搜索并筛选日志数据

解决方法

您可以创建筛选模式,例如“用户登录失败”,以识别失败的登录次数。或者,您可以为“需要 15 秒以上才能完成的 I/O 请求”创建筛选条件,以识别 I/O 瓶颈或磁盘瓶颈。

以下示例使用指标筛选条件来搜索和计算包含术语“用户登录失败”的事件,以跟踪失败的登录次数。

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库
  2. 选择您要为其配置 CloudWatch 指标的数据库实例名称。
  3. Configuration 选项卡中,选择 CloudWatch Logs 下的错误。此操作将在 CloudWatch 控制台中打开日志窗格。如果您没有看到已发布日志部分,确保您已启用将 SQL Server 日志发布到 CloudWatch Logs
  4. CloudWatch 控制台导航窗格中,选择日志组
  5. 选择 RDS 数据库实例的错误日志,并选择创建指标筛选条件
  6. 对于筛选模式,请输入一种模式,例如“用户登录失败”。
    注意:筛选模式中的所有条目都区分大小写。
  7. 您可以在同一页面中测试筛选模式。在选择要测试的日志数据部分下,选择您希望针对其测试筛选条件的日志组,然后选择测试模式
  8. 结果部分中,您可以看到日志文件中与筛选模式匹配的结果数量。您还可以选择显示测试结果以查看更多详细信息。
  9. 选择分配指标
  10. 输入筛选条件名称指标名称
  11. 选择显示高级指标设置,并确认指标值被设置为 1。此值指定,包含“用户登录失败”的每个日志事件的计数以 1 为增量增加。
  12. 对于默认值,输入 0
  13. 选择创建筛选条件,然后选择创建警报
  14. 周期下拉列表中,选择评估期。默认期为 5 分钟。
  15. 条件部分中,选择以下各项:
    阈值类型 - 静态。
    每当测试为 - 大 > 阈值。
    - 输入 10。
  16. 展开其他配置部分。对于触发警报的数据点数,输入必须处于 ALARM 状态才能触发警报的评估期数量(数据点数)。
  17. 缺失数据处理中,选择将缺失的数据视为缺失
  18. 选择下一步
  19. 通知部分中,在选择 SNS 主题下,选择现有的 SNS 主题或创建一个新主题来接收通知。
  20. 数据您希望接收通知的电子邮件终端节点。
  21. 选择下一步
  22. 输入警报名称警报描述,然后选择下一步
  23. 预览和创建页面中,查看指标图表和 条件
  24. 选择创建警报

执行上述示例步骤后,警报状态在前几分钟为数据不足。在警报拥有足够的数据后,状态为确定。如果您在 5 分钟内收到 10 次以上登录失败警报,CloudWatch 警报将发送 SNS 通知到您指定的电子邮件。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?