使用Splunk监控AWS服务状态

时间:2016-09-09 07:24:16

标签: amazon-web-services logging rss splunk health-monitoring

问题

  • 对AWS服务状态的依赖

如果您依赖亚马逊AWS服务运营,您需要密切关注其服务的状态。亚马逊使用网站http://status.aws.amazon.com/,该网站提供指向特定地区特定服务的RSS源的链接。

  • 潜在错误

我们的服务使用S3,CloudFront和其他服务进行操作。我们希望了解在运营时间内可能出现的任何服务,并在出现问题时自动执行我们应该做的事情。

  • Splunk Logging

我们使用Splunk记录我们的所有服务。

要求

例如,如果在写入S3时应用程序中发生错误,我们想知道这是否是由AWS中的潜在中断引起的。

  • 如何监控Splunk中的状态RSS源?
  • 是否有HTTP客户端?后台服务?

1 个答案:

答案 0 :(得分:0)

解决方案

  • 您可以使用Syndication Input应用程序从AWS状态
  • 收集RSS提要数据
  • 创建一个查询,该查询在syndication sourcetype下的Splunk索引中获取有错误并存储的RSS项。
  • 根据查询创建提醒,since字段,以便我们随时调整提醒。

如何

  1. 请您的Splunk团队在您需要的环境中安装“Syndication Input”应用。

  2. 之后,只需收集所需的每个RSS源并将其添加到Settings -> Data Input -> Syndication Feed。从Amazon Status RSS提要中获取所有URL并将其用作Splunk数据输入,以一定的间隔填写表单:

  3. Enter the value for the URL

    完成后,Syndication App会有以下内容:

    All the AWS Status RSS Feeds to be monitored

    1. 在发生错误时使用搜索错误,调整“自”日期,以便您可以为结果创建警报。我过去添加了一天只是为了展示目的。

      • since应该是您开始监控AWS的开始日。当亚马逊发布从文本Informational message:捕获的新错误时,这有助于查询导致任何新事件。
      • 查询不应返回任何新内容,因为从那时起不会返回任何日期。
      • 由于令牌RESOLVED已附加到新的RSS Feed项目,因此我们会将其从警报中排除。
    2. sourcetype=syndication "Informational message:" NOT "RESOLVED" 
         | eval since=strptime("2010-08-01", "%Y-%m-%d") 
         | eval date=strptime(published_parsed, "%Y-%m-%dT%H:%M:%SZ") 
         | rex field=summary_detail_base "rss\/(?<aws_object>.*).rss$" 
         | where date > since 
         | table aws_object, published_parsed, id, title, summary 
         | sort -published_parsed
      

      Query result for the current search

      1. 使用查询创建警报。例如,要发送电子邮件:
      2. Alert created for the query

相关问题