You need to enable JavaScript to run this app.
导航
Ray Dashboard开启metrics能力
最近更新时间:2024.04.01 14:52:44首次发布时间:2024.04.01 14:52:44

Ray本身不提供指标的存储能力,可以通过Prometheus和Grafana服务实现Ray metrics监控能力。本文中介绍下Ray metrics能力开启步骤。也可以参考官网 Using Prometheus and Grafana

操作流程

  1. 部署Prometheus和Grafana服务

    # clone kuberay仓库
    git clone https://github.com/ray-project/kuberay.git
    #安装服务
    cd kuberay
    ./install/prometheus/install.sh
    
    • 安装过程中需要从国外镜像源中下载Prometheus和Grafana服务安装包,如果出现超时问题,建议将国外的镜像源上传到火山镜像仓库中。

      需要的镜像有:

      registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20221220-controller-v1.5.1-58-g787ea74b6
      quay.io/prometheus/prometheus:v2.45.0
      registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.10.1
      docker.io/grafana/grafana:10.3.3
      quay.io/kiwigrid/k8s-sidecar:1.25.2
      quay.io/prometheus-operator/prometheus-config-reloader:v0.71.2
      quay.io/prometheus-operator/prometheus-operator:v0.71.2
      quay.io/prometheus/node-exporter:v1.7.0
      quay.io/prometheus/alertmanager:v0.27.0
      
      helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
      helm repo update
      helm pull prometheus-community/kube-prometheus-stack
      #将下载的tar解压缩,修改下面4个文件,将image地址更改下。
      #kube-prometheus-stack/values.yaml
      #kube-prometheus-stack/charts/grafana/values.yaml
      #kube-prometheus-stack/charts/kube-state-metrics/values.yaml
      #kube-prometheus-stack/charts/prometheus-node-exporter/values.yaml
      
      # 修改kuberay/install/prometheus/install.sh脚本,将helm命令更改为下面的内容:
      helm --namespace prometheus-system install prometheus kube-prometheus-stack --create-namespace --version 48.2.1 -f ${DIR}/overrides.yaml
      
  2. 检查Prometheus和Grafana服务是否部署成功

    kubectl get all -n prometheus-system
    

示例:

  1. 为Prometheus和Grafana服务开启Load balance功能或Ingress 功能,具体操作可以参考 使用Ray Dashboard监控作业文档。

  2. 登录Grafana服务页面中,导入Ray指标json文件

    default_grafana_dashboard.json
    93.84KB

    在Grafana web ui中,默认的登录用户和密码为:admin和prom-operator(用户名和密码可以在kube-prometheus-stack/values.yaml文件中进行修改。)

    若先开启Grafana的匿名访问功能,可以在install/prometheus/overrides.yaml文件中auth.anonymous.enabled设置为true。

  3. 在Ray cluster中配置两个环境变量:

    - name: RAY_GRAFANA_HOST
          value: http://prometheus-grafana.prometheus-system.svc:80
      - name: RAY_PROMETHEUS_HOST
          value: http://prometheus-kube-prometheus-prometheus.prometheus-system.svc:9090
    
    • 对已安装的集群,需要将ray cluster使用的CRD进行修改后,然后重启下head pod


    • 修改后可以将Head pod删除掉,容器服务可以自动拉起新的Head pod。
  4. 登录Ray的ui中,访问metrics菜单,查看ray dashboard页面: