Grafana dashboards for efficient database monitoring is a curated set of Grafana dashboard definitions for MySQL, PostgreSQL, MongoDB, ProxySQL, and HAProxy that ships as part of Percona Monitoring and Management (PMM), written in TypeScript under the AGPL-3.0 licence, and aimed at database administrators and site reliability engineers who run those engines in production.
What it is
The repository holds the JSON dashboard definitions that Percona Monitoring and Management uses to visualise database and node telemetry. It lives in the Grafana and Prometheus ecosystem: the dashboards read metrics produced by Prometheus exporters, and PMM bundles Grafana to render them. The code in the repository is TypeScript, the licence is AGPL-3.0, and the project carries the topics "dashboards", "monitoring", "pmm", and "query-analytics". The README frames the collection as dashboards for efficient database monitoring and links to a live demonstration hosted by Percona.
The concrete problem it solves is that every database engine exposes different, unevenly shaped metrics, so each engine needs its own panels, its own replication views, and its own comparison pages before an operator can see health at a glance. Rather than have each team assemble that JSON by hand, this project publishes the finished dashboards alongside PMM. The README also documents a supported path for reuse outside PMM: the dashboards can be converted for a dedicated Prometheus instance, with misc/convert-dash-from-PMM.py run against a file such as dashboards/Disk_Details.json.
Key capabilities
- A
Home Dashboard plus per-engine summaries: MySQL Instance Summary, PostgreSQL Instance Summary, MongoDB Instance Summary, ProxySQL Instance Summary, and HAProxy Instance Summary.
- Cluster and replication views including
MongoDB ReplSet Summary, MySQL Group Replication Summary, and PXC Galera Cluster Summary, supported by node-level PXC Galera Node Summary and PXC Galera Nodes Compare.
- Resource and host detail dashboards covering
CPU Utilization Details, Memory Details, Disk Details, Network Details, NUMA Details, and Node Temperature Details.
- Fleet comparison dashboards such as
MySQL Instances Compare, MongoDB Instances Compare, Nodes Compare, and the "Instances Overview" family.
- Query and performance analysis through
Advanced Data Exploration, MySQL Query Response Time Details, MySQL Performance Schema Details, and MySQL Wait Event Analyses Details, matching the query-analytics topic.
- Storage-engine specific dashboards, including
MySQL InnoDB Details, MySQL MyRocks Details, MySQL MyISAM Aria Details, MongoDB WiredTiger Details, and MongoDB MMAPv1 Details.
- Integration status views for metric plumbing:
Prometheus Exporter Status, Prometheus Exporters Overview, VictoriaMetrics, and VictoriaMetrics Agents Overview.
Who uses it and how
- Database administrators running MySQL, PostgreSQL, or MongoDB with PMM installed, who get the dashboards as part of the PMM deployment rather than building panels themselves.
- Site reliability teams operating a mixed fleet, who use the "Instances Compare" and "Nodes Compare" dashboards to spot one outlier host among many.
- Teams running MongoDB replica sets or Percona XtraDB Cluster and Galera topologies that need the dedicated replication summaries.
- Operators who prefer their own Prometheus instead of the bundled stack, who convert individual dashboards with
misc/convert-dash-from-PMM.py.
- Contributors and bug reporters, who follow
CONTRIBUTING.md and file issues in the Percona JIRA project PMM under the "Grafana Dashboards" component.
Getting started
The intended route is to install Percona Monitoring and Management and use the dashboards from the PMM interface, as described in the Percona PMM 2.x documentation linked from the README. For standalone use, run the conversion script against a dashboard file, for example misc/convert-dash-from-PMM.py dashboards/Disk_Details.json, then import the result into Grafana.
How it compares
No list of paid products is supplied in the facts, so the comparison here is limited to the tools the README and topics actually name. Grafana is the rendering layer this project targets, Prometheus is the metrics source it assumes, VictoriaMetrics appears as an alternative metrics backend with its own dashboards, and PMM is the distribution that carries the collection. These dashboards are the database-aware content layer over that stack, not a replacement for any of those components.
When to use it — and when not to
A self-hoster still has to run the underlying observability stack, meaning Prometheus exporters, Grafana, and in practice PMM, since the project supplies dashboard definitions rather than a monitoring server. Anyone expecting an actively developed repository at this address should look elsewhere: the repository moved to https://github.com/percona/pmm, and the README warns of the move at the top. The README is also sparse beyond the dashboard list and contribution notes, offering no install instructions, no release history, and no versioning, so teams needing packaged releases or independent governance should treat it as a component of PMM rather than a standalone product.
project readme (upstream, from github) — read inline
Grafana dashboards for efficient database monitoring
The list of featured dashboards:
- Advanced Data Exploration
- CPU Utilization Details
- Disk Details
- HAProxy Instance Summary
- Home Dashboard
- Memory Details
- MongoDB Cluster Summary
- MongoDB InMemory Details
- MongoDB Instance Summary
- MongoDB Instances Compare
- MongoDB Instances Overview
- MongoDB MMAPv1 Details
- MongoDB ReplSet Summary
- MongoDB WiredTiger Details
- MySQL Amazon Aurora Details
- MySQL Command Handler Counters Compare
- MySQL Group Replication Summary
- MySQL InnoDB Compression Details
- MySQL InnoDB Details
- MySQL Instance Summary
- MySQL Instances Compare
- MySQL Instances Overview
- MySQL MyISAM Aria Details
- MySQL MyRocks Details
- MySQL Performance Schema Details
- MySQL Query Response Time Details
- MySQL Replication Summary
- MySQL Table Details
- MySQL User Details
- MySQL Wait Event Analyses Details
- NUMA Details
- Network Details
- Node Summary
- Node Temperature Details
- Nodes Compare
- Nodes Overview
- PXC Galera Cluster Summary
- PXC Galera Node Summary
- PXC Galera Nodes Compare
- PostgreSQL Instance Summary
- PostgreSQL Instances Compare
- PostgreSQL Instances Overview
- Processes Details
- Prometheus Exporter Status
- Prometheus Exporters Overview
- ProxySQL Instance Summary
- VictoriaMetrics
- VictoriaMetrics Agents Overview
These dashboards are part of Percona Monitoring and Management.
See a live demonstration at .
Reusing dashboards outside of PMM
Dashboards can be converted to be used on a dedicated prometheus instance.
Example:
- misc/convert-dash-from-PMM.py dashboards/Disk_Details.json
Contributing
We welcome contributions to this repository! Detailed information in CONTRIBUTING.md
Submitting Bug Reports
If you find a bug in Percona Grafana Dashboards or one of the related projects, you can submit a bug report to that project's JIRA issue tracker.
Your first step should be to search the existing set of open tickets for a similar report. If you find that someone else has already reported your problem, then you can upvote that report to increase its visibility.
If there is no existing report, submit a report following these steps:
- Sign in to Percona JIRA. You will need to create an account if you do not have one.
- Go to the Create Issue screen and select the relevant project.
- Fill in the fields of Summary, Description, Steps To Reproduce, and Affects Version to the best you can. If the bug corresponds to a crash, attach the stack trace from the logs.
An excellent resource is Elika Etemad's article on filing good bug reports..
As a general rule of thumb, please try to create bug reports that are:
- Reproducible. Include steps to reproduce the problem.
- Specific. Include as much detail as possible: which version, what environment, etc.
- Unique. Do not duplicate existing tickets.
- Scoped to a Single Bug. One bug per report.