Buy Percona ServicesBuy Now!

Percona Monitoring and Management Architecture

The PMM platform is based on a simple client-server model that enables efficient scalability. It includes the following modules:

  • PMM Client is installed on every database host that you want to monitor. It collects server metrics, general system metrics, and query analytics data for a complete performance overview. Collected data is sent to PMM Server.
  • PMM Server is the central part of PMM that aggregates collected data and presents it in the form of tables, dashboards, and graphs in a web interface.

The modules are packaged for easy installation and usage. It is assumed that the user should not need to understand what are the exact tools that make up each module and how they interact. However, if you want to leverage the full potential of PMM, internal structure is important.

PMM is a collection of tools designed to seamlessly work together. Some are developed by Percona and some are third-party open-source tools.

Note

The overall client-server model is not likely to change, but the set of tools that make up each component may evolve with the product.

The following diagram illustrates how PMM is currently structured:

_images/pmm-diagram.png

PMM Client

PMM Client packages are available for most popular Linux distributions:

  • DEB for Debian-based distributions (including Ubuntu and others)
  • RPM for Red Hat Enterprise Linux derivatives (including CentOS, Oracle Linux, Amazon Linux, and others)

There are also generic tarball binaries that can be used on any Linux system.

For more information, see Installing PMM Client.

PMM Client packages consist of the following:

PMM Server

PMM Server runs on the machine that will be your central monitoring host. It is distributed as an appliance via the following:

  • Docker image that you can use to run a container
  • Open Virtual Appliance (OVA) that you can run in VirtualBox or another hypervisor
  • Amazon Machine Image (AMI) that you can run via Amazon Web Services (AWS)

For more information, see Running PMM Server.

PMM Server consists of the following tools:

  • Query Analytics (QAN) enables you to analyze MySQL query performance over periods of time. In addition to the client-side QAN agent, it includes the following:

    • QAN API is the backend for storing and accessing query data collected by percona-qan-agent running on a PMM Client.
    • QAN Web App is a web application for visualizing collected Query Analytics data.
  • Metrics Monitor (MM) provides a historical view of metrics that are critical to a MySQL or MongoDB server instance. It includes the following:

    • Prometheus is a third-party time-series database that connects to exporters running on a PMM Client and aggregates colleted metrics. For more information, see Prometheus Docs [1].

      • Consul provides an API that a PMM Client can use to remotely list, add, and remove hosts for Prometheus. It also stores monitoring metadata. For more information, see Consul Docs [2].

        Warning

        Although the Consul web UI is accessible, do not make any changes to the configuration.

    • Grafana is a third-party dashboard and graph builder for visualizing data aggregated by Prometheus in an intuitive web interface. For more information, see Grafana Docs [3].

      • Percona Dashboards is a set of dashboards for Grafana developed by Percona.
  • Orchestrator is a MySQL replication topology management and visualization tool. For more information, see: Orchestrator Manual [4].

All tools can be accessed from the PMM Server web interface (landing page). For more information, see Using the Percona Monitoring and Management Platform.

Deployment Scenarios

PMM is designed to be scalable for various environments. Depending on the size and complexity of your infrastructure, you can deploy it in several ways.

Simple Scenario

If you have just one MySQL or MongoDB server, you can install and run both modules (PMM Client and PMM Server) on this one database host.

Typical Scenario

It is more typical to have several MySQL and MongoDB server instances distributed over different hosts. In this case, you can run PMM Server on a dedicated monitoring host, and install PMM Client on every database host that you want to monitor. Data from hosts will be aggregated on the PMM Server.

References

[1]https://prometheus.io/docs/introduction/overview/
[2]https://www.consul.io/docs/
[3]http://docs.grafana.org/
[4]https://github.com/outbrain/orchestrator/wiki/Orchestrator-Manual

Table Of Contents

Previous topic

Percona Monitoring and Management Documentation

Next topic

Deploying Percona Monitoring and Management

Visit Percona Store


General Inquiries

For general inquiries, please send us your question and someone will contact you.