导出指标

本页面介绍如何将指标从集群内的 Prometheus 监控系统导出到外部日志记录和监控工具。

前提条件

管理员集群必须至少有一个来自负载平衡器的地址池的备用 IP 地址。

配置 Prometheus 联盟

您可以通过 Prometheus 联盟将 Anthos 不公开模式指标导出到外部系统。以下说明假定外部监控和日志记录系统基于 Prometheus。

  1. 如需允许从外部系统访问 Prometheus 联盟,请将以下配置应用于管理员集群:

    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. 将以下配置添加到外部系统中 Prometheus 配置文件的 scrape_configs 部分

    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. 如需获取 Prometheus 的负载平衡器 IP 地址,请运行以下命令:

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

后续步骤

详细了解日志记录和监控