3.7. Configuration du stockage persistant
Exécutez la surveillance des clusters avec un stockage persistant pour obtenir les avantages suivants:
- De protéger vos métriques et d’alerter les données contre la perte de données en les stockant dans un volume persistant (PV). En conséquence, ils peuvent survivre aux gousses redémarrées ou recréées.
- Évitez d’obtenir des notifications en double et de perdre des silences pour les alertes lorsque les pods Alertmanager sont redémarrés.
Dans les environnements de production, il est fortement recommandé de configurer le stockage persistant.
Dans les clusters multi-nœuds, vous devez configurer le stockage persistant pour Prometheus, Alertmanager et Thanos Ruler pour assurer une disponibilité élevée.
3.7.1. Conditions de stockage persistantes Copier lienLien copié sur presse-papiers!
- Employez le type de stockage de bloc.
3.7.2. Configuration d’une revendication de volume persistante Copier lienLien copié sur presse-papiers!
Afin d’utiliser un volume persistant (PV) pour la surveillance des composants, vous devez configurer une revendication de volume persistant (PVC).
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’objet ConfigMap existe. Cet objet est créé par défaut lorsque le cluster est créé.
- L’OpenShift CLI (oc) a été installé.
Procédure
Éditez la carte de configuration de la configuration de l’utilisateur-workload-monitoring dans le projet openshift-user-workload-monitoring:
oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez votre configuration PVC pour le composant sous data/config.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow L’exemple suivant configure un PVC qui revendique un stockage persistant pour Thanos Ruler:
Exemple de configuration PVC
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLes exigences de stockage pour le composant thanosRuler dépendent du nombre de règles évaluées et du nombre d’échantillons générés par chaque règle.
Enregistrez le fichier pour appliquer les modifications. Les pods affectés par la nouvelle configuration sont automatiquement redéployés et la nouvelle configuration de stockage est appliquée.
AvertissementLorsque vous mettez à jour la carte de configuration avec une configuration PVC, l’objet StatefulSet affecté est recréé, ce qui entraîne une panne de service temporaire.
3.7.3. Durée de conservation et taille pour les métriques Prometheus Copier lienLien copié sur presse-papiers!
Par défaut, Prometheus conserve les données métriques pour les durées suivantes:
- Base de surveillance de la plate-forme: 15 jours
- Contrôle des projets définis par l’utilisateur: 24 heures
Il est possible de modifier le délai de conservation de l’instance Prometheus afin de modifier la rapidité avec laquelle les données sont supprimées. De plus, vous pouvez définir la quantité maximale d’espace disque utilisée par les données métriques conservées. Lorsque les données atteignent cette limite de taille, Prometheus supprime d’abord les données les plus anciennes jusqu’à ce que l’espace disque utilisé soit de nouveau inférieur à la limite.
À noter les comportements suivants de ces paramètres de conservation des données:
- La stratégie de rétention basée sur la taille s’applique à tous les répertoires de blocs de données du répertoire /prometheus, y compris les blocs persistants, les données du journal d’écriture-ahead (WAL) et les morceaux m-mapped.
- Les données dans les répertoires /wal et /head_chunks comptent vers la limite de taille de rétention, mais Prometheus ne purge jamais les données de ces répertoires en fonction des politiques de conservation basées sur la taille ou le temps. Ainsi, si vous définissez une limite de taille de rétention inférieure à la taille maximale définie pour les répertoires /wal et /head_chunks, vous avez configuré le système pour ne pas conserver de blocs de données dans les répertoires de données /prometheus.
- La politique de conservation basée sur la taille n’est appliquée que lorsque Prometheus coupe un nouveau bloc de données, qui se produit toutes les deux heures après que le WAL contient au moins trois heures de données.
- Lorsque vous ne définissez pas explicitement des valeurs de rétention ou de rétention, le temps de rétention par défaut est de 15 jours pour la surveillance de la plate-forme de base et de 24 heures pour la surveillance de projet définie par l’utilisateur. La taille de rétention n’est pas définie.
- Lorsque vous définissez des valeurs pour la rétention et la taille de rétention, les deux valeurs s’appliquent. Lorsque des blocs de données dépassent le temps de conservation défini ou la limite de taille définie, Prometheus purge ces blocs de données.
- Lorsque vous définissez une valeur pour la taille de rétention et que vous ne définissez pas la rétention, seule la valeur de la taille de rétention s’applique.
- Dans le cas où vous ne définissez pas une valeur pour la taille de la rétention et que vous ne définissez qu’une valeur de rétention, seule la valeur de rétention s’applique.
- Lorsque vous définissez la valeur de rétention ou de rétention sur 0, les paramètres par défaut s’appliquent. Les paramètres par défaut fixent le temps de rétention à 15 jours pour la surveillance de la plate-forme de base et 24 heures pour la surveillance de projet définie par l’utilisateur. La taille de la rétention n’est pas définie par défaut.
Le compactage des données se produit toutes les deux heures. Ainsi, un volume persistant (PV) pourrait se remplir avant le compactage, dépassant potentiellement la limite de taille de rétention. Dans de tels cas, l’alerte KubePersistentVolumeFillingUp s’allume jusqu’à ce que l’espace sur un PV soit inférieur à la limite de taille de rétention.
3.7.4. La modification du temps de rétention et de la taille des données métriques de Prometheus Copier lienLien copié sur presse-papiers!
Par défaut, Prometheus conserve les données métriques pendant 24 heures pour la surveillance des projets définis par l’utilisateur. Lorsque les données sont supprimées, vous pouvez modifier le temps de conservation de l’instance Prometheus. De plus, vous pouvez définir la quantité maximale d’espace disque utilisée par les données métriques conservées.
Le compactage des données se produit toutes les deux heures. Ainsi, un volume persistant (PV) pourrait se remplir avant le compactage, dépassant potentiellement la limite de taille de rétention. Dans de tels cas, l’alerte KubePersistentVolumeFillingUp s’allume jusqu’à ce que l’espace sur un PV soit inférieur à la limite de taille de rétention.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’objet ConfigMap existe. Cet objet est créé par défaut lorsque le cluster est créé.
- L’OpenShift CLI (oc) a été installé.
Procédure
Éditez la carte de configuration de la configuration de l’utilisateur-workload-monitoring dans le projet openshift-user-workload-monitoring:
oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez la configuration du temps de rétention et de la taille sous data/config.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le temps de rétention: un nombre directement suivi de ms (millisecondes), s (secondes), m (minutes), h (heures), d (jours), w (semaines) ou y (années). Il est également possible de combiner des valeurs de temps pour des temps spécifiques, tels que 1h30m15s.
- 2
- La taille de rétention: un nombre directement suivi de B (octets), KB (kilooctets), MB (mégaoctets), GB (gigaoctets), TB (teraoctets), PB (pétaoctets) et EB (exabytes).
L’exemple suivant définit le temps de rétention à 24 heures et la taille de rétention à 10 gigaoctets pour l’instance Prometheus:
Exemple de réglage du temps de rétention pour Prometheus
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enregistrez le fichier pour appliquer les modifications. Les pods affectés par la nouvelle configuration sont automatiquement redéployés.
3.7.5. La modification du temps de conservation des données métriques Thanos Ruler Copier lienLien copié sur presse-papiers!
Dans le cas des projets définis par l’utilisateur, Thanos Ruler conserve automatiquement les données métriques pendant 24 heures. Il est possible de modifier le temps de conservation pour modifier la durée de conservation de ces données en spécifiant une valeur de temps dans la carte de configuration de configuration de la charge de travail de l’utilisateur dans l’espace de noms openshift-user-workload-monitoring.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’objet ConfigMap existe. Cet objet est créé par défaut lorsque le cluster est créé.
- L’OpenShift CLI (oc) a été installé.
Procédure
Éditer l’objet ConfigMap de l’utilisateur-workload-monitoring-config dans le projet openshift-user-workload-monitoring:
oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter la configuration du temps de rétention sous data/config.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le temps de rétention dans le format suivant: un nombre directement suivi de ms (millisecondes), s (secondes), m (minutes), h (heures), d (jours), w (semaines) ou y (années). Il est également possible de combiner des valeurs de temps pour des temps spécifiques, tels que 1h30m15s. La valeur par défaut est 24h.
L’exemple suivant définit le temps de conservation à 10 jours pour les données Thanos Ruler:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enregistrez le fichier pour appliquer les modifications. Les pods affectés par la nouvelle configuration sont automatiquement redéployés.