AWS Status feeds as Grafana annotations


In this example, we are going to see how we can use AWS status feeds as Grafana annotations. This will be useful when you are dealing with any AWS outages. For this, we are going to use the AWS RSS feed. You can find more feeds at AWS Status page

image

Connection setup#

AWS status feeds are open and no authentication required. So, you can simple create a datasource using infinity without any additional configuration.

Annotation setup#

In your dashboard, Once you create a annotation you will perform the following steps

  • Create a annotation and select your Infinity datasource
  • Select "XML" as query type, "URL" as source and Format "Data Frame"
  • Provide https://status.aws.amazon.com/rss/all.rss as the URL
  • You need to specify rss.channel[0].item as the URL. ( You can find this path from the original rss feed )
  • Create title, description as columns and provide string type
  • Create pubDate column and mark this as 'DateTime'
  • Finally select guid[0]._ as string. This is your link. So you can alias this to link

image

Reference feed item is given below

<item>
    <title><![CDATA[Service is operating normally: [RESOLVED] SMS Delivery Delays]]></title>
    <link>http://status.aws.amazon.com/</link>
    <pubDate>Fri, 14 Jan 2022 14:44:00 PST</pubDate>
    <guid isPermaLink="false">http://status.aws.amazon.com/#sns-us-east-1_1642200240</guid>
    <description><![CDATA[Between 5:14 AM and 11:38 AM PST, we experienced increased delivery latency while delivering SMS messages using US toll-free numbers. Also starting at 5:14 AM, SMS message delivery receipts were delayed, which created a backlog of undelivered delivery receipts. We are continuing to work with our downstream partners to clear this backlog. Receipts for new SMS deliveries will also be delayed until this backlog clears. The issues have been resolved and the service is operating normally.]]></description>
    </item>

Table view of status items#

You can follow the same query procedure in your table panel to get the results as Table

image

Alternate query method#

If you are familiar with UQL query, you can achieve this with a simple query. Instead of selecting "XML" as your query type, you will choose "UQL" in this method and write the following UQL query.

image

parse-xml
| scope "rss.channel.item"
| extend "published date"=todatetime("pubDate")
| project "title", "published date", "description", "link"

More status feeds#

With this approach, Not only AWS status feed but you can monitor any RSS feeds also.