Ray本身不提供指标的存储能力,可以通过Prometheus和Grafana服务实现Ray metrics监控能力。本文中介绍下Ray metrics能力开启步骤。也可以参考官网 Using Prometheus and Grafana。
部署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
检查Prometheus和Grafana服务是否部署成功
kubectl get all -n prometheus-system
示例:
为Prometheus和Grafana服务开启Load balance功能或Ingress 功能,具体操作可以参考 使用Ray Dashboard监控作业文档。
登录Grafana服务页面中,导入Ray指标json文件
在Grafana web ui中,默认的登录用户和密码为:admin和prom-operator(用户名和密码可以在kube-prometheus-stack/values.yaml文件中进行修改。)
若先开启Grafana的匿名访问功能,可以在install/prometheus/overrides.yaml文件中auth.anonymous.enabled设置为true。
在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的ui中,访问metrics菜单,查看ray dashboard页面: