Percona Monitoring and Management Client Raspberry Pi 3In this follow-up blog to Compiling a Percona Monitoring and Management v2 Client in ARM Architecture, we will show what changes are needed to get the latest versions of PMM working on ARM architecture. In this case, we will do it using a Raspberry Pi 3, instead of the AWS EC2 ARM node. With these two blogs, we are covering a good deal of ground in respect to ways of deploying PMM in ARM. Let us know if you use any other device, though, and we’ll be happy to try if we can get ahold of one!

The latest versions will need the vmagent for supporting the newly added VictoriaMetrics functionality. In this case, the binaries are precompiled by the VM team, so we just need to download them and copy them to the appropriate directories. These steps are exactly the same for AWS, but you should use the ARM64 packages instead.

For ease of use, we have again included binaries in the following project (note that versions kept there may not be current latest at any point): https://github.com/guriandoro/pmm_arm, and a gist with the commands used.

Installing Dependencies

As always, let’s get some basic packages needed out of the way:

After we install these tools, we will clone all needed projects to our Go source directory:

And get the VictioraMetrics vmagent binary ready, too:

Compiling

As with the previous blog, pmm-admin compilation is straightforward:

For node_exporter, we will need the changes for PR 1196:

Lastly, for pmm-agent, we will also need an additional step. However, before we can introduce the changes, we need to compile and let it fail once:

We will then need to download the arch-arm.h file to that directory:

And then we are ready to compile pmm-agent successfully:

Moving the Files to Their Final Destination

As the last step, let’s create the needed directories and move the files where they belong.

Starting the PMM Client

At last, we can configure and start the client!

Check if things are working:

OS and Disk Usage

Some information about the OS and kernel used:

As for disk usage, the four compiled binaries will take up 72Mb of space.

Extra Tools

We can also download pt-summary, to get the reports in the Node Summary dashboards:

We Come in Peace… We Mean you no Harm

Resource usage is in the expected (very low) overhead ranges, as we can see in the following before (completely idle) and after (only PMM client binaries running) top samples.

Before:

After:

Conclusion

With this and the blog post linked at the beginning, you should have all the data you need to compile and run Percona Monitoring and Management (PMM) client in either a Raspberry Pi 3 or an AWS EC2 ARM node.

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Aanha Services

Hey, thanks for writing such a nice blog. The cURL error 28 is a common WordPress REST API issue that can affect your
website’s performance and may cause it to behave unpredictably.