Files
rocm-systems/docs/install/grafana-setup.rst
T
vedithal-amd cdd41dee40 Remove rocscope related code and add deprecation warning for mongo db usecase (#744)
* Remove rocscope related code

* Add deprecation warning for database update mode which is used for grafana and mongodb functionality
2025-06-12 14:21:24 -04:00

220 lines
6.9 KiB
ReStructuredText

.. meta::
:description: ROCm Compute Profiler Grafana server installation and deployment
:keywords: ROCm Compute Profiler, ROCm, profiler, tool, Instinct, accelerator, AMD,
install, deploy, Grafana, server, configuration, GUI
***************************************************
Setting up Grafana server for ROCm Compute Profiler
***************************************************
.. warning::
Grafana and MongoDB functionality is deprecated and will be removed in a future release.
A Grafana server is *not required* to profile or analyze performance data
from the CLI. It's a supplementary mechanism to help you import performance
data and examine it in a detailed
`Grafana <https://github.com/grafana/grafana>`_ dashboard GUI.
Learn about installing and configuring the main ROCm Compute Profiler tool in
:ref:`core-install`.
Setting up a Grafana instance for ROCm Compute Profiler requires the following basic software
dependencies.
* `Docker Engine <https://docs.docker.com/engine/install/>`_
The recommended process for enabling the server-side of ROCm Compute Profiler is to use the
provided ``Dockerfile`` to build the Grafana and MongoDB instance.
.. _grafana-mongodb-setup:
Set up Grafana and MongoDB
==========================
Once you've decided where to host the Grafana and MongoDB instance, complete the
the following setup instructions.
Install MongoDB utilities
-------------------------
ROCm Compute Profiler uses the
`mongoimport <https://www.mongodb.com/docs/database-tools/mongoimport/>`_
utility to upload data to your Grafana instance's backend database.
Use the following commands to install MongoDB utilities for Ubuntu 20.04.
.. code-block:: bash
$ wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
$ sudo apt install ./mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
.. note::
Find installation instructions for other distributions in
`MongoDB Database Tools Downloads <https://www.mongodb.com/download-center/database-tools/releases/archive>`_.
.. _grafana-persistent-storage-setup:
Set up persistent storage
-------------------------
Bind MongoDB to a directory on the host OS to create a local backup in case of a
crash or reset. This is called *creating a persistent volume*.
.. code-block:: bash
$ sudo mkdir -p /usr/local/persist && cd /usr/local/persist/
$ sudo mkdir -p grafana-storage mongodb
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/grafana-storage --opt o=bind grafana-storage
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/mongodb --opt o=bind grafana-mongo-db
.. _grafana-docker-container:
Build and launch the Docker container
-------------------------------------
You're now ready to build your ``Dockerfile``. Navigate to your ROCm Compute Profiler install
directory to begin.
.. code-block:: bash
$ cd grafana
$ sudo docker-compose build
$ sudo docker-compose up -d
.. note::
To troubleshoot Docker container build failures related to certificate verification, try
disabling any network proxy services on the host system. These proxy services can interfere
with OpenSSL's ability to retrieve a correct certificate chain when the container accesses
external websites.
The TCP ports for Grafana (``4000``) and MongoDB (``27017``) in the Docker
container are mapped to ``14000`` and ``27018``, respectively, on the host side.
.. tip::
In the event that either your Grafana or MongoDB instance crashes fatally,
just restart the server. Navigate to your install directory and run:
.. code-block::
$ sudo docker-compose down
$ sudo docker-compose up -d
.. _grafana-dashboard-setup:
Set up the Grafana dashboard
----------------------------
Once you've launched your Docker container you should be able to reach Grafana
at ``http://<host-ip>:14000``. The default login credentials for your first-time
Grafana setup are:
* **Username**: ``admin``
* **Password**: ``admin``
.. figure:: ../data/install/grafana_welcome.png
:align: center
:alt: Grafana dashboard welcome screen
:width: 800
Grafana's welcome screen.
.. _grafana-datasource-setup:
Configure the MongoDB data source
---------------------------------
You must configure your MongoDB data source in Grafana before first-time use.
Navigate to Grafana's **Configuration** page to add the "Omniperf Data"
connection.
.. figure:: ../data/install/datasource_config.jpg
:align: center
:alt: Grafana data source configuration
:width: 800
Grafana's Configuration page.
Configure the following fields in the data source settings.
.. list-table::
:stub-columns: 1
* - HTTP URL
- ``http://localhost:3333``
* - MongoDB URL
- ``mongodb://temp:temp123@\<host-ip>:27018/admin?authSource=admin``
* - Database Name
- ``admin``
After configuring these fields, click **Save & test** to make sure your
connection is successful.
.. figure:: ../data/install/datasource_settings.jpg
:align: center
:alt: Grafana data source settings
:width: 800
Grafana data source settings.
.. note::
To avoid potential DNS issues, you might need to use the actual IP address
for the host node in the MongoDB URL.
.. _grafana-import-dashboard-file:
Import the ROCm Compute Profiler dashboard file
-----------------------------------------------
From the **Create****Import** page, upload the dashboard file,
``/dashboards/Omniperf_v{__VERSION__}_pub.json`` from the
:doc:`ROCm Compute Profiler tarball <core-install>`.
Edit both the dashboard **Name** and the **Unique identifier (UID)** fields to
uniquely identify the dashboard. Click **Import** to complete the process.
.. figure:: ../data/install/import_dashboard.png
:align: center
:alt: Grafana's import dashboard
:width: 800
Grafana's Import dashboard.
.. _grafana-select-workload:
Select and load the ROCm Compute Profiler workload
--------------------------------------------------
Once you have imported a dashboard you're ready to begin. Start by browsing
available dashboards and selecting the dashboard you have just imported.
.. figure:: ../data/install/opening_dashboard.png
:align: center
:alt: Opening your ROCm Compute Profiler dashboard in Grafana
:width: 800
Opening your ROCm Compute Profiler profiling dashboard in Grafana.
Remember that you need to upload workload data to the MongoDB backend before
analyzing in your Grafana interface. See a detailed example of this in
:ref:`grafana-gui-import`.
After a workload has been successfully uploaded, you should be able to select it
from the workload dropdown located at the top of your Grafana dashboard.
.. figure:: ../data/install/grafana_workload_selection.png
:align: center
:alt: ROCm Compute Profiler workload selection in Grafana
:width: 800
Selecting your ROCm Compute Profiler workload in Grafana.
For more information on how to use the Grafana interface for analysis see
:doc:`/how-to/analyze/grafana-gui`.