Seguire queste istruzioni per installare Prometheus con Alertmanager in un cluster Servizio TKG che esegue TKr per vSphere 8.x.

Prerequisiti

Creazione dei valori dei dati di Prometheus

Preparare l'installazione di Prometheus creando il file dei valori dei dati.

  1. Ottenere la versione più recente del pacchetto Prometheus per il repository.
    tanzu package available get prometheus.tanzu.vmware.com -n tkg-system

    Oppure, tramite kubectl.

    kubectl -n tkg-system get packages | grep prometheus
    Nota: In genere, è consigliabile utilizzare la versione più recente a meno che i requisiti non siano diversi.
  2. Generare il file prometheus-data-values.yaml.
    tanzu package available get prometheus.tanzu.vmware.com/2.45.0+vmware.1-tkg.2 --default-values-file-output prometheus-data-values.yaml
    dove:
    • 2.45.0+vmware.1-tkg.2 è la versione del pacchetto di destinazione
    • prometheus-data-values.yaml è il nome e il percorso del file dei valori dei dati da generare
  3. Modificare il file prometheus-data-values.yaml e configurare i valori seguenti necessari per accedere al dashboard di Prometheus. Vedere Informazioni di riferimento sul pacchetto Prometheus per un file dei valori dei dati di esempio e l'elenco completo dei parametri di configurazione.
    Parametro Descrizione
    ingress.tlsCertificate.tls.crt Per l'ingresso viene generato un certificato TLS autofirmato. Facoltativamente, è possibile sostituirlo e fornire il proprio.
    ingress.tlsCertificate.tls.key Per l'ingresso viene generata una chiave privata TLS autofirmata. Facoltativamente, è possibile sostituirlo e fornire il proprio.
    ingress.enabled Impostare il valore su true (il valore predefinito è false).
    ingress.virtual_host_fqdn Impostare il valore su prometheus.<your.domain> (il valore predefinito è prometheus.system.tanzu).
    alertmanager.pvc.storageClassName Immettere il nome del criterio di storage vSphere.
    prometheus.pvc.storageClassName Immettere il nome del criterio di storage vSphere.

Installare Prometheus

Completare questi passaggi per installare il pacchetto Prometheus.
  1. Creare lo spazio dei nomi.
    kubectl create ns tanzu-system-monitoring
  2. Installare Prometheus.
    tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.45.0+vmware.1-tkg.2 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring
  3. Verificare l'installazione di Prometheus.
    tanzu package installed list -n tanzu-system-monitoring
    tanzu package installed get prometheus -n tanzu-system-monitoring
  4. Verificare gli oggetti di Prometheus e Alertmanager.
    kubectl -n tanzu-system-monitoring get all
    kubectl -n tanzu-system-monitoring get pvc
    
    NAME                STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    alertmanager        Bound    pvc-a53f7091-9823-4b70-a9b4-c3d7a1e27a4b   2Gi        RWO            k8s-policy     2m30s
    prometheus-server   Bound    pvc-41745d1d-9401-41d7-b44d-ba430ecc5cda   20Gi       RWO            k8s-policy     2m30s

Risoluzione dei problemi di installazione di Prometheus

Se l'operazione tanzu package install prometheus restituisce l'errore "Impossibile ottenere l'indirizzo di annuncio finale: nessun indirizzo IP privato trovato e l'IP esplicito non è stato specificato", applicare un overlay di pacchetto per riconfigurare il componente alertmanager.
  1. Creare il file overlay-alertmanager.yaml.
    ---
    #@ 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. Utilizzare Kubectl per creare un segreto dal file overlay-alertmanager.yaml.
    kubectl create secret generic alertmanager-overlay -n tkg-system -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
  3. Utilizzare Kubectl per annotare il pacchetto Prometheus con il segreto di overlay.
    kubectl annotate PackageInstall prometheus -n tkg-system ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
  4. Eseguire nuovamente il comando di installazione.
    tanzu package install prometheus -p prometheus.tanzu.vmware.com -v 2.37.0+vmware.3-tkg.1 --values-file prometheus-data-values.yaml -n tanzu-system-monitoring

Accedere al dashboard di Prometheus

Una volta installato Prometheus, completare i passaggi seguenti per accedere al dashboard di Prometheus.
  1. Assicurarsi che la sezione ingress del file prometheus-data-values.yaml sia compilata con tutti i campi obbligatori.
    ingress:
      enabled: true
      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:
  2. Ottenere l'indirizzo IP pubblico (esterno) del bilanciamento del carico di Contour con Envoy.

    Vedere Installazione di Contour con Envoy.

  3. Creare un record DNS che mappa il nome di dominio completo di Prometheus utilizzato (il valore predefinito è prometheus.system.tanzu) all'indirizzo IP del bilanciamento del carico di Envoy.
  4. Accedere al dashboard di Prometheus passando al nome di dominio completo di Prometheus utilizzando un browser.