<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Ray Monitoring Made Easy: Prometheus &amp;amp; Grafana with Ray on Databricks Clusters in Technical Blog</title>
    <link>https://community.databricks.com/t5/technical-blog/ray-monitoring-made-easy-prometheus-amp-grafana-with-ray-on/ba-p/108641</link>
    <description>&lt;H2&gt;Intro&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;Ray is rapidly becoming the standard for logic-parallel computing, enabling many Databricks customers to accelerate a wide range of Python workloads. Since its &lt;/SPAN&gt;&lt;A href="https://www.databricks.com/blog/announcing-general-availability-ray-databricks" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;general availability on Databricks in early 2024&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;, Ray on Databricks has opened up new possibilities for cluster-based computing on the platform.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Effective management of distributed cluster infrastructure relies heavily on observability and monitoring. The &lt;/SPAN&gt;&lt;A href="https://docs.ray.io/en/latest/ray-observability/getting-started.html" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;open-source Ray dashboard&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; is a vital tool for Ray developers, providing a web-based interface that visualizes system state, facilitates monitoring and debugging of Ray applications, and helps track performance and troubleshoot issues.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://docs.databricks.com/en/machine-learning/ray/start-ray.html#run-ray-on-databricks" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Launching&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; a Ray on Databricks cluster provides the basic features of the Ray dashboard, including job status, task details, and cluster node monitoring. In order to support hardware-level details for a running cluster that feeds into the &lt;/SPAN&gt;&lt;A href="https://docs.ray.io/en/latest/ray-observability/getting-started.html#dash-metrics-view" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Metrics View&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;, this blog outlines a simple script to set up Prometheus and Grafana.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;[Recommended] Prometheus+Grafana Setup on Databricks Ray cluster&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;The process described below can be used to setup a Prometheus+Grafana on an already-running Ray on Spark cluster. This is the most common way Ray is used on Databricks: either on an interactive All Purpose or dedicated Job cluster, a Ray cluster is initialized using the already-existing Spark context. A lightweight shell script is then used to&amp;nbsp;start Prometheus+Grafana.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Review the init script available at this Github location: &lt;A href="https://github.com/databricks-industry-solutions/ray-framework-on-databricks/tree/main/Ray_Dashboard_Metrics" target="_self"&gt;setup_monitoring.sh&lt;/A&gt;&lt;/SPAN&gt;&lt;A href="https://github.com/databricks-industry-solutions/ray-framework-on-databricks/tree/main/Ray_Dashboard_Metrics" target="_self"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;Note: The init script is provided under the &lt;A href="https://github.com/databricks-industry-solutions/scientific-computing-ray-on-spark/blob/main/LICENSE.md" target="_self"&gt;DB License&lt;/A&gt;. Subject to the license terms, the code is provided as-is with no warranties and you may use it as-is or extend/customize it as needed.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;See the accompanying notebook for instructions on how to run via magic %sh command:&amp;nbsp;prometheus-metrics-with-ray-dashboard.ipynb.&lt;/LI&gt;
&lt;LI&gt;After initializing the Ray on Spark cluster, run the uploaded/cloned script via &lt;FONT face="courier new,courier"&gt;%sh ./setup_monitoring.sh&lt;/FONT&gt;, then check out the Ray dashboard to see live cluster metrics!
&lt;UL&gt;
&lt;LI&gt;See this blog for best practices on cluster setup:&amp;nbsp;&lt;A href="https://community.databricks.com/t5/technical-blog/ray-on-spark-a-practical-architecture-and-setup-guide/ba-p/127511" target="_self"&gt;Ray on Spark: A Practical Architecture and Setup Guide&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;You can use this approach on a Global or Local Ray cluster, and adapt to any enterprise monitoring/logging standards at your organization. This lightweight process can also be used for large Ray on Databricks deployments: put the script centrally in a workspace or UC Volume, then use it from within many automated jobs that create their own or re-use an existing Ray on Spark cluster.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;[Legacy] Init Script-based Setup Process&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-SPOILER&gt;NOTE: as of September 2025, Databricks no longer recommends using init scripts. The section below is preserved for reference only, but we recommend using the approach detailed above.&amp;nbsp;&lt;/LI-SPOILER&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The script below initializes a Global Ray Cluster that can be shared by multiple Ray applications and/or multiple users. Note the important steps below, including how developers should connect to the cluster with the &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;ray.init()&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN&gt; command. Complete the following steps to use this approach:&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Review the init script available at &lt;/SPAN&gt;&lt;A href="https://github.com/databricks-industry-solutions/scientific-computing-ray-on-spark/blob/main/Ray_Dashboard_Metrics/init_ray_prometheus_grafana.sh" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;this Github location&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;Note: The init script is provided under the &lt;A href="https://github.com/databricks-industry-solutions/scientific-computing-ray-on-spark/blob/main/LICENSE.md" target="_self"&gt;DB License&lt;/A&gt;. Subject to the license terms, the code is provided as-is with no warranties and you may use it as-is or extend/customize it as needed.&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Upload .sh init script to your Databricks workspace or UC Volume (&lt;A href="https://docs.databricks.com/en/init-scripts/index.html" target="_blank" rel="noopener"&gt;init script docs&lt;/A&gt;)&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_0-1738604153886.png" style="width: 775px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14555i01E8A26020B7E727/image-dimensions/775x306?v=v2" width="775" height="306" role="button" title="tjcycyota_0-1738604153886.png" alt="tjcycyota_0-1738604153886.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;Create a cluster to be used for Ray applications (see recommendations below)&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_1-1738604203734.png" style="width: 775px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14557i97DEB22B336B80BA/image-dimensions/775x370?v=v2" width="775" height="370" role="button" title="tjcycyota_1-1738604203734.png" alt="tjcycyota_1-1738604203734.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;Under Advanced, add the init script from Step 1 using its full file path:&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_2-1738604269261.png" style="width: 777px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14558iF439B78ACAB5476E/image-dimensions/777x265?v=v2" width="777" height="265" role="button" title="tjcycyota_2-1738604269261.png" alt="tjcycyota_2-1738604269261.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;If you are using a multi-node Ray cluster, add the environment variable &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;RAY_MAX_WORKERS=&amp;lt;max workers&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;&lt;SPAN&gt;Note: If using Spark+Ray together, review &lt;A href="https://docs.databricks.com/en/machine-learning/ray/scale-ray.html#computation-resource-configuration-for-apache-spark-and-ray-hybrid-workloads" target="_blank" rel="noopener"&gt;best practices for resource sharing&lt;/A&gt; and set &lt;FONT face="courier new,courier"&gt;RAY_MAX_WORKERS&lt;/FONT&gt; env variable to a number less than the total workers so Spark SQL tasks are not starved of resources.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_3-1738604284216.png" style="width: 713px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14559i0E8F97A80133CE6B/image-dimensions/713x549?v=v2" width="713" height="549" role="button" title="tjcycyota_3-1738604284216.png" alt="tjcycyota_3-1738604284216.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Start the cluster. The cluster will take several extra minutes to start as the Ray on Spark cluster initializes and Prometheus+Grafana are set up.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Navigate to the Ray Dashboard. The easiest way to find this unique URL is:&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;&lt;SPAN&gt;On the cluster page, go to Apps tab → Web Terminal.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Copy the URL from the Web Terminal. It should look something like:&amp;nbsp;&lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;https://…/driver-proxy/o/…/{cluster_id}/7681?o=...&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Edit this link to point to the port where the Ray Dashboard is exposed. Replace the Web Terminal port number with 9999, as defined in the script:&amp;nbsp;&lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;https://…/driver-proxy/o/…/{cluster_id}/&lt;/SPAN&gt;&lt;STRONG&gt;9999/&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;&lt;STRONG&gt;Important&lt;/STRONG&gt;: Make sure you include the trailing “/”&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_4-1738604449452.png" style="width: 728px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14560i16AC255FC0E3547E/image-dimensions/728x417?v=v2" width="728" height="417" role="button" title="tjcycyota_4-1738604449452.png" alt="tjcycyota_4-1738604449452.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;&lt;SPAN&gt;On the Metrics tab, you should now see Ray metrics provided by Prometheus+Grafana!&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="tjcycyota_5-1738604468013.png" style="width: 767px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/14561i967DE5A4A3D3DAC5/image-dimensions/767x328?v=v2" width="767" height="328" role="button" title="tjcycyota_5-1738604468013.png" alt="tjcycyota_5-1738604468013.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;Now you can submit any Ray application to this cluster. In a Databricks notebook, connect to the cluster, then use the following technique to initialize the Ray session:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import ray
import os
head_ip = os.getenv("SPARK_LOCAL_IP")
print(f"Using Ray Head node at: {head_ip}")

ray.init(address=f'ray://{head_ip}:10001')&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Note that &lt;/SPAN&gt;&lt;STRONG&gt;if you do not use the ray.init() technique above&lt;/STRONG&gt;&lt;SPAN&gt;, you will not be connecting to the Ray global cluster provisioned in the init script. The script has been developed exclusively for the purpose of sharing a global Ray cluster script between one or many applications, but can be adapted for single-user Ray use-cases.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Additionally, with this process the Databricks cluster will &lt;/SPAN&gt;&lt;STRONG&gt;never automatically terminate&lt;/STRONG&gt;&lt;SPAN&gt;, even if you have selected autotermination settings in the Databricks UI. To avoid long-lived clusters, we recommend &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/compute/clusters-manage.html#terminate-a-compute" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;terminating the cluster&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; when work is complete or setting up an &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/api/workspace/clusters/delete" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;automation&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; to terminate all-purpose clusters at the end of the work period. As mentioned above, if you are using Spark and Ray together, review &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/machine-learning/ray/scale-ray.html#computation-resource-configuration-for-apache-spark-and-ray-hybrid-workloads" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;best practices for resource sharing&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; and ensure sufficient resources are available for both processes, which might require utilizing both the &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/compute/troubleshooting/debugging-spark-ui.html" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Spark UI&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt; and Ray Dashboard.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN&gt;Environment Compatibility&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;This script has been tested under the following conditions:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Clouds: AWS Databricks, Azure Databricks&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Runtimes: 15.4 ML LTS, 16.1 ML&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;This script may work on other Machine Learning runtimes with Ray pre-installed.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;&lt;SPAN&gt;Databricks Serverless compute does not allow init scripts.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Cluster Access Mode: &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/compute/access-mode-limitations.html" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Dedicated&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Scaling: Single-node, Fixed-size multi-node, Autoscaling multi-node&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;SPAN&gt;Debugging&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;In the case of errors or failure for cluster to start:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;A href="https://docs.databricks.com/en/init-scripts/logs.html#where-are-init-script-logs-written" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Review docs for enabling init script logs. &lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;Enable cluster logs for the cluster, then start the cluster again.&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Navigate to these logs and fix any errors from the &lt;/SPAN&gt;&lt;SPAN&gt;…sh.stderr.log&lt;/SPAN&gt;&lt;SPAN&gt; file&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;In the case that the cluster starts, but the Ray dashboard is not showing metrics properly:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Go to the cluster → Apps → Web Terminal&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;In the Terminal, execute the following commands to review log files from cluster setup.&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;&lt;SPAN&gt;Python log for Ray cluster setup: &lt;/SPAN&gt; &lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;cat /local_disk0/tmp/rayonsparkinit.log&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;&lt;SPAN&gt;Prometheus setup log:&lt;/SPAN&gt; &lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;cat /local_disk0/tmp/prometheus.log&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="2"&gt;&lt;SPAN&gt;Grafana setup log: &lt;/SPAN&gt; &lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;cat /local_disk0/tmp/grafana.log&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;Fix any errors in the init script or cluster setup based on these logs&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;SPAN&gt;Resources&lt;/SPAN&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Github repo] &lt;/SPAN&gt;&lt;A href="https://github.com/databricks-industry-solutions/scientific-computing-ray-on-spark/blob/main/Ray_Dashboard_Metrics/init_ray_prometheus_grafana.sh" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Scientific Computing Ray on Spark&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Ray docs] &lt;/SPAN&gt;&lt;A href="https://docs.ray.io/en/latest/ray-observability/getting-started.html#dash-metrics-view" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Ray Dashboard, metrics view&amp;nbsp;&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Ray docs] &lt;/SPAN&gt;&lt;A href="https://docs.ray.io/en/latest/cluster/configure-manage-dashboard.html#observability-visualization-setup" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Embed Grafana visualizations into Ray Dashboard&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Prometheus docs] &lt;/SPAN&gt;&lt;A href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Prometheus configuration&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Grafana docs] &lt;/SPAN&gt;&lt;A href="https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Configure Grafana&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Databricks docs] &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/init-scripts/logs.html#where-are-init-script-logs-written" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Init script logging&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;&lt;SPAN&gt;[Databricks docs] &lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/en/init-scripts/environment-variables.html" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Set and use environment variables with init scripts&lt;/SPAN&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI style="font-weight: 400;" aria-level="1"&gt;[Databricks docs] &lt;A style="font-family: inherit; background-color: #ffffff;" href="https://docs.databricks.com/en/compute/access-mode-limitations.html" target="_blank" rel="noopener"&gt;Compute access mode limitations for Unity Catalog&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Tue, 14 Oct 2025 13:38:00 GMT</pubDate>
    <dc:creator>tj-cycyota</dc:creator>
    <dc:date>2025-10-14T13:38:00Z</dc:date>
    <item>
      <title>Ray Monitoring Made Easy: Prometheus &amp; Grafana with Ray on Databricks Clusters</title>
      <link>https://community.databricks.com/t5/technical-blog/ray-monitoring-made-easy-prometheus-amp-grafana-with-ray-on/ba-p/108641</link>
      <description>&lt;P&gt;This blog post provides a simple initialization script to set up Prometheus and Grafana on a Ray cluster on Databricks, enabling the Metrics View in the Ray dashboard for improved observability and monitoring. The script allows developers to track performance and troubleshoot issues in their Ray applications, enabling enhanced observability on the Databricks platform.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 13:38:00 GMT</pubDate>
      <guid>https://community.databricks.com/t5/technical-blog/ray-monitoring-made-easy-prometheus-amp-grafana-with-ray-on/ba-p/108641</guid>
      <dc:creator>tj-cycyota</dc:creator>
      <dc:date>2025-10-14T13:38:00Z</dc:date>
    </item>
  </channel>
</rss>

