Guest Post: Monitor Azure VMs Using Datadog
- Posted: Mar 01, 2016 at 5:10PM
Right click “Save as…”
The following is a guest post by John Matson, a content developer at Datadog, which allows users to view metrics from all of their apps, tools and services in one place with their cloud monitoring as a service solution. This is Part 3 of a three-part series on monitoring Azure virtual machines. Part 1 explores the key metrics available in Azure, and Part 2 is about viewing metrics in Azure.
If you've already read our post on viewing metrics in Azure, you've seen you can graph and alert on metrics from individual VMs using the Azure web portal. For a more dynamic, comprehensive view of your infrastructure, you can connect Azure to Datadog.
By integrating Datadog and Azure, you can collect and view metrics from across your infrastructure, correlate VM metrics with application-level metrics, and slice and dice your metrics using any combination of properties and custom tags. You can use the Datadog Agent to collect more metrics — and at higher resolution — than are available in the Azure portal. And with more than 100 supported integrations, you can route automated alerts to your team using third-party collaboration tools such as PagerDuty and Slack.
In this post we'll show you how to get started.
As with all hosts, you can install the Datadog Agent on an Azure VM (whether Windows or Linux) using the command line or as part of your automated deployments. But Azure users can also integrate with Datadog using the Azure and Datadog web interfaces. There are two ways to set up the integration from your browser:
Both options provide basic metrics about your Azure VMs with a minimum of overhead, but the two approaches each provide somewhat different metric sets, and hence can be complementary. In this post we'll walk you through both options and explain the benefits of each.
The easiest way to start gathering metrics from Azure is to connect Datadog to Azure's read-only monitoring API. You won't need to install anything, and you'll start seeing basic metrics from all your VMs right away.
To authorize Datadog to collect metrics from your Azure VMs, simply click this link and follow the directions on the configuration pane under the heading "To start monitoring all your Azure Virtual Machines."
Once you have successfully integrated Datadog with Azure, you will see an Azure default screenboard on your list of Integration Dashboards. The basic Azure dashboard displays all of the key CPU, disk I/O, and network metrics highlighted in Part 1 of this series.
Once you are capturing Azure metrics in Datadog, you can build on the default screenboard by adding additional Azure VM metrics or even graphs and metrics from other systems. To start building a custom screenboard, clone the default Azure dashboard by clicking on the gear on the upper right of the dashboard and selecting "Clone Dash." You can also add VM metrics to any custom timeboard, which is an interactive Datadog dashboard displaying the evolution of multiple metrics across any timeframe.
Installing the Datadog Agent lets you monitor additional server-level metrics from the host, as well as real-time metrics from the applications running on the VM. Agent metrics are collected at higher resolution than per-minute Azure portal metrics.
Azure users can install the Datadog Agent as an Azure extension in seconds. (Note: At present, Azure extensions are only available for VMs launched running on the "Classic" service management stack.)
In the Azure web portal, click on the name of your VM to bring up the details of that VM. From the details pane, click the "Settings" gear and select "Extensions."
On the Extensions tile, click "Add" to select a new extension. From the list of extensions, select the Datadog Agent for your operating system.
Click "Create" to add the extension.
At this point you will need to provide your Datadog API key to connect the Agent to your Datadog account. You can find your API key via this link.
Once the Agent starts reporting metrics, you will see your Azure VMs appear as part of your monitored infrastructure in Datadog.
Clicking on any VM allows you to view the integrations and metrics from that VM.
Installing the Agent provides you with system metrics (such as system.disk.in_use) for each VM, as opposed to the Azure metrics (such as azure.vm.memory_pages_per_sec) collected via the Azure monitoring API as described above.
The Agent can also collect application metrics so that you can correlate your application's performance with the host-level metrics from your compute layer. The Agent monitors services running in an Azure VM, such as IIS and SQL Server, as well as non-Windows integrations such as MySQL, NGINX, and Cassandra.
In this post we've walked you through integrating Azure with Datadog so you can visualize and alert on your key metrics. You can also see which VMs are overutilized or underutilized and should be resized to improve performance or save costs.
Monitoring Azure with Datadog gives you critical visibility into what's happening with your VMs and your Azure applications. You can easily create automated alerts on any metric across any group of VMs, with triggers tailored precisely to your infrastructure and your usage patterns.
If you don't yet have a Datadog account, you can sign up for a free trial and start monitoring your cloud infrastructure, your applications, and your services today.