PMM is a client/server application built by Percona comprising its own and third-party components and tools.
PMM Server is the heart of PMM. It receives data from clients, collects it, and stores it. Metrics are drawn as tables, charts and graphs within dashboards, each a part of the web-based user interface.
PMM Client is a collection of agents and exporters that run on the host being monitored.
PMM Client runs on every database host or node you want to monitor. The client collects server metrics, general system metrics, query analytics and sends it to the server. Except when monitoring AWS RDS instances, a PMM Client must be running on the host to be monitored.
Percona Platform provides value-added services for PMM.
The PMM Client package provides:
- Exporters for each database and service type. When an exporter runs, it connects to the database or service instance, runs the metrics collection routines, and sends the results to PMM Server.
pmm-agent: Run as a daemon process, it starts and stops exporters when instructed.
vmagent: A VictoriaMetrics daemon process that sends metrics data (pushes) to PMM Server.
The PMM Server package provides:
- Query Analytics
PMM Server includes the following tools:
Query Analytics (QAN) enables you to analyze database query performance over periods of time. In addition to the client-side QAN agent, it includes the following:
QAN API is the back-end for storing and accessing query data collected by the QAN agent running on a PMM Client.
QAN App is a web application for visualizing collected Query Analytics data which is part of the PMM Server’s UI.
Metrics Monitor provides a historical view of metrics that are critical to a MySQL or MongoDB server instance. It includes the following:
- ClickHouse is a third-party column-oriented database that facilitates the Query Analytics functionality.
- Grafana is a third-party dashboard and graph builder for visualizing data aggregated (by VictoriaMetrics or Prometheus) in an intuitive web interface.
- Percona Dashboards is a set of dashboards for Grafana developed by Percona.
The PMM Client package consists of the following:
pmm-adminis a command-line tool for managing PMM Client, for example, adding and removing database instances that you want to monitor. (Read more).
pmm-agentis a client-side component a minimal command-line interface, which is a central entry point in charge for bringing the client functionality: it carries on client’s authentication, gets the client configuration stored on the PMM Server, manages exporters and other agents.
node_exporteris an exporter that collects general system metrics.
mysqld_exporteris an exporter that collects MySQL server metrics.
mongodb_exporteris an exporter that collects MongoDB server metrics.
postgres_exporteris an exporter that collects PostgreSQL performance metrics.
proxysql_exporteris an exporter that collects ProxySQL performance metrics.
rds_exporteris an exporter that collects Amazon RDS performance metrics.
azure_database_exporteris an exporter that collects Azure database performance metrics.
To make data transfer from PMM Client to PMM Server secure, all exporters are able to use SSL/TLS encrypted connections, and their communication with the PMM server is protected by the HTTP basic authentication.