How to Provide Separate Dashboards and User Access for Multiple Database Clusters in Percona Monitoring and Management (PMM)?

Hi Percona Community,

We are planning to use Percona Monitoring and Management (PMM) as the monitoring solution for our Database-as-a-Service (DBaaS) platform, where we manage multiple database clusters belonging to different customers or tenants.

Our requirement is to provide each customer with access to a separate dashboard for their respective database clusters, ensuring that they can view only their own database metrics without having access to other customers’ data. At the same time, as platform administrators, we would like to maintain a centralized view of all database clusters across tenants.

I understand that PMM does not currently provide native multi-tenancy support. However, I would like to know if there is any way to achieve this requirement using existing PMM capabilities?

Hi, you can get close to this with Label-Based Access Control (LBAC) in PMM 3.3+ on a single PMM Server:

  1. Label each tenant’s services, e.g. --custom-labels=“tenant=customer_a”.
  2. Enable Access Control in PMM Settings.
  3. Create one access role per tenant (e.g. tenant=customer_a) and assign it to that customer’s users with the Grafana Viewer role. They’ll see only their own metrics and QAN data.
  4. Change the default access role from Full Access to something restrictive.
  5. Keep platform admins on Full Access for the centralized view.

Keep in mind that LBAC filters data, not the UI. Customers share one Grafana and can see some metadata, such as dashboard and datasource names. For strict or compliance-driven isolation, one PMM Server per tenant is the safer option.