AWS Route53 - 获取正常运行时间百分比

时间:2015-09-15 03:17:25

标签: amazon-web-services amazon-sqs amazon-route53

我需要找到一种方法来报告基于AWS Route53监控的网站正常运行时间(以百分比表示)。此报告通常每季度完成一次。

我最初的想法是让CloudWatch通过SNS向SQS发送ALARM和OK状态,然后将此队列处理到数据库中以便以后报告。然而,据我所知,即使SQS队列订阅了该主题,CloudWatch也只会发送电子邮件。

关于如何实现这一目标的任何建议?

2 个答案:

答案 0 :(得分:1)

Amazon Route 53可配置为将健康检查数据发送到Amazon SQS。

这对我有用 - 这是我采取的步骤:

  1. us-east-1中创建 Amazon SNS通知主题(路由53执行运行状况检查)
  2. us-east-1中创建 Amazon SQS队列(与通知主题相同的区域)
  3. 订阅 Amazon SQS队列到Amazon SNS主题(通过“队列操作”菜单选项)
  4. 创建 Amazon Route 53运行状况检查。将创建闹钟设置为是。将其配置为向现有SNS主题发送通知,然后选择上面创建的主题。
  5. Amazon Route 53将自动创建 Amazon CloudWatch警报

    这将导致健康通知到达SQS队列。但是,它只会发送一个警报通知 - 再次变得健康时没有通知。接受现在健康的"通知,编辑CloudWatch警报和添加新通知,当状态正常时会触发

    ;

    以下是从SQS队列中检索到的失败通知的示例:

    {
      "Type" : "Notification",
      "MessageId" : "4768e8e4-0026-51c7-aa6e-a696bf02f808",
      "TopicArn" : "arn:aws:sns:us-east-1:123456789012:r53-east",
      "Subject" : "ALARM: \"awsroute53--4c2f-9816-a42c50ec8671-High-HealthCheckStatus\" in US - N. Virginia",
      "Message" : "{\"AlarmName\":\"awsroute53-4c2f-9816-a42c50ec8671-High-HealthCheckStatus\",\"AlarmDescription\":null,\"AWSAccountId\":\"743112987576\",\"NewStateValue\":\"ALARM\",\"NewStateReason\":\"Threshold Crossed: 1 datapoint (0.0) was less than the threshold (1.0).\",\"StateChangeTime\":\"2015-09-16T00:50:44.591+0000\",\"Region\":\"US - N. Virginia\",\"OldStateValue\":\"OK\",\"Trigger\":{\"MetricName\":\"HealthCheckStatus\",\"Namespace\":\"AWS/Route53\",\"Statistic\":\"MINIMUM\",\"Unit\":null,\"Dimensions\":[{\"name\":\"HealthCheckId\",\"value\":\"4c2f-9816-a42c50ec8671\"}],\"Period\":60,\"EvaluationPeriods\":1,\"ComparisonOperator\":\"LessThanThreshold\",\"Threshold\":1.0}}",
      "Timestamp" : "2015-09-16T00:50:44.656Z",
      "SignatureVersion" : "1",
      "Signature" : "KvCHsBh95q...cw8A==",
      "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-90147a5624348ee.pem",
      "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:r53-east:4b5d-8318-57bd58f0b3a4"
    }
    

答案 1 :(得分:0)

一种选择是将Route53运行状况检查统计信息卸载到Axibase Time Series Database并启用预定报告,如uptime reports文章中所述。

实施说明:

  • 需要创建read-only account来查询CloudWatch统计信息和Route53运行状况检查元数据。
  • 卸载任务的延迟为5-15分钟(可配置)。
  • 卸载任务确保复制的CW统计信息中没有数据空白,即当收集因任何原因暂时停止时。

可用报告:

  • 基本报告:期间(日,周,月,季度)的平均正常运行时间。
  • 增强的正常运行时间报告以及其他检查配置详细信息。
  • 按协议或自定义标记过滤结果。
  • 通过自定义标记(例如GEO,环境。)汇总正常运行时间。
  • 按当天或工作日的小时数过滤结果。
  • 按星期几汇总正常运行时间。
  • 停机事件计数。
  • 最长的停机事件。

报告可以通过基于网络的控制台,通过电子邮件发送或在门户网站上以交互方式生成。

免责声明:我为Axibase工作。