Distribuzione di Prometheus nei cluster del carico di lavoro

Questo argomento spiega come distribuire Prometheus in un cluster del carico di lavoro. Le procedure seguenti si applicano alle distribuzioni vSphere, Amazon Web Services (AWS) e Azure.

Prometheus

Prometheus è un toolkit per il monitoraggio e le notifiche dei sistemi open source. Tanzu Kubernetes Grid include file binari firmati per Prometheus che è possibile distribuire nei cluster del carico di lavoro per monitorare l'integrità e i servizi del cluster.

Prerequisiti

Importante

Il supporto per gli indirizzi IPv6 in Tanzu Kubernetes Grid è limitato; vedere Distribuzione dei cluster in IPv6 (solo vSphere). Se non si distribuisce in un ambiente di rete solo IPv6, è necessario specificare gli indirizzi IPv4 nei passaggi seguenti.

Preparazione del cluster del carico di lavoro per la distribuzione di Prometheus

Per preparare il cluster:

  1. Recuperare le credenziali di amministratore del cluster del carico di lavoro in cui si desidera distribuire Prometheus. Ad esempio:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Impostare il contesto di kubectl sul cluster. Ad esempio:

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

(Facoltativo) Abilitazione dell'ingresso per Prometheus

Per abilitare l'ingresso, è possibile installare i pacchetti facoltativi seguenti:

  1. Installare cert-manager. Per informazioni, vedere Installazione di cert-manager per la gestione dei certificati.
  2. Installare Contour. Per informazioni, vedere Installazione di Contour per il controllo dell'ingresso.

Procedere con Distribuzione di Prometheus nel cluster del carico di lavoro di seguito.

Distribuzione di Prometheus nel cluster del carico di lavoro

Per installare Prometheus:

  1. Se nel cluster non è installato un repository dei pacchetti con il pacchetto Prometheus, ad esempio il repository tanzu-standard, installarne uno:

    Nota

    Se si utilizza un cluster basato sul piano (legacy), ignorare questo passaggio. Per i cluster basati sul piano, il repository dei pacchetti tanzu-standard veniva abilitato automaticamente in ogni cluster nello spazio dei nomi tanzu-package-repo-global.

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

    In cui:

    • PACKAGE-REPO-NAME è il nome del repository dei pacchetti, ad esempio tanzu-standard o il nome di un registro immagini privato configurato con le variabili ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINT è l'URL del repository dei pacchetti.

      • Per questa versione, l'URL di tanzu-standard è projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0. Vedere Elenco dei repository dei pacchetti per ottenere questo valore dalla CLI di Tanzu oppure in Tanzu Mission Control vedere l'elenco Elementi aggiuntivi (Addons) > Repository (Repositories) nel riquadro Cluster.
  2. Verificare che il pacchetto Prometheus sia disponibile nel cluster del carico di lavoro:

    tanzu package available list -A
    
  3. Recuperare la versione del pacchetto disponibile:

    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
    
    Importante

    Se il cluster del carico di lavoro esegue Kubernetes 1.25, è necessario installare la versione di Prometheus 2.37.0+vmware.3-tkg.1. Le versioni precedenti del pacchetto Prometheus, ad esempio la versione 2.37.0+vmware.1-tkg.1 sono disponibili nel repository, ma non sono compatibili con Kubernetes 1.25.

Quando si è pronti per distribuire Prometheus, è possibile:

vSphere with Tanzu: Per distribuire il pacchetto Prometheus in un cluster del carico di lavoro creato da un vSphere Supervisor cluster, è necessario distribuirlo con valori personalizzati. Il pacchetto Prometheus non è stato convalidato per i cluster del carico di lavoro in vSphere 7.0 U3.

Distribuire Prometheus con le configurazioni predefinite

Dopo aver verificato la versione del pacchetto e averla recuperata, è possibile installarlo.

  1. Installare il pacchetto Prometheus utilizzando i valori predefiniti:

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

    In cui:

    • TARGET-NAMESPACE è lo spazio dei nomi in cui si desidera installare il pacchetto Prometheus. Ad esempio, lo spazio dei nomi my-packages o tanzu-cli-managed-packages.

      • Se il flag --namespace non viene specificato, la CLI di Tanzu utilizza lo spazio dei nomi default. I pod Prometheus e tutte le altre risorse associate al componente Prometheus vengono creati nello spazio dei nomi tanzu-system-monitoring. Non installare il pacchetto Prometheus in questo spazio dei nomi.
      • Lo spazio dei nomi specificato deve essere già stato creato, ad esempio eseguendo kubectl create namespace my-packages.
    • AVAILABLE-PACKAGE-VERSION è la versione recuperata in precedenza, ad esempio 2.37.0+vmware.3-tkg.1.

    Ad esempio:

    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: In vSphere 8 e vSphere 7.0 U2 con la funzionalità vSphere with Tanzu abilitata, è possibile che il comando tanzu package install prometheus restituisca l'errore Failed to get final advertise address: No private IP address found, and explicit IP not provided.

    Per correggere questo errore, creare e applicare un overlay di pacchetto per riconfigurare il componente alertmanager:

    1. Creare un file overlay-alertmanager.yaml contenente:

      ---
      #@ 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. Creare un segreto dall'overlay:

      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. Prendere nota del pacchetto con il segreto:

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

Procedere con Verifica della distribuzione di Prometheus di seguito.

Distribuire Prometheus con valori personalizzati

Per installare il pacchetto Prometheus utilizzando i valori forniti dall'utente:

  1. Creare un file di configurazione. Questo file configura il pacchetto Prometheus.

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

    Dove PACKAGE-VERSION è la versione del pacchetto Prometheus che si desidera installare e FILE-PATH è la posizione in cui si desidera salvare il file di configurazione, ad esempio prometheus-data-values.yaml. Il comando precedente crea un file di configurazione denominato prometheus-data-values.yaml contenente i valori predefiniti. Si tenga presente che nelle versioni precedenti questo file era denominato prometheus-data-values.yaml.

    Per informazioni sui parametri di configurazione da utilizzare in prometheus-data-values.yaml, vedere Parametri di configurazione del pacchetto Prometheus di seguito.

  2. vSphere with Tanzu: Se si distribuisce Prometheus in un cluster del carico di lavoro creato da vSphere Supervisor Cluster, impostare un valore non null per prometheus.pvc.storageClassName e alertmanager.pvc.storageClassName nel file 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
    

    In cui STORAGE-CLASS è il nome della classe di storage del cluster restituito da kubectl get storageclass.

  3. Dopo aver apportato le modifiche necessarie al file prometheus-data-values.yaml, rimuovere tutti i commenti presenti in esso:

    yq -i eval '... comments=""' prometheus-data-values.yaml
    
  4. Distribuire il pacchetto:

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

    In cui:

    • TARGET-NAMESPACE è lo spazio dei nomi in cui si desidera installare il pacchetto Prometheus, l'app del pacchetto Prometheus e tutte le altre risorse Kubernetes che descrivono il pacchetto. Ad esempio, lo spazio dei nomi my-packages o tanzu-cli-managed-packages. Se il flag --namespace non viene specificato, la CLI di Tanzu utilizza lo spazio dei nomi default. I pod Prometheus e tutte le altre risorse associate al componente Prometheus vengono creati nello spazio dei nomi tanzu-system-monitoring. Non installare il pacchetto Prometheus in questo spazio dei nomi.
    • PACKAGE-VERSION è la versione recuperata in precedenza, ad esempio 2.37.0+vmware.3-tkg.1.

Procedere con Verifica della distribuzione di Prometheus di seguito.

Verifica della distribuzione di Prometheus

Dopo aver distribuito Prometheus, è possibile verificare che la distribuzione sia stata eseguita correttamente:

  1. Verificare che il pacchetto Prometheus sia installato. Ad esempio:

    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
    

    Il pacchetto prometheus e l'app prometheus vengono installati nello spazio dei nomi specificato quando si esegue il comando tanzu package install.

  2. Verificare che l'app prometheus sia riconciliata correttamente:

    kubectl get apps -A
    

    Ad esempio:

    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
    [...]
    

    Se lo stato non è Reconcile succeeded, visualizzare i dettagli completi dello stato dell'app prometheus. La visualizzazione dello stato completo può aiutare a risolvere il problema:

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

    Dove PACKAGE-NAMESPACE è lo spazio dei nomi in cui è stato installato il pacchetto.

  3. Verificare che i nuovi servizi siano in esecuzione visualizzando l'elenco di tutti i pod in esecuzione nel cluster:

    kubectl get pods -A
    

    Nello spazio dei nomi tanzu-system-monitoring, è possibile visualizzare i servizi prometheus, alertmanager, node_exporter, pushgateway, cadvisor e kube_state_metrics in esecuzione in un pod:

    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
    [...]
    

I pod Prometheus e tutte le altre risorse associate al componente Prometheus vengono creati nello spazio dei nomi specificato in prometheus-data-values.yaml. Se si utilizza lo spazio dei nomi predefinito, questi vengono creati nello spazio dei nomi tanzu-system-monitoring.

Parametri di configurazione del pacchetto Prometheus

Esistono due modi per configurare i parametri di configurazione del pacchetto Prometheus:

Revisione dello schema del pacchetto

Per recuperare lo schema del pacchetto:

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

Questo comando consente di visualizzare un elenco dei parametri di configurazione del pacchetto Prometheus e i loro valori predefiniti. È possibile utilizzare l'output per aggiornare il file prometheus-data-values.yml creato in precedenza in Distribuzione di Prometheus con valori personalizzati.

Revisione dei parametri di configurazione

La tabella seguente include i parametri di configurazione del pacchetto Prometheus e una descrizione dei loro valori predefiniti.

È possibile impostare i valori di configurazione seguenti nel file prometheus-data-values.yml creato in precedenza in Distribuzione di Prometheus con valori personalizzati.

Parametro Descrizione Tipo Predefinito
namespace Spazio dei nomi in cui Prometheus verrà distribuito. Stringa tanzu-system-monitoring
prometheus.deployment.replicas Numero di repliche di Prometheus. Stringa 1
prometheus.deployment.containers.args Argomenti del container Prometheus. È possibile configurare questo parametro per modificare il tempo di conservazione. Per informazioni sulla configurazione dei parametri di storage di Prometheus, vedere la documentazione di Prometheus. Nota Un tempo di conservazione più lungo richiede una capacità di storage maggiore rispetto a un tempo di conservazione più breve. Se si aumenta significativamente il tempo di conservazione, potrebbe essere necessario aumentare le dimensioni della richiesta di volume persistente. Elenco n/d
prometheus.deployment.containers.resources Richieste e limiti delle risorse del container Prometheus. Mappa {}
prometheus.deployment.podAnnotations Annotazioni dei pod delle distribuzioni di Prometheus. Mappa {}
prometheus.deployment.podLabels Etichette dei pod delle distribuzioni di Prometheus. Mappa {}
prometheus.deployment.configMapReload.containers.args Argomenti del container configmap-reload. Elenco n/d
prometheus.deployment.configMapReload.containers.resources Richieste e limiti delle risorse del container configmap-reload. Mappa {}
prometheus.service.type Tipo di servizio per esporre Prometheus. Valori supportati: ClusterIP. Stringa ClusterIP
prometheus.service.port Porta del servizio Prometheus. Intero 80
prometheus.service.targetPort Porta di destinazione del servizio Prometheus. Intero 9090
prometheus.service.labels Etichette del servizio Prometheus. Mappa {}
prometheus.service.annotations Annotazioni del servizio Prometheus. Mappa {}
prometheus.pvc.annotations Annotazioni della classe di storage. Mappa {}
prometheus.pvc.storageClassName Classe di storage da utilizzare per la richiesta di volume persistente. Per impostazione predefinita, questo valore è null e viene utilizzato il provisioning predefinito. Stringa null
prometheus.pvc.accessMode Definisce la modalità di accesso per la richiesta di volume persistente. Valori supportati: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Stringa ReadWriteOnce
prometheus.pvc.storage Definisce le dimensioni dello storage per la richiesta di volume persistente. Stringa 150Gi
prometheus.config.prometheus_yml Per informazioni sulla configurazione globale di Prometheus, vedere la documentazione di Prometheus. File YAML prometheus.yaml
prometheus.config.alerting_rules_yml Per informazioni sulle regole degli avvisi di Prometheus, vedere la documentazione di Prometheus. File YAML alerting_rules.yaml
prometheus.config.recording_rules_yml Per informazioni sulle regole di registrazione di Prometheus, vedere la documentazione di Prometheus. File YAML recording_rules.yaml
prometheus.config.alerts_yml Qui vengono configurate ulteriori regole degli avvisi. File YAML alerts_yml.yaml
prometheus.config.rules_yml Qui vengono configurate ulteriori regole di registrazione di Prometheus. File YAML rules_yml.yaml
alertmanager.deployment.replicas Numero di repliche alertmanager. Intero 1
alertmanager.deployment.containers.resources Richieste e limiti delle risorse del container alertmanager. Mappa {}
alertmanager.deployment.podAnnotations Annotazioni dei pod delle distribuzioni di alertmanager. Mappa {}
alertmanager.deployment.podLabels Etichette dei pod delle distribuzioni di alertmanager. Mappa {}
alertmanager.service.type Tipo di servizio per esporre alertmanager. Valori supportati: ClusterIP. Stringa ClusterIP
alertmanager.service.port Porta del servizio alertmanager. Intero 80
alertmanager.service.targetPort Porta di destinazione del servizio alertmanager. Intero 9093
alertmanager.service.labels Etichette del servizio alertmanager. Mappa {}
alertmanager.service.annotations Annotazioni del servizio alertmanager. Mappa {}
alertmanager.pvc.annotations Annotazioni della classe di storage. Mappa {}
alertmanager.pvc.storageClassName Classe di storage da utilizzare per la richiesta di volume persistente. Per impostazione predefinita, questo valore è null e viene utilizzato il provisioning predefinito. Stringa null
alertmanager.pvc.accessMode Definisce la modalità di accesso per la richiesta di volume persistente. Valori supportati: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Stringa ReadWriteOnce
alertmanager.pvc.storage Definisce le dimensioni dello storage per la richiesta di volume persistente. Stringa 2Gi
alertmanager.config.alertmanager_yml Per informazioni sulla configurazione YAML globale per Alert Manager, vedere la documentazione di Prometheus. File YAML alertmanager_yml
kube_state_metrics.deployment.replicas Numero di repliche di kube-state-metrics. Intero 1
kube_state_metrics.deployment.containers.resources Richieste e limiti delle risorse del container kube-state-metrics. Mappa {}
kube_state_metrics.deployment.podAnnotations Annotazioni dei pod delle distribuzioni di kube-state-metrics. Mappa {}
kube_state_metrics.deployment.podLabels Etichette dei pod delle distribuzioni di kube-state-metrics. Mappa {}
kube_state_metrics.service.type Tipo di servizio per esporre kube-state-metrics. Valori supportati: ClusterIP. Stringa ClusterIP
kube_state_metrics.service.port Porta del servizio kube-state-metrics. Intero 80
kube_state_metrics.service.targetPort Porta di destinazione del servizio kube-state-metrics. Intero 8080
kube_state_metrics.service.telemetryPort Porta di telemetria del servizio kube-state-metrics. Intero 81
kube_state_metrics.service.telemetryTargetPort Porta di telemetria di destinazione del servizio kube-state-metrics. Intero 8081
kube_state_metrics.service.labels Etichette del servizio kube-state-metrics. Mappa {}
kube_state_metrics.service.annotations Annotazioni del servizio kube-state-metrics. Mappa {}
node_exporter.daemonset.replicas Numero di repliche di node-exporter. Intero 1
node_exporter.daemonset.containers.resources Richieste e limiti delle risorse del container node-exporter. Mappa {}
node_exporter.daemonset.hostNetwork Rete host richiesta per questo pod. Booleano false
node_exporter.daemonset.podAnnotations Annotazioni dei pod di distribuzione node-exporter. Mappa {}
node_exporter.daemonset.podLabels Etichette dei pod di distribuzione node-exporter. Mappa {}
node_exporter.service.type Tipo di servizio per esporre node-exporter. Valori supportati: ClusterIP. Stringa ClusterIP
node_exporter.service.port Porta del servizio node-exporter. Intero 9100
node_exporter.service.targetPort Porta di destinazione del servizio node-exporter. Intero 9100
node_exporter.service.labels Etichette del servizio node-exporter. Mappa {}
node_exporter.service.annotations Annotazioni del servizio node-exporter. Mappa {}
pushgateway.deployment.replicas Numero di repliche di pushgateway. Intero 1
pushgateway.deployment.containers.resources Richieste e limiti delle risorse del container pushgateway. Mappa {}
pushgateway.deployment.podAnnotations Annotazioni dei pod delle distribuzioni di pushgateway. Mappa {}
pushgateway.deployment.podLabels Etichette dei pod delle distribuzioni di pushgateway. Mappa {}
pushgateway.service.type Tipo di servizio per esporre pushgateway. Valori supportati: ClusterIP. Stringa ClusterIP
pushgateway.service.port Porta del servizio pushgateway. Intero 9091
pushgateway.service.targetPort Porta di destinazione del servizio pushgateway. Intero 9091
pushgateway.service.labels Etichette del servizio pushgateway. Mappa {}
pushgateway.service.annotations Annotazioni del servizio pushgateway. Mappa {}
cadvisor.daemonset.replicas Numero di repliche di cadvisor. Intero 1
cadvisor.daemonset.containers.resources Richieste e limiti delle risorse del container cadvisor. Mappa {}
cadvisor.daemonset.podAnnotations Annotazioni dei pod delle distribuzioni di cadvisor. Mappa {}
cadvisor.daemonset.podLabels Etichette dei pod delle distribuzioni di cadvisor. Mappa {}
ingress.enabled Attiva/disattiva l'ingresso per prometheus e alertmanager. Booleano false
ingress.virtual_host_fqdn Nome host per l'accesso a Prometheus e alertmanager. Stringa prometheus.system.tanzu
ingress.prometheus_prefix Prefisso del percorso per Prometheus. Stringa /
ingress.alertmanager_prefix Prefisso del percorso per alertmanager. Stringa /alertmanager/
ingress.prometheusServicePort Porta del servizio Prometheus verso cui indirizzare il traffico tramite proxy. Intero 80
ingress.alertmanagerServicePort Porta del servizio alertmanager verso cui indirizzare il traffico tramite proxy. Intero 80
ingress.tlsCertificate.tls.crt Certificato facoltativo per l'ingresso se si desidera utilizzare il proprio certificato TLS. Per impostazione predefinita, viene generato un certificato autofirmato. Nota tls.crt è una chiave e non è nidificata. Stringa Generated cert
ingress.tlsCertificate.tls.key Chiave privata del certificato facoltativa per l'ingresso se si desidera utilizzare il proprio certificato TLS.
Nota tls.key è una chiave e non è nidificata.
Stringa Generated cert key
ingress.tlsCertificate.ca.crt Certificato CA facoltativo. Nota ca.crt è una chiave e non è nidificata. Stringa CA certificate


Aggiornamento di una distribuzione di Prometheus in esecuzione

Per apportare modifiche alla configurazione del pacchetto Prometheus dopo la distribuzione, aggiornare il pacchetto Prometheus distribuito:

  1. Aggiornare la configurazione di Prometheus nel file prometheus-data-values.yaml.

  2. Aggiornare il pacchetto installato:

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

    Output previsto:

    | 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'
    

Il pacchetto Prometheus viene riconciliato utilizzando il nuovo valore o i nuovi valori aggiunti. L'applicazione delle modifiche da parte di kapp-controller può richiedere fino a cinque minuti.

Per informazioni sull'aggiornamento di, vedere Aggiornamento di un pacchetto.

Eliminazione di una distribuzione di Prometheus

Per rimuovere il pacchetto Prometheus nel cluster, eseguire:

tanzu package installed delete prometheus --namespace my-packages

Per informazioni sull'eliminazione, vedere Eliminazione di un pacchetto.

Configurazione delle notifiche in Alert Manager

Per configurare le notifiche per Alert Manager, modificare la sezione alertmanager.config.alertmanager_yml nel file prometheus-data-values.yml.

Per informazioni sulla configurazione delle notifiche, ad esempio Slack o Email, vedere Configurazione nella documentazione di Prometheus.

Accesso al dashboard di Prometheus

Per impostazione predefinita, l'ingresso non è abilitato in Prometheus. Questo perché l'accesso al dashboard di Prometheus non è autenticato. Per accedere al dashboard di Prometheus:

  1. Distribuire Contour nel cluster.

    Per informazioni sulla distribuzione di Contour, vedere Installazione di Contour per il controllo dell'ingresso.

  2. Copiare la sezione ingress.enabled seguente in 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. Aggiornare ingress.enabled da false a true.

  4. Creare un record DNS per mappare prometheus.system.tanzu all'indirizzo del bilanciamento del carico di Envoy.

    Per ottenere l'indirizzo del bilanciamento del carico di Envoy, vedere Installazione di Contour per il controllo dell'ingresso.

  5. Accedere al dashboard di Prometheus passando a https://prometheus.system.tanzu in un browser.

    Dashboard di Prometheus

Passaggi successivi

Il pacchetto Prometheus è ora in esecuzione e sta recuperando i dati del cluster. Per visualizzare i dati nei dashboard di Grafana, vedere Distribuzione di Grafana nei cluster del carico di lavoro.

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