This article only compares Grafana with Azure Monitor. I will talk about configuration steps in my next blogs.

Introduction

Azure Monitor is the native Azure solution that most of us have been using to monitor Azure resource utilization or performance counters. What if I tell you that you can monitor all your resources at a single pane without shelling out a lot of money from your pocket?

Grafana helps us monitor all the Azure resources on a single page along with the ability to configure notifications. Yes, yes I know Azure monitor helps us do the same thing, but Azure Monitor doesn’t offer a centralized view to easily consume the data and charges for the notifications. It is native to azure and doesn’t offer a lot of customization.

Grafana on the other hand gives a holistic view of the data collected from Azure Monitor and lets us compare the metrics of different resources in the same pane. For example, the below pane helps us compare the performance of three different virtual machines collectively and create dashboards based on my need.

Grafana Monitor Blade

System Overview

Now the next question that hits our mind would be the system requirement. Since Azure monitor is a native Azure functionality, it doesn’t require any additional management whereas Grafana needs to be setup and managed manually. This is a one-time process and can be done by following this link: How to install Grafana.

Once you configure Grafana you can assign a DNS name to Azure VM and access it using the URL for better accessibility and management and you never have to login to the VM again. Please refer to this article to assign a DNS name to a VM: Add a custom name to Azure VM. We can additionally run it as a container for high availability and scalability.

As per Grafana official document “Grafana System Requirements“. Grafana only needs 255 MB memory to run which means we can even run it on B2s virtual machine if this is a dedicated server. It also gives us the functionality to run it as a container to avoid any additional infra cost and management.

Management Overview

Grafana can be integrated with almost any messaging app to configure notifications or alerts. You can integrate Grafana with Slack, Teams, Telegram, Email, Hangout, Kafka for notifications.

Since Grafana is an open-source software it doesn’t charge you anything to configure notifications, unlike Azure.

Summary

Additional features that Grafana provides for better management:

  • Define a notification channel.
    • You can get notifications via Email, Discord, Slack, LINE and so on.
  • Send reminders.
    • A feature to periodically send alert messages to remind you there is something wrong
  • Include images.
    • Adding images to your alerts, if you want your users to analyze the data with the alert.
  • Integration with Azure Active directory to enable SSO.
  • Grafana can be integrated not only with Azure but almost any third-party tool using the plugins