Cloud hosting services offer a wealth of advantages for everyone from the corporate business to the entrepreneur. Their simplicity allows anyone to utilize a nearly unlimited amount of machines as one system. However, monitoring these infrastructures requires something other than traditional methods.
In order to endure these infrastructures perform as they should, a higher level of monitoring is needed to manage the operational workflow and process. That’s where Azure Monitoring comes in.
An Overview
With Microsoft, a centralized hub is provided for all of the built-in performance metrics for Azure. These include the CPU % of a Linux server, deadlocks in an SQL database, and the number of Cache Gets on the Redis cache. With basic alerting capabilities, all of these metrics can be tracked simply.
“Greater than” and “less than” thresholds, as well as email alerts are easily configured via drop down boxes for simplicity. When a more complicated monitoring process is required, Logic apps are standing by to tackle any needs. These alerts can be used for virtual machines, App services, SQL databases, Redis, storage, and more.
Virtual Machines
Virtual machines will benefit from traditional monitoring tools such as Nagios or Retrace. With Azure Virtual Machines you will have complete administrative control over the server with the tools provided.
App Services
With App Services there is no access to install traditional monitoring agents. Instead, users can take advantage of APM solutions, such as Retrace. Azure Monitoring will also show performance metrics.
These services limit the ability to monitor performance counters, such as .NET Garbage Collection. Unfortunately, ETW is not fully supported either. While there are limitations, users will be able to access the metrics per instance to see some of their Windows Performance Counters.
WebJobs and Retrace are great options to make up for the way App Services change the underlying servers that your applications are running on.
Azure Cloud Services
Thankfully, Cloud Services do not suffer the same limitation that App Services do as the user has administrator level access to the servers. Configuring startup tasks will allow for installation of Azure Monitoring. By scripting the install process, most traditional application monitoring tools can be used.
Azure Diagnostics
With Azure, users will be able to monitor various types of log files as well as crash dumps, performance counters, and other diagnostic data. This information is saved via the storage feature and be pushed into Application Insights if chosen.
Microsoft offers a more in-depth look at Azure Diagnostics.
SQL Azure
Various monitoring options are available to users via SQL Azure. These include:
- DBA tools such as Sentry and Ignite
- Azure Monitor Key Metrics
- Standard SQL DMV’s
- and Retrace APM
The usage and performance of all SQL queries are automatically tracked thanks to Stackify Retrace. Users are identified of slow running and overused queries, as well as track specific queries with a system of alerts. Unique monitoring features allow for optimal performance at all times.
Monitoring Tools
For the best code level performance, users may want to use an APM solution such as Retrace in combination with Azure monitor as not all monitoring tools will work with Azure. Microsoft offers a wide range of one’s that will work well, but third party tools are always an option.
Stackify Retrace, the Azure Monitor via the Azure Portal, and tools found on Azure-Costs.com are highly recommended.
Optimal Infrastructure Performance
Cloud hosting services, among others, are a fantastic resource. With so many machines unifying at one time, it is important to keep systems running at an optimal level. Azure allows users to properly monitor their active services, virtual machines, and more for improved performance.