Règles d’alerte recommandées pour les clusters Kubernetes

Les alertes dans Azure Monitor identifient de manière proactive les problèmes liés à l’intégrité et aux performances de vos ressources Azure. Cet article explique comment activer et modifier un ensemble de règles d’alerte de métrique recommandées prédéfinies pour vos clusters Kubernetes.

Utilisez l’une des méthodes suivantes pour activer les règles d’alerte recommandées pour votre cluster. Vous pouvez activer à la fois Prometheus et les règles d'alerte métriques de la plateforme pour le même cluster.

Remarque

Les modèles ARM sont la seule méthode prise en charge pour activer les alertes recommandées sur les clusters Kubernetes compatibles avec Arc.

À l’aide du portail Azure, le groupe de règles Prometheus sera créé dans la même région que le cluster.

  1. Dans le menu Alertes de votre cluster, sélectionnez Configurer des recommandations.

    Capture d’écran du cluster AKS montrant le bouton Configurer des recommandations.

  2. Les règles d'alerte Prometheus et de la plateforme disponibles sont affichées avec les règles Prometheus organisées par niveau de pod, de cluster et de nœud. Basculez un groupe de règles Prometheus pour activer cet ensemble de règles. Développez le groupe pour afficher les règles individuelles. Vous pouvez conserver les valeurs par défaut ou désactiver des règles individuelles et modifier leur nom et leur gravité.

    Capture d’écran de l’activation de la règle d’alerte Prometheus.

  3. Basculez une règle de métrique de plateforme pour activer cette règle. Vous pouvez développer la règle pour modifier ses détails, tels que le nom, la gravité et le seuil.

    Capture d’écran de l’activation d’une règle d’alerte de métrique de plateforme.

  4. Sélectionnez une ou plusieurs méthodes de notification pour créer un groupe d’actions, ou sélectionnez un groupe d’actions existant avec les détails de notification pour cet ensemble de règles d’alerte.

  5. Cliquez sur Enregistrer pour enregistrer le groupe de règles.

Une fois le groupe de règles créé, vous ne pouvez pas utiliser la même page dans le portail pour modifier les règles. Pour les métriques Prometheus, vous devez modifier le groupe de règles pour modifier les règles qui y sont incluses, y compris pour activer les règles qui n'étaient pas déjà activées. Pour les métriques de plateforme, vous pouvez modifier chaque règle d’alerte.

  1. Dans le menu Alertes de votre cluster, sélectionnez Configurer des recommandations. Toutes les règles ou groupes de règles qui ont déjà été créés seront étiquetés comme Déjà créés.

  2. Développez la règle ou le groupe de règles. Cliquez sur Afficher le groupe de règles pour Prometheus et Afficher a règle d'alerte pour les métriques de plateforme.

    Capture d’écran de l’option d’affichage du groupe de règles.

  3. Pour les groupes de règles Prometheus :

    1. Sélectionnez Règles pour afficher les règles d’alerte dans le groupe.

    2. Cliquez sur l’icône Modifier en regard d’une règle que vous souhaitez modifier. Utilisez les instructions de Créer une règle d’alerte pour modifier la règle.

      Capture d’écran de l’option permettant de modifier les règles d’alerte Prometheus.

    3. Lorsque vous avez terminé de modifier des règles dans le groupe, cliquez sur Enregistrer pour enregistrer le groupe de règles.

  4. Pour les métriques de plateforme :

    1. Cliquez sur Modifier pour ouvrir les détails de la règle d’alerte. Utilisez les instructions de Créer une règle d’alerte pour modifier la règle.

      Capture d’écran de l’option permettant de modifier la règle de métrique de la plateforme.

Désactiver le groupe de règles d’alerte

Désactivez le groupe de règles pour arrêter la réception d’alertes à partir des règles qu’il contient.

  1. Affichez le groupe de règles d’alerte Prometheus ou la règle d’alerte de métrique de plateforme, comme décrit dans Modifier les règles d’alerte recommandées.

  2. Dans le menu Vue d’ensemble, sélectionnez Désactiver.

    Capture d’écran de l’option permettant de désactiver un groupe de règles.

Les tableaux suivants répertorient les détails de chaque règle d’alerte recommandée. Le code source pour chacun d’eux est disponible dans GitHub ainsi que des guides de résolution des problèmes de la communauté Prometheus.

Règles d’alerte de la communauté Prometheus

Alertes au niveau du cluster

Nom de l’alerte Description Seuil par défaut Délai d’exécution (minutes)
KubeCPUQuotaOvercommit Le quota de ressources du processeur alloué aux espaces de noms a dépassé les ressources de processeur disponibles sur les nœuds du cluster de plus de 50 % au cours des 5 dernières minutes. >1.5 5
KubeMemoryQuotaOvercommit Le quota de ressources de mémoire alloué aux espaces de noms a dépassé les ressources de mémoire disponibles sur les nœuds du cluster de plus de 50 % au cours des 5 dernières minutes. >1.5 5
KubeContainerOOMKilledCount Un ou plusieurs conteneurs dans les pods ont été tués en raison d’événements de mémoire insuffisante (OOM) au cours des 5 dernières minutes. >0 5
KubeClientErrors Le taux d’erreurs client (codes d’état HTTP commençant par 5xx) dans les requêtes d’API Kubernetes a dépassé 1 % du taux total de requêtes d’API au cours des 15 dernières minutes. >0.01 15
KubePersistentVolumeFillingUp Le volume persistant a été saturé et devrait manquer d’espace disponible évalué sur le ratio d’espace disponible, l’espace utilisé et la tendance linéaire prédite de l’espace disponible au cours des 6 dernières heures. Ces conditions sont évaluées au cours des 60 dernières minutes. S/O 60
KubePersistentVolumeInodesFillingUp Moins de 3 % des inodes dans un volume persistant ont été disponibles au cours des 15 dernières minutes. <0.03 15
KubePersistentVolumeErrors Un ou plusieurs volumes persistants ont été en phase d’échec ou d’attente au cours des 5 dernières minutes. >0 5
KubeContainerWaiting Un ou plusieurs conteneurs dans les pods Kubernetes ont été dans un état d’attente au cours des 60 dernières minutes. >0 60
KubeDaemonSetNotScheduled Un ou plusieurs pods n’ont pas été planifiés sur un nœud au cours des 15 dernières minutes. >0 15
KubeDaemonSetMisScheduled Un ou plusieurs pods ont été mal planifiés dans le cluster au cours des 15 dernières minutes. >0 15
KubeQuotaAlmostFull L’utilisation des quotas de ressources Kubernetes a été comprise entre 90 et 100 % des limites dures au cours des 15 dernières minutes. >0.9 <1 15

Alertes au niveau du nœud

Nom de l’alerte Description Seuil par défaut Délai d’exécution (minutes)
KubeNodeUnreachable Un nœud est resté inaccessible au cours des 15 dernières minutes. 1 15
KubeNodeReadinessFlapping L’état de préparation d’un nœud a changé plus de 2 fois au cours des 15 dernières minutes. 2 15

Alertes au niveau du pod

Nom de l’alerte Description Seuil par défaut Délai d’exécution (minutes)
KubePVUsageHigh L’utilisation moyenne des volumes persistants sur le pod a dépassé 80 % au cours des 15 dernières minutes. >0.8 15
KubeDeploymentReplicasMismatch Il existe une incompatibilité entre le nombre souhaité de réplicas et le nombre de réplicas disponibles au cours des 10 dernières minutes. S/O 10
KubeStatefulSetReplicasMismatch Le nombre de réplicas prêts dans StatefulSet ne correspond pas au nombre total de réplicas dans StatefulSet pour les 15 dernières minutes. S/O 15
KubeHpaReplicasMismatch L’Autoscaler de pod horizontal dans le cluster n’a pas mis en correspondance le nombre souhaité de réplicas au cours des 15 dernières minutes. S/O 15
KubeHpaMaxedOut L’Autoscaler de pod horizontal (HPA) dans le cluster s’est exécuté au maximum des réplicas au cours des 15 dernières minutes. S/O 15
KubePodCrashLooping Un ou plusieurs pods se sont trouvés dans un état CrashLoopBackOff, où le pod se bloque en permanence après le démarrage et ne parvient pas à récupérer correctement, au cours des 15 dernières minutes. >=1 15
KubeJobStale Au moins une instance de travail n’a pas réussi au cours des 6 dernières heures. >0 360
KubePodContainerRestart Un ou plusieurs conteneurs au sein des pods du cluster Kubernetes ont été redémarrés au moins une fois au cours de la dernière heure. >0 15
KubePodReadyStateLow Le pourcentage de pods dans un état prêt est inférieur à 80 % pour tout déploiement ou ensemble de démons dans le cluster Kubernetes au cours des 5 dernières minutes. <0.8 5
KubePodFailedState Un ou plusieurs pods ont été dans un état d’échec au cours des 5 dernières minutes. >0 5
KubePodNotReadyByController Un ou plusieurs pods ont été dans un état prêt (c’est-à-dire dans la phase « En attente » ou « Inconnu ») au cours des 15 dernières minutes. >0 15
KubeStatefulSetGenerationMismatch La génération observée d’un StatefulSet Kubernetes n’a pas correspondu à sa génération de métadonnées au cours des 15 dernières minutes. S/O 15
KubeJobFailed Un ou plusieurs travaux Kubernetes ont échoué au cours des 15 dernières minutes. >0 15
KubeContainerAverageCPUHigh L’utilisation moyenne du processeur par conteneur a dépassé 95 % au cours des 5 dernières minutes. >0.95 5
KubeContainerAverageMemoryHigh L’utilisation moyenne de la mémoire par conteneur a dépassé 95 % au cours des 5 dernières minutes. >0.95 10
KubeletPodStartUpLatencyHigh Le 99e centile de la latence de démarrage du pod a dépassé 60 secondes au cours des 10 dernières minutes. >60 10

Règles d’alerte de métrique de plateforme

Nom de l’alerte Description Seuil par défaut Délai d’exécution (minutes)
Le pourcentage de processeur du nœud est supérieur à 95 % Le pourcentage de processeur du nœud a été supérieur à 95 % au cours des 5 dernières minutes. 95 5
Le pourcentage de jeu de travail de mémoire du nœud est supérieur à 100 % Le pourcentage de jeu de travail de mémoire du nœud est supérieur à 100 % pour les 5 dernières minutes. 100 5

Alertes de métrique Container Insights héritées (préversion)

Les règles de métrique dans Container Insights ont été supprimées le 31 mai 2024. Ces règles étaient en préversion publique, mais sont supprimées sans atteindre la disponibilité générale, car les nouvelles alertes de métrique recommandées décrites dans cet article sont désormais disponibles.

Si vous avez déjà activé ces règles d’alerte héritées, vous devez les désactiver et activer la nouvelle expérience.

Désactiver les règles d’alerte de métrique

  1. Dans le menu Insights de votre cluster, sélectionnez Alertes recommandées (préversion).
  2. Remplacez l’état de chaque règle d’alerte par Désactivé.

Mappage des alertes héritées

Le tableau suivant mappe chacune des alertes de métrique Container Insights héritées à ses alertes de métrique Prometheus recommandées équivalentes.

Alerte recommandée pour les métriques personnalisées Alerte équivalente Prometheus/Platform recommandée Condition
Nombre de travaux terminés KubeJobStale (alertes au niveau du pod) Au moins une instance de travail n’a pas réussi au cours des 6 dernières heures.
% du processeur du conteneur KubeContainerAverageCPUHigh (alertes au niveau du pod) L’utilisation moyenne du processeur par conteneur a dépassé 95 % au cours des 5 dernières minutes.
Pourcentage de mémoire de la plage de travail du conteneur KubeContainerAverageMemoryHigh (alertes au niveau du pod) L’utilisation moyenne de la mémoire par conteneur a dépassé 95 % au cours des 5 dernières minutes.
Nombre de pods en échec KubePodFailedState (alertes au niveau du pod) Un ou plusieurs pods ont été dans un état d’échec au cours des 5 dernières minutes.
% du processeur du nœud Le pourcentage de processeur de nœud est supérieur à 95 % (Métrique de plateforme) Le pourcentage de processeur du nœud a été supérieur à 95 % au cours des 5 dernières minutes.
% d'utilisation du disque du nœud S/O L’utilisation moyenne du disque pour un nœud est supérieure à 80 %.
État NotReady du nœud KubeNodeUnreachable (alertes au niveau du nœud) Un nœud est resté inaccessible au cours des 15 dernières minutes.
% de mémoire de la plage de travail du nœud Le pourcentage de jeu de travail de mémoire du nœud est supérieur à 100 % Le pourcentage de jeu de travail de mémoire du nœud est supérieur à 100 % pour les 5 dernières minutes.
Conteneurs arrêtés OOM KubeContainerOOMKilledCount (alertes au niveau du cluster) Un ou plusieurs conteneurs dans les pods ont été tués en raison d’événements de mémoire insuffisante (OOM) au cours des 5 dernières minutes.
% d'utilisation de volume persistant KubePVUsageHigh (alertes au niveau du pod) L’utilisation moyenne des volumes persistants sur le pod a dépassé 80 % au cours des 15 dernières minutes.
Pourcentage de pods prêts KubePodReadyStateLow (alertes au niveau du pod) Le pourcentage de pods dans un état prêt est inférieur à 80 % pour tout déploiement ou ensemble de démons dans le cluster Kubernetes au cours des 5 dernières minutes.
Nombre de conteneurs en cours de redémarrage KubePodContainerRestart (alertes au niveau du pod) Un ou plusieurs conteneurs au sein des pods du cluster Kubernetes ont été redémarrés au moins une fois au cours de la dernière heure.

Étapes suivantes