Skip to main content

Keep up with the most recent news while working in Grafana

· Updated on September 16, 2023
Mikhail Volkov

When you open Grafana, what is the first panel you see? It's most likely the News panel on the Home dashboard, which contains the most recent blog entries from the Grafana team and community. The News panel directly loads the RSS feed into the browser, and while it works for some feeds, it has numerous restrictions.

Looking around, we discovered several open conversations and issues related to updating the News panel or creating an RSS and Atom data source. The question is, how to display data from such data sources? Time series or table panels are not appropriate alternatives for displaying news in a custom layout.

You can find a video version of this post on our YouTube channel.

News feed tutorial for Grafana Dashboard.

We maintain Dynamic Text Panel, which displays data frames on a custom layout built with Markdown, HTML, and Handlebars.

An RSS data source was implemented with the recently released Data Source Template. This template is similar to the panel plugin template introduced in the previous articles. RSS/Atom Data Source retrieves a feed and returns data frames to display news in the Dynamic Text Panel plugin or other custom panels.

Data source plugin

Data source plugins can communicate with external data sources and return the data in a format that Grafana can understand. You can immediately display the data in any of your current dashboards by adding a data source plugin.

The Grafana Plugins catalog now lists 120 data source plugins, 22 of which were added this year. There are several questions you need to address when thinking about developing a new data source plugin:

  • Is it possible to retrieve the data via the HTTP(S) protocol?
  • Does a standard HTTP(S) application backend meet your requirements and provide all necessary options for authentication?
  • Does the data source need support for alerting?

The HTTP(S) protocol can be used to read RSS and Atom feeds, and in most circumstances, no authentication is required. Authentication can be introduced in a future release, and the default authentication options in the HTTP(S) backend should be sufficient.

We decided to develop RSS/Atom Data Source without the backend using our data source plugin template. Similar to the panel plugin template, this template comes preconfigured with Docker Compose, initial provisioning, and continuous integration with test coverage settings.

Add Data Source

Let's add a new RSS data source to the Grafana blog and create a panel to display the latest news similar to the News Panel plugin.

You can add the RSS/Atom Data Source manually in the Data Sources Configuration menu or provision it through configuration files.

We are adding an RSS/Atom data source for showing a newsfeed in Grafana.
We are adding an RSS/Atom data source for showing a newsfeed in Grafana.
blog/2021-12-28-rss-datasource/provisioning.yml
loading...

Dynamic Text panel

The next step is to add a Dynamic Text panel on the dashboard and set content with Markdown, HTML, and Handlebars.

Adding a new Dynamic Text panel on the Dashboard for showing a newsfeed in Grafana.
Adding a new Dynamic Text panel on the Dashboard for showing a newsfeed in Grafana.

To correctly display the date, it should be of the Time type. All fields returned by the data source should be of the String type and can be transformed by converting a field type with a specified input format to Time or Number.

Convert field type transformation for the pubDate field as Time.
Convert field type transformation for the pubDate field as Time.

Here is the content of the panel to imitate the look of the News panel:

blog/2021-12-28-rss-datasource/table.html
loading...

You can find more information about the Dynamic Text Panel plugin and various helpers in our documentation.

AWS feed

If AWS experiences an unexpected outage, you can track the status directly on your Grafana dashboard.

AWS CloudFront Service Status on the Grafana dashboard.
AWS CloudFront Service Status on the Grafana dashboard.

Redis Status page

The Redis Status page is based on the Atom format and can be displayed using this data source.

Redis Status page based on the Atom format feed.
Redis Status page based on the Atom format feed.

Using the RSS/Atom data source, you can combine your system and application metrics with newsfeeds from AWS, Redis, and other providers to stay up to date on any issues on their side.