Leveraging New Relic for instrumentation of Windows Container on Azure Kubernetes Service
Published Jul 11 2023 03:00 AM 3,950 Views

This blog post has been co-authored by Microsoft and Venkat Gandhari from New Relic

 

As containerization gains popularity in the world of application deployment, Kubernetes has emerged as a leading container orchestration platform. While Kubernetes provides robust management capabilities for containers, effectively monitoring and gaining insights into the performance of Windows containers in a Kubernetes environment can be a complex task. This is where New Relic, a renowned observability platform, comes into play.

 

In this blog post, we will explore how New Relic can help streamline the instrumentation of Windows containers in Kubernetes, enabling you to gain valuable insights into the health and performance of your applications.

 

Understanding the Challenges

Monitoring Windows containers in a Kubernetes environment introduces specific challenges. Unlike Linux containers, Windows containers have different architectural elements and monitoring requirements. Some of the challenges include:

  • Limited observability: Native tools for monitoring Windows containers may not provide comprehensive visibility into the containerized applications, making it difficult to identify performance bottlenecks or troubleshoot issues effectively.
  • Complexity in configuration: Configuring and managing monitoring solutions for Windows containers can be intricate due to the differences in architecture and behavior compared to Linux containers. A robust monitoring tool must cater to these nuances.

Leveraging New Relic for Windows Container on AKS instrumentation:

New Relic offers a suite of tools and features that help address the challenges associated with monitoring Windows containers in a Kubernetes environment. Let's explore some of the key capabilities:

  • Container-centric visibility: New Relic provides a container-centric approach to monitoring, enabling you to gain real-time insights into the performance and behavior of Windows containers. It collects data on container resource usage, network traffic, and application-level metrics, helping you understand the health of your containerized applications.
  • Automatic instrumentation: New Relic's instrumentation agents for Windows containers automatically discover and instrument your applications without requiring manual configuration. This feature greatly simplifies the process of deploying and monitoring your applications, saving time and effort.
  • Performance monitoring: New Relic offers comprehensive performance monitoring capabilities, including metrics for CPU, memory, disk I/O, and network traffic. These insights allow you to identify performance bottlenecks and optimize resource allocation for Windows containers.
  • Scalability and alerting: New Relic's scalable architecture ensures it can handle large-scale Kubernetes deployments, collecting and analyzing data from numerous Windows containers. You can set up custom alerts based on predefined thresholds, allowing you to proactively detect and respond to performance anomalies.
  • Visualization and analytics: New Relic provides intuitive dashboards and visualizations that help you understand the performance trends of your Windows containers. It offers powerful analytics capabilities, allowing you to analyze historical data, identify patterns, and make informed decisions about capacity planning and optimization.

Install New Relic Kubernetes integration (version 2) in Windows:

Before proceeding to next steps, Connect to your AKS cluster.

 

Once you connect to your AKS cluster, you can install the Kubernetes integration for Windows using Helm:

 

helm repo add newrelic https://helm-charts.newrelic.com

 

 Create a namespace for newrelic:

 

kubectl create namespace newrelic

 

Install kube-state-metrics:

 

helm repo add ksm https://kubernetes.github.io/kube-state-metrics
helm install ksm ksm/kube-state-metrics --version 2.13.2

 

Create the aks_newrelic.yml file with the follow data to be used by Helm:

 

---
global:
  licenseKey: New_Relic_License_Key # This is the License Key
  cluster: AKS_Cluster_Name # Name of the AKS cluster
enableLinux: true
enableWindows: true
windowsOsList:
  - version: 2019
    imageTag: 2-windows-1809-alpha
    buildNumber: 10.0.17763
  - version: 20h2
    imageTag: 2-windows-20H2-alpha
    buildNumber: 10.0.19042
  - version: 2022
    imageTag: 2-windows-ltsc2022-alpha
    buildNumber: 10.0.20348
nodeSelector:
  kubernetes.io/os: linux
windowsNodeSelector:
  kubernetes.io/os: windows # required

 

Install the integration:

 

helm upgrade --install newrelic newrelic/newrelic-infrastructure \
--namespace newrelic --create-namespace --version 2.7.2 -f aks_newrelic.yml

 

Check that pods are being deployed and reach a stable state:

 

kubectl -n newrelic get pods -w

 

After the above steps are completed successfully, you can login to New Relic portal and navigate to Infrastructure > Kubernetes > Clusters:

Picture1.png

 

Picture2.png

 

Conclusion

Monitoring and gaining insights into the performance of Windows containers in a Kubernetes environment is vital for maintaining the health and stability of your applications. New Relic's robust instrumentation capabilities and comprehensive observability features offer a reliable solution for monitoring Windows containers in Kubernetes deployments. By leveraging New Relic, you can effectively monitor resource utilization, detect performance issues, and optimize your Windows containerized applications for enhanced efficiency and reliability. Stay ahead of the game with New Relic's powerful observability platform and ensure the success of your Kubernetes-based Windows container deployments.

 

For more details, refer to Install Kubernetes integration version 2 in Windows.

Version history
Last update:
‎Jul 11 2023 10:01 AM
Updated by: