11.5. Gestion des règles d'alerte pour les projets définis par l'utilisateur
La surveillance d'OpenShift Container Platform est livrée avec un ensemble de règles d'alerte par défaut. En tant qu'administrateur de cluster, vous pouvez afficher les règles d'alerte par défaut.
Dans OpenShift Container Platform 4.12, vous pouvez créer, afficher, modifier et supprimer des règles d'alerte dans des projets définis par l'utilisateur.
Considérations sur les règles d'alerte
- Les règles d'alerte par défaut sont utilisées spécifiquement pour le cluster OpenShift Container Platform.
- Certaines règles d'alerte portent intentionnellement des noms identiques. Elles envoient des alertes sur le même événement avec des seuils différents, une gravité différente, ou les deux.
- Les règles d'inhibition empêchent les notifications pour les alertes de moindre gravité qui se déclenchent lorsqu'une alerte de plus grande gravité se déclenche également.
11.5.1. Optimisation des alertes pour les projets définis par l'utilisateur Copier lienLien copié sur presse-papiers!
Vous pouvez optimiser les alertes pour vos propres projets en tenant compte des recommandations suivantes lors de la création de règles d'alerte :
- Minimize the number of alerting rules that you create for your project. Créez des règles d'alerte qui vous informent des conditions qui vous concernent. Il est plus difficile de remarquer les alertes pertinentes si vous générez de nombreuses alertes pour des conditions qui n'ont pas d'impact sur vous.
- Create alerting rules for symptoms instead of causes. Créez des règles d'alerte qui vous informent des conditions, quelle que soit la cause sous-jacente. La cause peut alors être examinée. Vous aurez besoin de beaucoup plus de règles d'alerte si chacune d'entre elles ne concerne qu'une cause spécifique. Certaines causes risquent alors d'être ignorées.
- Plan before you write your alerting rules. Déterminez les symptômes qui sont importants pour vous et les actions que vous souhaitez entreprendre s'ils se produisent. Élaborez ensuite une règle d'alerte pour chaque symptôme.
- Provide clear alert messaging. Indiquer le symptôme et les actions recommandées dans le message d'alerte.
- Include severity levels in your alerting rules. La gravité d'une alerte dépend de la manière dont vous devez réagir si le symptôme signalé se produit. Par exemple, une alerte critique doit être déclenchée si un symptôme nécessite une attention immédiate de la part d'une personne ou d'une équipe d'intervention critique.
Optimize alert routing. Déployer une règle d'alerte directement sur l'instance Prometheus dans le projet
openshift-user-workload-monitoring
si la règle n'interroge pas les métriques par défaut d'OpenShift Container Platform. Cela réduit la latence pour les règles d'alerte et minimise la charge sur les composants de surveillance.AvertissementLes métriques par défaut de OpenShift Container Platform pour les projets définis par l'utilisateur fournissent des informations sur l'utilisation du processeur et de la mémoire, des statistiques sur la bande passante et des informations sur le débit de paquets. Ces métriques ne peuvent pas être incluses dans une règle d'alerte si vous acheminez la règle directement vers l'instance Prometheus dans le projet
openshift-user-workload-monitoring
. L'optimisation des règles d'alerte ne doit être utilisée que si vous avez lu la documentation et que vous comprenez parfaitement l'architecture de surveillance.
11.5.2. Création de règles d'alerte pour des projets définis par l'utilisateur Copier lienLien copié sur presse-papiers!
Vous pouvez créer des règles d'alerte pour des projets définis par l'utilisateur. Ces règles d'alerte déclenchent des alertes en fonction des valeurs des indicateurs choisis.
Conditions préalables
- Vous avez activé la surveillance pour les projets définis par l'utilisateur.
-
Vous êtes connecté en tant qu'utilisateur ayant le rôle
monitoring-rules-edit
pour le projet dans lequel vous souhaitez créer une règle d'alerte. -
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
-
Créez un fichier YAML pour les règles d'alerte. Dans cet exemple, il s'appelle
example-app-alerting-rule.yaml
. Ajoutez une configuration de règle d'alerte au fichier YAML. Par exemple :
NoteLorsque vous créez une règle d'alerte, une étiquette de projet lui est imposée si une règle portant le même nom existe dans un autre projet.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette configuration crée une règle d'alerte nommée
example-alert
. La règle d'alerte déclenche une alerte lorsque la métriqueversion
exposée par le service exemple devient0
.ImportantUne règle d'alerte définie par l'utilisateur peut inclure des mesures pour son propre projet et des mesures de cluster. Vous ne pouvez pas inclure les métriques d'un autre projet défini par l'utilisateur.
Par exemple, une règle d'alerte pour le projet défini par l'utilisateur
ns1
peut contenir des métriques provenant dens1
et des métriques de cluster, telles que les métriques de CPU et de mémoire. Cependant, la règle ne peut pas inclure les métriques dens2
.De plus, vous ne pouvez pas créer de règles d'alerte pour les projets
openshift-*
core OpenShift Container Platform. La surveillance d'OpenShift Container Platform fournit par défaut un ensemble de règles d'alerte pour ces projets.Appliquer le fichier de configuration au cluster :
oc apply -f example-app-alerting-rule.yaml
$ oc apply -f example-app-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La création de la règle d'alerte prend un certain temps.
11.5.3. Réduction de la latence pour les règles d'alerte qui n'interrogent pas les métriques de la plate-forme Copier lienLien copié sur presse-papiers!
Si une règle d'alerte pour un projet défini par l'utilisateur n'interroge pas les métriques de cluster par défaut, vous pouvez déployer la règle directement sur l'instance Prometheus dans le projet openshift-user-workload-monitoring
. Cela permet de réduire la latence des règles d'alerte en contournant Thanos Ruler lorsqu'il n'est pas nécessaire. Cela permet également de minimiser la charge globale sur les composants de surveillance.
Les métriques OpenShift Container Platform par défaut pour les projets définis par l'utilisateur fournissent des informations sur l'utilisation du processeur et de la mémoire, des statistiques sur la bande passante et des informations sur le débit de paquets. Ces métriques ne peuvent pas être incluses dans une règle d'alerte si vous déployez la règle directement sur l'instance Prometheus dans le projet openshift-user-workload-monitoring
. La procédure décrite dans cette section ne doit être utilisée que si vous avez lu la documentation et que vous comprenez parfaitement l'architecture de surveillance.
Conditions préalables
- Vous avez activé la surveillance pour les projets définis par l'utilisateur.
-
Vous êtes connecté en tant qu'utilisateur ayant le rôle
monitoring-rules-edit
pour le projet dans lequel vous souhaitez créer une règle d'alerte. -
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
-
Créez un fichier YAML pour les règles d'alerte. Dans cet exemple, il s'appelle
example-app-alerting-rule.yaml
. Ajoutez une configuration de règle d'alerte au fichier YAML qui inclut une étiquette avec la clé
openshift.io/prometheus-rule-evaluation-scope
et la valeurleaf-prometheus
. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Si cette étiquette est présente, la règle d'alerte est déployée sur l'instance Prometheus dans le projet openshift-user-workload-monitoring
. Si l'étiquette n'est pas présente, la règle d'alerte est déployée sur Thanos Ruler.
Appliquer le fichier de configuration au cluster :
oc apply -f example-app-alerting-rule.yaml
$ oc apply -f example-app-alerting-rule.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La création de la règle d'alerte prend un certain temps.
- Voir Monitoring overview pour plus de détails sur l'architecture de surveillance d'OpenShift Container Platform 4.12.
11.5.4. Accès aux règles d'alerte pour les projets définis par l'utilisateur Copier lienLien copié sur presse-papiers!
Pour répertorier les règles d'alerte d'un projet défini par l'utilisateur, le rôle monitoring-rules-view
doit vous avoir été attribué pour ce projet.
Conditions préalables
- Vous avez activé la surveillance pour les projets définis par l'utilisateur.
-
Vous êtes connecté en tant qu'utilisateur ayant le rôle
monitoring-rules-view
pour votre projet. -
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
Vous pouvez dresser la liste des règles d'alerte sur
<project>
:oc -n <projet> get prometheusrule
oc -n <projet> get prometheusrule
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour répertorier la configuration d'une règle d'alerte, procédez comme suit :
oc -n <projet> get prometheusrule <rule> -o yaml
$ oc -n <projet> get prometheusrule <rule> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.5.5. Liste des règles d'alerte pour tous les projets dans une vue unique Copier lienLien copié sur presse-papiers!
En tant qu'administrateur de cluster, vous pouvez répertorier les règles d'alerte pour le cœur d'OpenShift Container Platform et les projets définis par l'utilisateur dans une seule vue.
Conditions préalables
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. -
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
-
Dans la perspective Administrator, naviguez vers Observe
Alerting Alerting Rules. Sélectionnez les sources Platform et User dans le menu déroulant Filter.
NoteLa source Platform est sélectionnée par défaut.
11.5.6. Suppression des règles d'alerte pour les projets définis par l'utilisateur Copier lienLien copié sur presse-papiers!
Vous pouvez supprimer les règles d'alerte pour les projets définis par l'utilisateur.
Conditions préalables
- Vous avez activé la surveillance pour les projets définis par l'utilisateur.
-
Vous êtes connecté en tant qu'utilisateur ayant le rôle
monitoring-rules-edit
pour le projet dans lequel vous souhaitez créer une règle d'alerte. -
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
Pour supprimer la règle
<foo>
dans<namespace>
, exécutez la procédure suivante :oc -n <namespace> delete prometheusrule <foo>
oc -n <namespace> delete prometheusrule <foo>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow