2.8. Définition de la taille limite du corps pour le raclage des métriques
Par défaut, aucune limite n'est fixée pour la taille du corps non compressé des données renvoyées par les cibles de métriques analysées. Vous pouvez définir une limite pour la taille du corps afin d'éviter que Prometheus ne consomme une quantité excessive de mémoire lorsque les cibles raclées renvoient une réponse contenant une grande quantité de données. En outre, en définissant une limite de taille de corps, vous pouvez réduire l'impact qu'une cible malveillante peut avoir sur Prometheus et sur le cluster dans son ensemble.
Après avoir défini une valeur pour enforcedBodySizeLimit
, l'alerte PrometheusScrapeBodySizeLimitHit
se déclenche lorsqu'au moins une cible de balayage Prometheus répond avec un corps de réponse supérieur à la valeur configurée.
Si les données métriques extraites d'une cible ont une taille de corps non compressée supérieure à la limite de taille configurée, l'extraction échoue. Prometheus considère alors que cette cible est en panne et définit sa valeur métrique up
sur 0
, ce qui peut déclencher l'alerte TargetDown
.
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
Modifiez l'objet
cluster-monitoring-config
ConfigMap
dans l'espace de nomsopenshift-monitoring
:oc -n openshift-monitoring edit configmap cluster-monitoring-config
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter une valeur pour
enforcedBodySizeLimit
àdata/config.yaml/prometheusK8s
afin de limiter la taille du corps qui peut être acceptée par raclage ciblé :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Spécifier la taille maximale du corps des cibles de métriques scrappées. L'exemple suivant (
enforcedBodySizeLimit
) limite la taille non compressée de chaque cible scrappée à 40 mégaoctets. Les valeurs numériques valides utilisent le format de taille des données Prometheus : B (octets), KB (kilooctets), MB (mégaoctets), GB (gigaoctets), TB (téraoctets), PB (pétaoctets) et EB (exaoctets). La valeur par défaut est0
, ce qui signifie qu'il n'y a pas de limite. Vous pouvez également définir la valeurautomatic
pour calculer automatiquement la limite en fonction de la capacité de la grappe.
Enregistrez le fichier pour appliquer automatiquement les modifications.
AvertissementLorsque vous enregistrez les modifications apportées à une carte de configuration
cluster-monitoring-config
, les pods et autres ressources du projetopenshift-monitoring
peuvent être redéployés. Les processus de surveillance en cours d'exécution dans ce projet peuvent également redémarrer.