3.8. Configuration du stockage d’écriture à distance
Il est possible de configurer le stockage d’écriture à distance pour permettre à Prometheus d’envoyer des métriques ingérées à des systèmes distants pour un stockage à long terme. Cela n’a aucun impact sur la façon dont ou pendant combien de temps Prometheus stocke les métriques.
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é.
Il y a un point de terminaison compatible avec l’écriture à distance (tel que Thanos) et vous connaissez l’URL du point de terminaison. Consultez les points de terminaison distants Prometheus et la documentation de stockage pour obtenir des informations sur les points de terminaison compatibles avec la fonction d’écriture à distance.
ImportantLe Red Hat fournit uniquement des informations pour la configuration des expéditeurs d’écriture à distance et n’offre pas de conseils sur la configuration des points de terminaison du récepteur. Les clients sont responsables de la mise en place de leurs propres points de terminaison compatibles avec l’écriture à distance. Les problèmes avec les configurations des récepteurs de point de terminaison ne sont pas inclus dans le support de production de Red Hat.
Dans un objet Secret, vous avez configuré des identifiants d’authentification pour le point de terminaison de l’écriture à distance. Il faut créer le secret dans l’espace de noms openshift-user-workload-monitoring.
AvertissementAfin de réduire les risques de sécurité, utilisez HTTPS et l’authentification pour envoyer des métriques à un point de terminaison.
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 Ajouter une section RemoteWrite: sous data/config.yaml/prometheus, comme indiqué dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L’URL du point de terminaison de l’écriture distante.
- 2
- La méthode d’authentification et les informations d’identification pour le point de terminaison. Les méthodes d’authentification actuellement prises en charge sont AWS Signature Version 4, l’authentification à l’aide de HTTP dans un en-tête de demande d’autorisation, l’authentification de base, OAuth 2.0 et le client TLS. Consultez les paramètres d’authentification d’écriture à distance pris en charge pour les configurations d’échantillons de méthodes d’authentification prises en charge.
Ajouter des valeurs de configuration de relabel d’écriture après les identifiants d’authentification:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajoutez une configuration pour les métriques que vous souhaitez envoyer au point de terminaison distant.
Exemple de transfert d’une seule métrique appelée my_metric
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de mesures de transmission appelées my_metric_1 et my_metric_2 dans my_namespace namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enregistrez le fichier pour appliquer les modifications. La nouvelle configuration est appliquée automatiquement.
3.8.1. Paramètres d’authentification d’écriture à distance pris en charge Copier lienLien copié sur presse-papiers!
Il est possible d’utiliser différentes méthodes pour s’authentifier avec un point de terminaison d’écriture à distance. Les méthodes d’authentification actuellement prises en charge sont AWS Signature Version 4, l’authentification de base, l’autorisation, OAuth 2.0 et le client TLS. Le tableau suivant fournit des détails sur les méthodes d’authentification prises en charge pour une utilisation avec l’écriture à distance.
La méthode d’authentification | Configurer le champ map | Description |
---|---|---|
AWS Signature Version 4 |
| Cette méthode utilise l’authentification AWS Signature Version 4 pour signer des requêtes. Cette méthode ne peut pas être utilisée simultanément avec l’autorisation, l’authentification OAuth 2.0 ou l’authentification Basic. |
Authentification de base |
| L’authentification de base définit l’en-tête d’autorisation sur chaque demande d’écriture à distance avec le nom d’utilisateur et le mot de passe configurés. |
autorisation |
| L’autorisation définit l’en-tête d’autorisation sur chaque demande d’écriture à distance à l’aide du jeton configuré. |
À propos de OAuth 2.0 |
| La configuration OAuth 2.0 utilise le type de subvention d’identification client. Le Prometheus obtient un jeton d’accès à partir de tokenUrl avec l’ID client spécifié et le secret client pour accéder au point de terminaison d’écriture distante. Cette méthode ne peut pas être utilisée simultanément avec l’autorisation, l’authentification AWS Signature 4 ou l’authentification Basic. |
Client TLS |
| La configuration du client TLS spécifie le certificat CA, le certificat client et les informations de fichier clé du client utilisées pour authentifier avec le serveur de point de terminaison d’écriture à distance à l’aide de TLS. La configuration de l’échantillon suppose que vous avez déjà créé un fichier de certificat CA, un fichier de certificat client et un fichier clé client. |
3.8.2. Exemple de paramètres d’authentification d’écriture à distance Copier lienLien copié sur presse-papiers!
Les échantillons suivants montrent différents paramètres d’authentification que vous pouvez utiliser pour vous connecter à un point de terminaison d’écriture à distance. Chaque échantillon montre également comment configurer un objet secret correspondant qui contient des informations d’authentification et d’autres paramètres pertinents. Chaque échantillon configure l’authentification pour une utilisation avec la surveillance des projets définis par l’utilisateur dans l’espace de noms openshift-user-workload-monitoring.
3.8.2.1. Exemple d’authentification YAML pour AWS Signature Version 4 Copier lienLien copié sur presse-papiers!
Ce qui suit montre les paramètres d’un secret sigv4 nommé sigv4-credentials dans l’espace de noms openshift-user-workload-monitoring.
Ce qui suit montre les paramètres d’authentification d’écriture à distance AWS Signature Version 4 qui utilisent un objet secret nommé sigv4-credentials dans l’espace de noms openshift-user-workload-monitoring:
- 1
- La région AWS.
- 2 4
- Le nom de l’objet Secret contenant les identifiants d’accès AWS API.
- 3
- La clé qui contient la clé d’accès AWS API dans l’objet Secret spécifié.
- 5
- La clé qui contient la clé secrète AWS API dans l’objet secret spécifié.
- 6
- Le nom du profil AWS qui est utilisé pour authentifier.
- 7
- L’identifiant unique pour le nom de ressource Amazon (ARN) attribué à votre rôle.
3.8.2.2. Échantillon YAML pour l’authentification de base Copier lienLien copié sur presse-papiers!
Ce qui suit montre des paramètres d’authentification de base pour un objet secret nommé rw-basic-auth dans l’espace de noms openshift-user-workload-monitoring:
L’échantillon suivant montre une configuration d’écriture à distance de baseAuth qui utilise un objet secret nommé rw-basic-auth dans l’espace de noms openshift-user-workload-monitoring. Il suppose que vous avez déjà configuré des informations d’authentification pour le point de terminaison.
3.8.2.3. Échantillon YAML pour l’authentification avec un jeton porteur à l’aide d’un objet secret Copier lienLien copié sur presse-papiers!
Ce qui suit montre les paramètres de jeton porteur pour un objet secret nommé rw-porter-auth dans l’espace de noms openshift-user-workload-monitoring:
- 1
- Le jeton d’authentification.
Ce qui suit montre les paramètres de configuration de jeton de porteur d’échantillons qui utilisent un objet secret nommé rw-bearer-auth dans l’espace de noms openshift-user-workload-monitoring:
3.8.2.4. Échantillon YAML pour l’authentification OAuth 2.0 Copier lienLien copié sur presse-papiers!
Ce qui suit montre les paramètres OAuth 2.0 pour un objet secret nommé oauth2-credentials dans l’espace de noms openshift-user-workload-monitoring:
Ce qui suit montre une configuration d’échantillon d’authentification d’écriture à distance oauth2 qui utilise un objet secret nommé oauth2-credentials dans l’espace de noms openshift-user-workload-monitoring:
- 1 3
- Le nom de l’objet secret correspondant. A noter que ClientId peut se référer alternativement à un objet ConfigMap, bien que clientSecret doive se référer à un objet secret.
- 2 4
- La clé qui contient les informations d’identification OAuth 2.0 dans l’objet secret spécifié.
- 5
- L’URL utilisée pour récupérer un jeton avec le clientId et clientSecret spécifiés.
- 6
- La portée OAuth 2.0 de la demande d’autorisation. Ces portées limitent les données auxquelles les jetons peuvent accéder.
- 7
- Les paramètres de demande d’autorisation OAuth 2.0 requis pour le serveur d’autorisation.
3.8.2.5. Échantillon YAML pour l’authentification client TLS Copier lienLien copié sur presse-papiers!
Ce qui suit montre les paramètres du client TLS pour un objet secret nommé mtls-grouple dans l’espace de noms openshift-user-workload-monitoring.
L’échantillon suivant montre une configuration d’authentification d’écriture à distance tlsConfig qui utilise un objet TLS Secret nommé mtls-bundle.
- 1 3 5
- Le nom de l’objet Secret correspondant qui contient les identifiants d’authentification TLS. A noter que ca et cert peuvent faire référence alternativement à un objet ConfigMap, bien que keySecret doive se référer à un objet secret.
- 2
- La clé dans l’objet secret spécifié qui contient le certificat CA pour le point de terminaison.
- 4
- La clé de l’objet Secret spécifié qui contient le certificat client pour le point de terminaison.
- 6
- La clé dans l’objet secret spécifié qui contient le secret de clé client.
3.8.3. Exemple de configuration de file d’attente d’écriture à distance Copier lienLien copié sur presse-papiers!
Il est possible d’utiliser l’objet queueConfig pour l’écriture à distance afin d’ajuster les paramètres de file d’écriture à distance. L’exemple suivant montre les paramètres de file d’attente avec leurs valeurs par défaut pour la surveillance des projets définis par l’utilisateur dans l’espace de noms openshift-user-workload-monitoring.
Exemple de configuration des paramètres d’écriture à distance avec des valeurs par défaut
- 1
- Le nombre d’échantillons à tampon par fragment avant qu’ils ne soient supprimés de la file d’attente.
- 2
- Le nombre minimum de fragments.
- 3
- Le nombre maximum de fragments.
- 4
- Le nombre maximal d’échantillons par envoi.
- 5
- Le temps maximum pour un échantillon d’attendre en tampon.
- 6
- L’heure initiale d’attendre avant de réessayer une demande échouée. Le temps est doublé pour chaque réessayer jusqu’au temps maxbackoff.
- 7
- Le temps maximum d’attendre avant de réessayer une demande échouée.
- 8
- Définissez ce paramètre sur true pour réessayer une requête après avoir reçu un code d’état 429 à partir du stockage d’écriture à distance.
- 9
- Les échantillons qui sont plus anciens que la limite de l’échantillonAgeLimit sont supprimés de la file d’attente. Lorsque la valeur n’est pas définie ou définie sur 0s, le paramètre est ignoré.