Messwerte exportieren

Auf dieser Seite wird gezeigt, wie Sie Messwerte eines Prometheus-Monitoring-Systems in einem Cluster in externe Logging- und Monitoring-Tools exportieren.

Vorbereitung

Der Administratorcluster muss mindestens eine freie IP-Adresse aus dem Adresspool des Load-Balancers haben.

Prometheus-Föderation konfigurieren

Messwerte im privaten Anthos-Modus können über die Prometheus-Föderation in externe Systeme exportiert werden. Bei dieser Anleitung wird davon ausgegangen, dass das externe Monitoring- und Logging-System ein Prometheus-basiertes System ist.

  1. Um den Zugriff für die Föderation auf Prometheus von externen Systemen aus zu erlauben, wenden Sie die folgende Konfiguration auf den Administratorcluster an:

    cat <<EOF | kubectl apply --kubeconfig=ADMIN_OIDC_KUBECONFIG -f -
    apiVersion: v1
    kind: Service
    metadata:
      # the name of the service must be anthos-prometheus-k8s-external
      name: anthos-prometheus-k8s-external
      namespace: kube-system
    spec:
      ports:
      - name: http
        port: 9090
        protocol: TCP
        targetPort: 9090
      selector:
        app: anthos-prometheus-k8s
      sessionAffinity: ClientIP
      type: LoadBalancer
    EOF
    
  2. Fügen Sie dem Abschnitt scrape_configs der Prometheus-Konfigurationsdatei im externen System die folgenden Konfigurationen hinzu:

    scrape_configs:
      - job_name: 'federate'
        scrape_interval: 1m
    
        honor_labels: true
        metrics_path: '/federate'
    
        params:
          'match[]':
            - '{job!=""}'
    
        static_configs:
          - targets:
            - '<loadbalancer-ip-of-anthos-prometheus-k8s-external>:9090'
    
  3. Um die IP-Adresse des Load-Balancers von Prometheus abzurufen, führen Sie den folgenden Befehl aus:

    kubectl get --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system svc anthos-prometheus-k8s-external -ojsonpath={.status.loadBalancer.ingress[*].ip}
    

Weitere Informationen

Mehr über Logging und Monitoring erfahren