SSM – PMM 1.x Fork with Additional Features

Earlier this month, our MySQL consultants released the first publicly available build of SSM, version 8.6.1.17.5.1. It is based on PMM 1.17.5, but with additional features, updates and fixes.

If you use PMM, you already know how to use SSM. However, the PMM learning curve is so low that it shouldn’t really matter – it can be deployed in about 3 lines of shell for the server, and another 3 lines of shell for each client. The simplicity makes it very suitable for automated deployment.

QAN in RDS with Queries via Slow Log

In our first release, the main additional features compared to PMM is the ability to gather queries in the RDS environment using the slow log. PMM is limited to feeding Query Analytics via the query statistics exposed through the performance_schema. This has a very significant limitation in that performance_schema doesn’t include the queries executed via prepared statements. Prepared statements are a worthwhile performance optimisation in most environments, so being unable to analyse and optimise things further is a significant limitation. That is why we have felt this feature was needed.

You can find more details on the changes needed to the IAM definition and the node registration here:

https://github.com/shatteredsilicon/ssm-doc/blob/1.x/docs/amazon-rds.md#configuring-slow-query-log

Better Server-side Cleanup Functionality

We added a feature that allows removing and cleaning up monitored servers purely from the server side. We encountered many cases where servers would get removed or rebuilt without de-registering them and purging their data via the pmm-admin commands. In SSM this is no longer necessary – you can remove individual services or entire servers from SSM using the inventory page:

SSM Node Cleanup

You can remove an individual service or the entire node.

SSM Server Build for aarch64

Another key feature we introduced is that we provide both server and client builds for aarch64. We found it quite inconvenient to have to run more expensive x86 nodes in the cloud, and be unable to run PMM server on our own ARM machines. With SSM we can do that because both client and server have aarch64 builds available.

The process for this is identical to deploying on x86.

We have found PMM to be hugely valuable in our MariaDB and MySQL support work, and without it SSM would not have been possible. All of the source code for our modified and improved version is available in our public repositories on github:

https://github.com/shatteredsilicon/

Bug reports, and pull requests are always appreciated.