A
Etienne Deneuve
Jan 7, 2024 · 4 min read

Monitoring alerts in MS Teams for Aks

Side view worker wearing gloves

Introduction

As organizations increasingly embrace cloud-native architectures, Azure Kubernetes Service (AKS) has emerged as a popular choice for deploying, managing, and scaling containerized applications. However, monitoring AKS clusters poses a significant challenge, especially when teams cannot afford to watch their clusters 24/7. In this article, we will delve into the challenges of monitoring AKS and explore a robust solution - Robusta - that addresses these issues seamlessly.

Issues of Monitoring AKS ?

Monitoring AKS clusters in real-time is crucial for ensuring optimal performance, detecting anomalies, and preventing potential issues. However, the reality is that teams cannot dedicate round-the-clock attention to monitoring their clusters, leading to delayed responses, increased downtime, and potential performance bottlenecks. This issue highlights the need for an automated and intelligent solution that can provide continuous monitoring and alerting.

Solution: Introducing Robusta

Robusta, a comprehensive monitoring and alerting solution designed specifically for AKS, is here to address the challenges faced by teams in monitoring their clusters effectively. This tool offers a set of features that make AKS monitoring more accessible, efficient, and proactive.

Why Use Robusta and Advantages

  • Automated Monitoring: Robusta automates the monitoring process, eliminating the need for continuous manual oversight. It proactively identifies potential issues and alerts teams before they escalate, reducing downtime and improving overall cluster reliability.

  • Rich Analytics: Robusta offers detailed analytics and insights into the performance metrics of AKS clusters. This helps teams gain a deeper understanding of their application’s behavior, enabling them to optimize resources and enhance overall efficiency.

  • Customizable Alerts: With Robusta, teams can define custom alerts based on specific conditions and thresholds. This customization ensures that alerts are relevant, actionable, and aligned with the organization’s specific requirements.

  • Integration with Microsoft Teams: Robusta seamlessly integrates with Microsoft Teams, streamlining the communication and collaboration process for DevSecOps teams. This integration ensures that alerts are delivered to the right channels, facilitating quick response and issue resolution.

Examples of Robusta in Action

  • Pod Alerts: When alerts are triggered on Pods, Robusta efficiently fetches relevant Pod logs for a comprehensive understanding of the issue.
  • Job Failures: In the event of Job failures, Robusta provides insights from the last run, aiding in quick diagnosis and resolution.
  • Pending Pods: For Pods in a pending state, Robusta allows you to investigate further using commands like kubectl get events to understand the underlying reasons.
  • Smart Suggestions: In cases where common alerts from kube-prometheus-stack are raised, Robusta not only notifies you but also suggests potential fixes.
  • Optional ChatGPT Analysis: Robusta offers the option to send alerts to ChatGPT for in-depth analysis, although this feature is disabled by default.

Demo (Integration with Microsoft Teams)

You can follow this steps to integrate robusta with Existing Prometheus:

  1. Install robusta-cli with the following commands:
Terminal window
pip install -U robusta-cli --no-cache
robusta gen-config --no-enable-prometheus-stack
  1. Generate generated_values.yaml with launching robusta-cli and following the steps.

  2. For Microsoft Teams you should add this part to generated_values.yaml with your webhook_url:

Terminal window
sinksConfig:
- ms_teams_sink:
name: main_ms_teams_sink
webhook_url: teams channel incoming webhook # see video below
  1. Install Robusta with helm commands:
Terminal window
helm repo add robusta https://robusta-charts.storage.googleapis.com && helm repo update
helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
  1. Verify Robusta installation:
Terminal window
kubectl get pods -A | grep robusta
robusta logs
  1. Test Robusta with deploying crashing pod with the following command:
Terminal window
kubectl apply -f https://gist.githubusercontent.com/robusta-lab/283609047306dc1f05cf59806ade30b6/raw

Conclusion

As AKS continues to be a preferred choice for container orchestration, the need for robust monitoring solutions becomes paramount. Robusta, with its automated monitoring, rich analytics, customizable alerts, and seamless integration with Microsoft Teams, emerges as a powerful tool for teams seeking to enhance their AKS monitoring capabilities. By leveraging Robusta, organizations can ensure the stability, performance, and reliability of their AKS clusters, even in the absence of constant manual oversight.

Kubernetes Aks MS Teams Monitoring

Related articles