GP - Fotolia
Windows container monitoring tools such as Prometheus, Grafana, Windows Admin Center, Portainer and Microsoft Azure enable IT administrators to view centralized CPU, , storage, and network usage and performance information for troubleshooting. Without monitoring tools, admins might notice their Docker and Windows containers consuming excess resources.
In 2016, Microsoft and Docker announced a partnership to bring Docker Engine to Windows Server. Part of this partnership was the development of Windows containers and the ability to run Windows-based workloads in a container environment. One of the appeals of a container-based architecture is the ability to run workloads on local servers or in the cloud. Monitoring workloads is a must for admins running containers in a production environment.
There are many options for Windows container monitoring, such as the command line tools and open source projects Prometheus and Grafana. Admins can also find multiple commercial services such as Datadog, New Relic, ManageEngine and Azure. Splunk is another tool primarily known for log monitoring, but admins can also use it for container-based applications.
Windows container monitoring tools
Prometheus is the standard metrics server for gathering operational data. This tool can enhance and control the flow of information, and improves efficiency, safety and productivity by streamlining and increasing data visibility. Binaries and container images are available for download from the Prometheus website, along with detailed instructions to help get admins started. Prior to implementation, admins must provision and integrate a range different applications or images to get Prometheus into a functional state.
As a visualization tool, Grafana offers a way to create dashboards and graphics of all data collected by Prometheus. Admins can download and install Grafana on all major OSes, both on premises and in the cloud. A hosted option is also available, starting with a free tier supporting a single user and up to five dashboards.
Microsoft's Windows Admin Center, a web-based management tool, includes a feature that can view event logs and access the command line interface of a Windows Server Core container.
Portainer might be a relative newcomer in the web-based container management field, but it offers both Linux and Windows-based container management functionality. Portainer is a container-based server that connects to an agent container running on all nodes in a cluster. This approach offers the simplicity of deploying and managing containers on any platform.
Use Azure for Windows container monitoring
When deploying Windows containers in Azure, admins should take a look at the Azure Monitor offering. It's deeply integrated into the Azure ecosystem with access to a wide range of metrics and log databases. Implementation is straightforward and worth the effort for any application deployment beyond a few containers.
Microsoft makes continuous improvements and updates to Azure Monitor to provide a wide range of monitoring capabilities. Azure Monitor uses both metric and log information to provide insights at a variety of levels, such as individual applications, containers and VMs. Data collection begins the moment admins start adding resources to their Azure subscriptions. Admins can enable additional data collection by turning on diagnostics and adding an agent to specific compute resources.
Azure Monitor supports both individual container instances as well as managed Kubernetes clusters hosted on Azure Kubernetes Services. Turning this feature on requires a minimal number of steps, which admins can accomplish through the Azure portal, using Azure PowerShell or the Azure CLI. Microsoft provides complete documentation for all three options on its documentation website. An Azure Prometheus offering is currently in public preview.
If admins use an application monitoring tool such as DataDog or New Relic, they might already have the tools they need. Rolling out their own tool might seem like a way to save costs, but could turn out to be more in personnel expenses alone. Unless admins have staff already familiar with Prometheus or Grafana, they might want to count those costs before committing to those options.