Once I first logged in to PMM web interface (which is, by the way, standard Grafana with a predefined dashboards set), I was a bit puzzled and did not know where to look first.
So I’ve decided to write this article to help newcomers to start working with PMM. Probably some of this will be interesting for the experts, too.
Lets start from something really interesting. My personal favorite is “PMM Query Analytics”, the first in “PMM dashboards” list:
This dashboard shows the total load (number of executions X server time spent for each query) for the digested query:
What does it mean?
Example: you have a lot of queries like “SELECT customerName from customers WHERE customerId = <actual ID>”, each with unique customerId.
PMM Query Analytics will threat all these queries as a single item and calculate for you the impact this query puts on your server.
When you see a simple query appeared in your top 10 queries by load, this usually means you’ve forgot to create an index, or you don’t have enough buffers, or billion other reasons – but you have the motive to take some action.
You can click on the digested query to see more details on the query, you also can see query examples with the arguments (not just a digested query) and even check query execution plan similar to what MySQL EXPLAIN does.
Note that you can sort queries in this dashboard by Load, Query time (averaged for the digested queries) or Query count.
The next dashboards worth taking a look is “Nodes overview” under “System (Node)” section:
It’s not a rocket science but it shows you basic OS metrics and how they change in time:
This can be extremely useful to investigate incidents, e.g. check if you have enough RAM on the server to withstand peak loads.
Note that this is basically a standard Grafana interface so you can pick the time zone and period to view in the top left corner:
You can also pick the autorefresh interval or disable it (can be handy when viewing longer intervals to save traffic and browser RAM).
The next basic but very useful dashboard “MySQL instances overview” under “MySQL” section(it can be very well “PostgreSQL instances overview” if you use Postgres, or “MongoDB instances overview”- you got the idea):
Same as previous, it shows you basic MySQL performance data graphs and how they change in time.
Note that many graphs are collapsed by default, you can expand them by clicking on the appropriate collapsed section title (e.g. “InnoDB I/O details” in the screenshot above).
Lets get to the last dashboard in this article: PMM Advisor checks.
It can be accessed by clicking on ‘Advisor checks’ in the left menu:
You will see something like this:
Click on ‘Critical’ or ‘Warning’ counts to view the hint about potential configuration issues. Can be handy even for experienced users.
This small walkthrough was only about dashboards but PMM can do more. E.g. we did not have a single word about alerting configuration, retention, access control, custom dashboards and so on.