Déployer Prometheus sur des clusters de charge de travail

Cette rubrique explique comment déployer Prometheus dans un cluster de charge de travail. Les procédures ci-dessous s'appliquent aux déploiements vSphere, Amazon Web Services (AWS) et Azure.

Prometheus

Prometheus est une boîte à outils d'alerte et de surveillance de systèmes open source. Tanzu Kubernetes Grid inclut des fichiers binaires signés pour Prometheus que vous pouvez déployer sur des clusters de charge de travail pour surveiller la santé et les services du cluster.

Conditions requises

Important

La prise en charge des adresses IPv6 dans Tanzu Kubernetes Grid est limitée, reportez-vous à la section Déployer des clusters sur IPv6 (vSphere uniquement). Si vous n'effectuez pas le déploiement dans un environnement de mise en réseau IPv6 uniquement, vous devez fournir des adresses IPv4 dans les étapes suivantes.

Préparer le cluster de charge de travail pour le déploiement de Prometheus

Pour préparer le cluster :

  1. Obtenez les informations d'identification de l'administrateur du cluster de charge de travail dans lequel vous souhaitez déployer Prometheus. Par exemple :

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Définissez le contexte de kubectl sur le cluster. Par exemple :

    kubectl config use-context my-cluster-admin@my-cluster
    

(Facultatif) Activer l'entrée pour Prometheus

Pour activer l'entrée, vous pouvez installer les modules facultatifs ci-dessous :

  1. Installez le gestionnaire de certificats. pour plus d'informations, reportez-vous à la section Installer le gestionnaire de certificats pour la gestion des certificats.
  2. Installez Contour. Pour plus d'informations, reportez-vous à la section Installer Contour pour le contrôle d'entrée.

Passez à l'étape Déployer Prometheus dans le cluster de charge de travail ci-dessous.

Déployer Prometheus dans le cluster de charge de travail

Pour installer Prometheus :

  1. Si le cluster ne dispose pas d'un référentiel de modules avec le module Prometheus installé, tel que le référentiel tanzu-standard, installez-en un :

    Remarque

    Si vous ciblez un cluster basé sur un plan (hérité), ignorez cette étape. Pour les clusters basés sur un plan, le référentiel de modules tanzu-standard est automatiquement activé dans chaque cluster, dans l'espace de noms tanzu-package-repo-global.

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    Où :

    • PACKAGE-REPO-NAME est le nom du référentiel de modules, tel que tanzu-standard ou le nom d'un registre d'images privé configuré avec des variables ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINT est l'URL du référentiel de modules.

      • Pour cette version, l'URL tanzu-standard est projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0. Reportez-vous à la section Répertorier les référentiels de modules (List Package Repositories) pour obtenir cette valeur depuis la CLI Tanzu ou, dans Tanzu Mission Control, consultez la liste Modules complémentaires (Addons) > Référentiels (Repositories) dans le volet Cluster.
  2. Vérifiez que le module Prometheus est disponible dans votre cluster de charge de travail :

    tanzu package available list -A
    
  3. Récupérez la version du module disponible :

    tanzu package available list prometheus.tanzu.vmware.com -A
    | Retrieving package versions for prometheus.tanzu.vmware.com...
     NAME                           VERSION                          RELEASED-AT           NAMESPACE
     prometheus.tanzu.vmware.com    2.37.0+vmware.3-tkg.1            2020-11-24T18:00:00Z  tanzu-package-repo-global
    
    Important

    Si votre cluster de charge de travail exécute Kubernetes 1.25, vous devez installer Prometheus version 2.37.0+vmware.3-tkg.1. Les versions antérieures du module Prometheus, par exemple version 2.37.0+vmware.1-tkg.1 sont disponibles dans le référentiel, mais ne sont pas compatibles avec Kubernetes 1.25.

Lorsque vous êtes prêt à déployer Prometheus, vous pouvez :

vSphere with Tanzu : Pour déployer le module Prometheus sur un cluster de charge de travail créé par un cluster vSphere Supervisor Cluster, vous devez le déployer avec des valeurs personnalisées. Le module Prometheus n'a pas été validé pour les clusters de charge de travail sur vSphere 7.0 U3.

Déployer Prometheus avec les configurations par défaut

Après avoir confirmé la version du module et l'avoir récupérée, vous pouvez installer le module.

  1. Installez le module Prometheus à l'aide de ses valeurs par défaut :

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --namespace TARGET-NAMESPACE
    

    Où :

    • TARGET-NAMESPACE est l'espace de noms dans lequel vous souhaitez installer le module Prometheus. Par exemple, l'espace de noms my-packages ou tanzu-cli-managed-packages.

      • Si l'indicateur --namespace n'est pas spécifié, la CLI Tanzu utilise l'espace de noms default. Les espaces Prometheus et toutes les autres ressources associées au composant Prometheus sont créés dans l'espace de noms tanzu-system-monitoring. N'installez pas le module Prometheus dans cet espace de noms.
      • L'espace de noms spécifié doit déjà exister, par exemple en exécutant kubectl create namespace my-packages.
    • AVAILABLE-PACKAGE-VERSION est la version que vous avez récupérée ci-dessus, par exemple 2.37.0+vmware.3-tkg.1.

    Par exemple :

    tanzu package install prometheus --package prometheus.tanzu.vmware.com --namespace my-packages --version 2.37.0+vmware.3-tkg.1
    
    \ Installing package 'prometheus.tanzu.vmware.com'
    | Getting package metadata for 'prometheus.tanzu.vmware.com'
    | Creating service account 'prometheus-my-packages-sa'
    | Creating cluster admin role 'prometheus-my-packages-cluster-role'
    | Creating cluster role binding 'prometheus-my-packages-cluster-rolebinding'
    - Creating package resource
    \ Package install status: Reconciling
    
    Added installed package 'prometheus' in namespace 'my-packages'
    
  2. vSphere with Tanzu : Sur vSphere 8 et vSphere 7.0 U2 avec la fonctionnalité vSphere with Tanzu activée, la commande tanzu package install prometheus peut renvoyer l'erreur Failed to get final advertise address: No private IP address found, and explicit IP not provided.

    Pour corriger cette erreur, créez et appliquez une superposition de modules pour reconfigurer le composant alertmanager :

    1. Créez un fichier overlay-alertmanager.yaml contenant :

      ---
      #@ load("@ytt:overlay", "overlay")
      
      #@overlay/match by=overlay.and_op(overlay.subset({"kind": "Deployment"}), overlay.subset({"metadata": {"name": "alertmanager"}}))
      ---
      spec:
        template:
          spec:
            containers:
              #@overlay/match by="name",expects="0+"
              - name: alertmanager
                args:
                  - --cluster.listen-address=
      
    2. Créez un secret à partir de la superposition :

      kubectl create secret generic alertmanager-overlay -n tanzu-package-repo-global -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
      
    3. Annotez le module avec le secret :

      kubectl annotate PackageInstall prometheus -n tanzu-package-repo-global ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
      

Passez à l'étape Vérifier le déploiement de Prometheus ci-dessous.

Déployer Prometheus avec des valeurs personnalisées

Pour installer le module Prometheus à l'aide des valeurs fournies par l'utilisateur :

  1. Créez un fichier de configuration. Ce fichier configure le module Prometheus.

    tanzu package available get prometheus.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    PACKAGE-VERSION est la version du module Prometheus que vous souhaitez installer et FILE-PATH est l'emplacement dans lequel vous souhaitez enregistrer le fichier de configuration (par exemple, prometheus-data-values.yaml). La commande ci-dessus crée un fichier de configuration nommé prometheus-data-values.yaml contenant les valeurs par défaut. Notez que dans les versions précédentes, ce fichier s'appelait prometheus-data-values.yaml.

    Pour plus d'informations sur les paramètres de configuration à utiliser dans prometheus-data-values.yaml, reportez-vous à la section Paramètres de configuration du module Prometheus ci-dessous.

  2. vSphere with Tanzu : Si vous déployez Prometheus sur un cluster de charge de travail créé à l'aide d'un vSphere Supervisor Cluster, attribuez une valeur non nulle prometheus.pvc.storageClassName et à alertmanager.pvc.storageClassName dans le fichier prometheus-data-values.yaml :

    ingress:
      enabled: true
      virtual_host_fqdn: "prometheus.corp.tanzu"
      prometheus_prefix: "/"
      alertmanager_prefix: "/alertmanager/"
      prometheusServicePort: 80
      alertmanagerServicePort: 80
    prometheus:
      pvc:
        storageClassName: STORAGE-CLASS
    alertmanager:
      pvc:
        storageClassName: STORAGE-CLASS
    

    STORAGE-CLASS est le nom de la classe de stockage du cluster, tel que renvoyé par kubectl get storageclass.

  3. Après avoir apporté les modifications nécessaires à votre fichier prometheus-data-values.yaml, supprimez tous les commentaires qu'il contient :

    yq -i eval '... comments=""' prometheus-data-values.yaml
    
  4. Déployez le module :

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version PACKAGE-VERSION \
    --values-file prometheus-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    Où :

    • TARGET-NAMESPACE est l'espace de noms dans lequel vous souhaitez installer le module Prometheus, l'application du module Grafana et toutes les autres ressources Kubernetes qui décrivent le module. Par exemple, l'espace de noms my-packages ou tanzu-cli-managed-packages. Si l'indicateur --namespace n'est pas spécifié, la CLI Tanzu utilise l'espace de noms default. Les espaces Prometheus et toutes les autres ressources associées au composant Prometheus sont créés dans l'espace de noms tanzu-system-monitoring. N'installez pas le module Prometheus dans cet espace de noms.
    • PACKAGE-VERSION est la version que vous avez récupérée ci-dessus, par exemple 2.37.0+vmware.3-tkg.1.

Passez à l'étape Vérifier le déploiement de Prometheus ci-dessous.

Vérifier le déploiement de Prometheus

Après avoir déployé Prometheus, vous pouvez vérifier que le déploiement a réussi :

  1. Vérifiez que le module Prometheus est installé. Par exemple :

    tanzu package installed list -A
    / Retrieving installed packages...
    NAME            PACKAGE-NAME                       PACKAGE-VERSION                STATUS                   NAMESPACE
    cert-manager    cert-manager.tanzu.vmware.com      1.1.0+vmware.1-tkg.2           Reconcile succeeded      my-packages
    prometheus      prometheus.tanzu.vmware.com        2.37.0+vmware.3-tkg.1          Reconcile succeeded      my-packages
    antrea          antrea.tanzu.vmware.com                                           Reconcile succeeded      tkg-system
    metrics-server  metrics-server.tanzu.vmware.com                                   Reconcile succeeded      tkg-system
    vsphere-cpi     vsphere-cpi.tanzu.vmware.com                                      Reconcile succeeded      tkg-system
    vsphere-csi     vsphere-csi.tanzu.vmware.com                                      Reconcile succeeded      tkg-system
    

    Le module prometheus et l'application prometheus sont installés dans l'espace de noms que vous spécifiez lors de l'exécution de la commande tanzu package install.

  2. Vérifiez que l'application prometheus a été rapprochée :

    kubectl get apps -A
    

    Par exemple :

    NAMESPACE     NAME                                DESCRIPTION           SINCE-DEPLOY   AGE
    my-packages   cert-manager                        Reconcile succeeded   74s            29m
    my-packages   prometheus                          Reconcile succeeded   20s            33m
    tkg-system    antrea                              Reconcile succeeded   70s            3h43m
    [...]
    

    Si l'état n'est pas Reconcile succeeded, affichez les détails de l'état complet de l'application prometheus. L'affichage de l'état complet peut vous aider à résoudre le problème :

    kubectl get app prometheus --namespace PACKAGE-NAMESPACE -o yaml
    

    PACKAGE-NAMESPACE est l'espace de noms dans lequel vous avez installé le module.

  3. Vérifiez que les nouveaux services sont en cours d'exécution en répertoriant tous les espaces qui s'exécutent dans le cluster :

    kubectl get pods -A
    

    Dans l'espace de noms tanzu-system-monitoring, vous devez voir les services prometheus, alertmanager, node_exporter, pushgateway, cadvisor et kube_state_metrics s'exécutant dans un espace :

    NAMESPACE               NAME                                    READY   STATUS    RESTARTS   AGE
    [...]
    tanzu-system-monitoring   alertmanager-d6bb4d94d-7fgmb                             1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-cadvisor-pgfck                                1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-kube-state-metrics-868b5b749d-9w5f2           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-node-exporter-97x6c                           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-node-exporter-dnrkk                           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-pushgateway-84cc9b85c6-tgmv6                  1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-server-6479964fb6-kk9g2                       2/2     Running   0          35m
    [...]
    

Les espaces Prometheus et toutes les autres ressources associées au composant Prometheus sont créés dans l'espace de noms que vous avez fourni dans prometheus-data-values.yaml. Si vous utilisez l'espace de noms par défaut, ceux-ci sont créés dans l'espace de noms tanzu-system-monitoring.

Paramètres de configuration de module Prometheus

Il existe deux façons d'afficher les paramètres de configuration du module Prometheus :

Vérifier le schéma du module

Pour récupérer le schéma du module :

tanzu package available get prometheus.tanzu.vmware.com/2.37.0+vmware.3-tkg.1 -n AVAILABLE-PACKAGE-NAMESPACE --values-schema

Cette commande répertorie les paramètres de configuration du module Prometheus et ses valeurs par défaut. Vous pouvez utiliser la sortie pour mettre à jour le fichier prometheus-data-values.yml que vous avez créé à l'étape Déployer Prometheus avec des valeurs personnalisées ci-dessus.

Vérifier les paramètres de configuration

Le tableau suivant répertorie les paramètres de configuration du module Prometheus et décrit leurs valeurs par défaut.

Vous pouvez définir les valeurs de configuration suivantes dans le fichier prometheus-data-values.yml que vous avez créé à l'étape Déployer Prometheus avec des valeurs personnalisées ci-dessus.

Paramètre Description Type Par défaut
namespace Espace de noms dans lequel Prometheus sera déployé. String tanzu-system-monitoring
prometheus.deployment.replicas Nombre de réplicas Prometheus. String 1
prometheus.deployment.containers.args Arguments de conteneur Prometheus. Vous pouvez configurer ce paramètre pour modifier la durée de rétention. Pour plus d'informations sur la configuration des paramètres de stockage Prometheus, reportez-vous à la documentation Prometheus. Remarque les durées de rétention plus longues nécessitent plus de capacité de stockage que des durées de rétention plus courtes. Il peut être nécessaire d'augmenter la taille de réclamation de volume persistant si vous augmentez considérablement la durée de rétention. Liste s/o
prometheus.deployment.containers.resources Demandes et limites de ressources de conteneur Prometheus. Mappage {}
prometheus.deployment.podAnnotations Annotations d'espaces des déploiements Prometheus. Mappage {}
prometheus.deployment.podLabels Étiquettes d'espaces des déploiements Prometheus. Mappage {}
prometheus.deployment.configMapReload.containers.args Arguments de conteneur configmap-reload. Liste s/o
prometheus.deployment.configMapReload.containers.resources Demandes et limites de ressources de conteneur configmap-reload. Mappage {}
prometheus.service.type Type de service pour exposer Prometheus. Valeurs prises en charge : ClusterIP. String ClusterIP
prometheus.service.port Port de service Prometheus. Entier 80
prometheus.service.targetPort Port cible du service Prometheus. Entier 9090
prometheus.service.labels Étiquettes de service Prometheus. Mappage {}
prometheus.service.annotations Annotations de service Prometheus. Mappage {}
prometheus.pvc.annotations Annotations de classe de stockage. Mappage {}
prometheus.pvc.storageClassName Classe de stockage à utiliser pour la réclamation de volume persistant. Par défaut, cette valeur est nulle et le provisionneur par défaut est utilisé. String null
prometheus.pvc.accessMode Définissez le mode d'accès pour la réclamation de volume persistant. Valeurs prises en charge : ReadWriteOnce, ReadOnlyMany et ReadWriteMany. String ReadWriteOnce
prometheus.pvc.storage Définissez la taille de stockage pour la réclamation de volume persistant. String 150Gi
prometheus.config.prometheus_yml Pour plus d'informations sur la configuration globale de Prometheus, reportez-vous à la documentation de Prometheus. Fichier YAML prometheus.yaml
prometheus.config.alerting_rules_yml Pour plus d'informations sur les règles d'alerte Prometheus, reportez-vous à la documentation de Prometheus. Fichier YAML alerting_rules.yaml
prometheus.config.recording_rules_yml Pour plus d'informations sur les règles d'enregistrement Prometheus, reportez-vous à la documentation de Prometheus. Fichier YAML recording_rules.yaml
prometheus.config.alerts_yml Des règles d'alerte Prometheus supplémentaires sont configurées ici. Fichier YAML alerts_yml.yaml
prometheus.config.rules_yml Des règles d'enregistrement Prometheus supplémentaires sont configurées ici. Fichier YAML rules_yml.yaml
alertmanager.deployment.replicas Nombre de réplicas Alertmanager. Entier 1
alertmanager.deployment.containers.resources Demandes et limites de ressources du conteneur Alertmanager. Mappage {}
alertmanager.deployment.podAnnotations Annotations d'espaces des déploiements Alertmanager. Mappage {}
alertmanager.deployment.podLabels Étiquettes d'espaces des déploiements Alertmanager. Mappage {}
alertmanager.service.type Type de service pour exposer Alertmanager. Valeurs prises en charge : ClusterIP. String ClusterIP
alertmanager.service.port Port de service Alertmanager. Entier 80
alertmanager.service.targetPort Port cible du service Alertmanager. Entier 9093
alertmanager.service.labels Étiquettes du service Alertmanager. Mappage {}
alertmanager.service.annotations Annotations du service Alertmanager. Mappage {}
alertmanager.pvc.annotations Annotations de classe de stockage. Mappage {}
alertmanager.pvc.storageClassName Classe de stockage à utiliser pour la réclamation de volume persistant. Par défaut, cette valeur est nulle et le provisionneur par défaut est utilisé. String null
alertmanager.pvc.accessMode Définissez le mode d'accès pour la réclamation de volume persistant. Valeurs prises en charge : ReadWriteOnce, ReadOnlyMany et ReadWriteMany. String ReadWriteOnce
alertmanager.pvc.storage Définissez la taille de stockage pour la réclamation de volume persistant. String 2Gi
alertmanager.config.alertmanager_yml Pour plus d'informations sur la configuration YAML globale du gestionnaire d'alertes, reportez-vous à la documentation de Prometheus. Fichier YAML alertmanager_yml
kube_state_metrics.deployment.replicas Nombre de réplicas kube-state-metrics. Entier 1
kube_state_metrics.deployment.containers.resources Demandes et limites de ressources de conteneur kube-state-metrics. Mappage {}
kube_state_metrics.deployment.podAnnotations Annotations d'espaces des déploiements kube-state-metrics. Mappage {}
kube_state_metrics.deployment.podLabels Étiquettes d'espaces des déploiements kube-state-metrics. Mappage {}
kube_state_metrics.service.type Type de service pour exposer les mesures kube-state-metrics. Valeurs prises en charge : ClusterIP. String ClusterIP
kube_state_metrics.service.port Port du service kube-state-metrics. Entier 80
kube_state_metrics.service.targetPort Port cible du service kube-state-metrics. Entier 8080
kube_state_metrics.service.telemetryPort Port de télémétrie du service kube-state-metrics. Entier 81
kube_state_metrics.service.telemetryTargetPort Port de télémétrie cible du service kube-state-metrics. Entier 8081
kube_state_metrics.service.labels Étiquettes du service kube-state-metrics. Mappage {}
kube_state_metrics.service.annotations Annotations du service kube-state-metrics. Mappage {}
node_exporter.daemonset.replicas Nombre de réplicas node-exporter. Entier 1
node_exporter.daemonset.containers.resources Demandes et limites de ressources de conteneur node-exporter. Mappage {}
node_exporter.daemonset.hostNetwork Mise en réseau de l'espace demandée pour cet espace. booléen false
node_exporter.daemonset.podAnnotations Annotations d'espaces des déploiements node-exporter. Mappage {}
node_exporter.daemonset.podLabels Étiquettes d'espaces des déploiements node-exporter. Mappage {}
node_exporter.service.type Type de service pour exposer node-exporter. Valeurs prises en charge : ClusterIP. String ClusterIP
node_exporter.service.port Port de service node-exporter. Entier 9100
node_exporter.service.targetPort Port cible de service node-exporter. Entier 9100
node_exporter.service.labels Étiquettes de service node-exporter. Mappage {}
node_exporter.service.annotations Annotations de service node-exporter. Mappage {}
pushgateway.deployment.replicas Nombre de réplicas pushgateway. Entier 1
pushgateway.deployment.containers.resources Demandes et limites de ressources de conteneur pushgateway. Mappage {}
pushgateway.deployment.podAnnotations Annotations d'espaces des déploiements pushgateway. Mappage {}
pushgateway.deployment.podLabels Étiquettes d'espaces des déploiements pushgateway. Mappage {}
pushgateway.service.type Type de service pour exposer pushgateway. Valeurs prises en charge : ClusterIP. String ClusterIP
pushgateway.service.port Port de service pushgateway. Entier 9091
pushgateway.service.targetPort Port cible de service pushgateway. Entier 9091
pushgateway.service.labels Étiquettes de service pushgateway. Mappage {}
pushgateway.service.annotations Annotations de service pushgateway. Mappage {}
cadvisor.daemonset.replicas Nombre de réplicas cadvisor. Entier 1
cadvisor.daemonset.containers.resources Demandes et limites de ressources de conteneur cadvisor. Mappage {}
cadvisor.daemonset.podAnnotations Annotations d'espaces des déploiements cadvisor. Mappage {}
cadvisor.daemonset.podLabels Étiquettes d'espaces des déploiements cadvisor. Mappage {}
ingress.enabled Activez/désactivez l'entrée pour Prometheus et Alertmanager. Booléen false
ingress.virtual_host_fqdn Nom d'hôte pour accéder à Prometheus et Alertmanager. String prometheus.system.tanzu
ingress.prometheus_prefix Préfixe de chemin d'accès pour Prometheus. String /
ingress.alertmanager_prefix Préfixe de chemin d'accès pour Alertmanager. String /alertmanager/
ingress.prometheusServicePort Port du service Prometheus vers lequel diriger le trafic proxy. Entier 80
ingress.alertmanagerServicePort Port de service Alertmanager vers lequel diriger le trafic proxy. Entier 80
ingress.tlsCertificate.tls.crt Certificat facultatif pour l'entrée si vous souhaitez utiliser votre propre certificat TLS. Un certificat auto-signé est généré par défaut. Remarque tls.crt est une clé et n'est pas imbriqué. String Generated cert
ingress.tlsCertificate.tls.key Clé privée de certificat facultative pour l'entrée si vous souhaitez utiliser votre propre certificat TLS.
Remarque tls.key est une clé et n'est pas imbriqué.
String Generated cert key
ingress.tlsCertificate.ca.crt Certificat facultatif d'autorité de certification. Remarque ca.crt est une clé et n'est pas imbriqué. String CA certificate


Mettre à jour un déploiement Prometheus en cours d'exécution

Pour apporter des modifications à la configuration du module Prometheus après le déploiement, mettez à jour votre module Prometheus déployé :

  1. Mettez à jour la configuration Prometheus dans le fichier prometheus-data-values.yaml.

  2. Mettez à jour le module installé :

    tanzu package installed update prometheus \
    --version 2.37.0+vmware.3-tkg.1 \
    --values-file prometheus-data-values.yaml \
    --namespace my-packages
    

    Sortie attendue :

    | Updating package 'prometheus'
    - Getting package install for 'prometheus'
    | Updating secret 'prometheus-my-packages-values'
    | Updating package install for 'prometheus'
    
     Updated package install 'prometheus' in namespace 'my-packages'
    

Le module Prometheus est rapproché à l'aide de la nouvelle valeur ou des nouvelles valeurs que vous avez ajoutées. L'application des modifications pour kapp-controller peut prendre jusqu'à cinq minutes.

Pour plus d'informations sur la mise à jour, reportez-vous à la section Mettre à jour un module.

Supprimer un déploiement Prometheus

Pour supprimer le module Prometheus de votre cluster, exécutez la commande suivante :

tanzu package installed delete prometheus --namespace my-packages

Pour plus d'informations sur la suppression, reportez-vous à la section Supprimer un module.

Configurer les notifications dans le gestionnaire d'alerte

Pour configurer des notifications pour le gestionnaire d'alertes, modifiez la section alertmanager.config.alertmanager_yml de votre fichier prometheus-data-values.yml.

Pour plus d'informations sur la configuration des notifications, telles que Slack ou e-mail, reportez-vous à la section Configuration dans la documentation de Prometheus.

Accéder au tableau de bord Prometheus

Par défaut, l'entrée n'est pas activée sur Prometheus. Cela est dû au fait que l'accès au tableau de bord Prometheus n'est pas authentifié. Pour accéder au tableau de bord Prometheus :

  1. Déployez Contour sur le cluster.

    Pour plus d'informations sur le déploiement de Contour, reportez-vous à la section Installer Contour pour le contrôle d'entrée.

  2. Copiez la section ingress.enabled ci-dessous dans prometheus-data-values.yaml.

    ingress:
      enabled: false
      virtual_host_fqdn: "prometheus.system.tanzu"
      prometheus_prefix: "/"
      alertmanager_prefix: "/alertmanager/"
      prometheusServicePort: 80
      alertmanagerServicePort: 80
      #! [Optional] The certificate for the ingress if you want to use your own TLS certificate.
      #! We will issue the certificate by cert-manager when it's empty.
      tlsCertificate:
        #! [Required] the certificate
        tls.crt:
        #! [Required] the private key
        tls.key:
        #! [Optional] the CA certificate
        ca.crt:
    
  3. Mettez à jour ingress.enabled de false à true.

  4. Créez un enregistrement DNS pour mapper prometheus.system.tanzu à l'adresse de l'équilibrage de charge Envoy.

    Pour obtenir l'adresse de l'équilibrage de charge Envoy, reportez-vous à la section Installer Contour pour le contrôle d'entrée.

  5. Accédez au tableau de bord Prometheus en accédant à https://prometheus.system.tanzu dans un navigateur.

    Tableau de bord Prometheus

Tâches suivantes

Le module Prometheus est maintenant en cours d'exécution et récupère des données de votre cluster. Pour visualiser les données dans les tableaux de bord Grafana, reportez-vous à la section Déployer Grafana sur les clusters de charge de travail.

check-circle-line exclamation-circle-line close-line
Scroll to top icon