Percona PMM alternative Pandora FMS
On one previous occasion one of our colleagues published a good article on the Percona Server for this database. Percona is a company founded in 2006 by former MySQL employees, Peter Zaitsev and Vadim Tkachenko. Today we bring you another piece of software from that company: Percona Management and Monitoring Software (Percona PMM).
Percona also offers services other than software; We emphasize this because it becomes, in practice, a technological prefix. That is why we must present Percona Monitoring Plugins which were created for our well-known Nagios and Cacti, but are not add-ons for Percona PMM.
Presentations and clarifications made, now we are located in “Percona Management and Monitoring Software”, which as you see we abbreviate as Percona PMM and Percona PMM Server as PMM Server, in order to avoid confusion in this revision. We present a simple summary of the architecture of Percona PMM in the field of monitoring:
Description: Architecture of Percona PMM
Percona PMM is a distributed system in the form of software agents (PMM Clients) and at least a PMM Server. PMM is a collection of tools designed independently but that can perfectly work together; some are developed by Percona and others by third parties. we have sectioned this server in the previous graph and we break it down as follows:
– Metric Monitor composed of:
- Prometheus: that like the legendary RRDTool uses a time series database and is in charge of receiving the data from the PMM Clients.
- Grafana: graphical interface that is also used by SQL Server in GNU / Linux.
- Consul:it is the name of a free monitoring software; it has its own web console, which Percona PMM gently points out that not should be used.
– Query Analytics (“Query Analytics” or QAN), consisting of:
- QAN API: which is also responsible for receiving the data of the PMM Clients.
- QAN application (“QAN App”): converts the received data into information.
Prometheus, Grafana and Consul are applications that deserve their own article each. As they are all written in free software, Percona PMM includes them in their distribution and meshes them all by adding their own code. Database monitoring is its strong point but our central issue here is to evaluate the Percona PMM alternative as a whole and as a whole.
Just like here in Pandora FMS we integrated with Jira, Percona has also used this tool of ticketing to attend to errors, support or requests for improvement of PMM. This is one of the services that returns the company since Percona PMM is written in the Go language and with Apache 2.0 license. The recommended method is to run it in Docker.
Description: Percona PMM main screen
We will need at least 2 gigabyte RAM (one for the Metric Monitor and one for the QAN) and then increase for each node (database server); for 16 nodes we will need 20 gigabytes RAM. The Percona PMM alternative, Pandora FMS with 4 gigabytes can quietly attend 200 nodes.
The statistics of tables and diagrams, although active by default, from a thousand objects are automatically deactivated; we can deactivate them outright with:
sudo pmm-admin add mysql –disable-tablestats
Note that with “docker run -e parameter” (or ” – – env”) we will also make Percona PMM behave according to our requirements, let’s see: by default the Metrics Monitor is retained for 30 days and 8 days the Analysis of Queries, if we want to retain for 8 days: “-e METRICS_RETENTION=192h”. Needless to say, for Percona PMM we can enable a high availability scheme to store our data, and even take Percona Server as a database for the Percona PMM alternative, Pandora FMS, such As we indicated in that article!
Operators can access the PMM Initial Web Page or “PMM Landing Page” to view, for example, alerts:
Description: Alerts in Percona PMM
Optionally we can try the”Orchestrator”, an external experimental tool for visualization and management of MySQL replication topology. If we enable it, we will access it using “/orchestrator” after the address of our PMM Server. In the QAN we will have the “Data Source Name” that will allow the PMM Clients to use the specially assigned credentials to be able to monitor the databases (important). For MySQL/MongoDb they are in “/usr/local/percona/qan-agent”.
More details for the diligent: every 24 hours our PMM Server will communicate with the Percona website to report:
- Unique identifier of our PMM server.
- Installed Version.
- Name and version of our operating system, machine of Amazon or virtual device.
- MySQL Version.
- Perl version.
This form leaves from the statistic (and trade) of Percona, we can look for Percona to us PMM or deactivate it with the second line that also deactivates the updates:
We will not need so much RAM but disk space: minimum 100 megabytes if you transmit data continuously, we recommend leaving 10 gigabytes if there is no communication with the PMM Server in 24 hours (which may happen). It is checked in Debian, Ubuntu, CentOS and Red Hat Enterprise Linux but beware, only in 64-bit distributions, remember that we are monitoring databases, the specialized field of Percona PMM (Pandora FMS has its add-ons or dedicated plugins for each of the databases). The agents collect data with a frequency of every second but we can extend it up to 5 seconds (values of more than 6 deactivate the agent, except in the case of MySQL that accepts 1, 5 or 60 seconds). To place it every three seconds:
With the command “pmm-admin info” we can visualize the services installed in the format “pmm–” and generally we will have by defect:
- 42000: to collect general metrics of the system (CPU, memory, disk, etc.).
- 42001: send and receive data to the QAN API.
- 42002: MySQL metrics.
- 42003: MongoDB metrics.
- 42004: ProxySQL metrics.
As we know MySQL is widely used in a variety of applications and often we need specific versions for each software (or maybe we rent servers and we need that each client is isolated in their own space) for this are the instances of MySQL. In these cases we will use the command “pmm-admin add mysql” specifying each port (other than the numbers shown above) and socket different (the syntax is longer, you must also include the credentials to access). With this of the instances we see that maybe we will surpass the number of thousand that is the maximum supported by PMM. Remember to verify the proper communication with “pmm-admin check-network”. Here is the source code to generate DEB and RMP packets.
Percona PMM alternative
As we see Percona PMM, unlike Pandora FMS, it delegates more than half of the work to third parties; even in the administration area (“management”) of the PMM Clients uses the Prometheus Exporter (unofficially). As an element applied to Percona Server – and even MySQL – they form a unique combination where the two groups of programmers have close working relationships to produce a non-musical suite but in harmony for production.
Pandora FMS has accumulated many years of experience and has many plugins with which you will not have to delegate your infrastructure to third parties, in addition to the proposals collected from the open source community. Once discovered the Percona PMM alternative, you can check our Youtube channel you can find videos, tutorials and guides of the most flexible monitoring software on the planet. Any questions about Pandora FMS can be consulted through the following contact form: https://pandorafms.com/contact/
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata.
Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción.
Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata.
Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.