Skip to content

Monitor database with Percona Monitoring and Management (PMM)

The recommended way of the database monitoring is to use Percona Monitoring and Management (PMM) integrated within the Operator (while custom monitoring solutions are also possible , their deployment is not automated by the Operator and requires manual set up). In this section you will learn how to monitor Percona XtraDB Cluster with PMM.

Note

Only PMM 2.x versions are supported by the Operator.

PMM is a client/server application. It includes the PMM Server and the number of PMM Clients running on each node with the database you wish to monitor.

A PMM Client collects needed metrics and sends gathered data to the PMM Server. As a user, you connect to the PMM Server to see database metrics on a number of dashboards.

PMM Server and PMM Client are installed separately.

Install PMM Server

You must have PMM server up and running. You can run PMM Server as a Docker image, a virtual appliance, or on an AWS instance. Please refer to the official PMM documentation for the installation instructions.

Install PMM Client

To install PMM Client as a side-car container in your Kubernetes-based environment, do the following:

  1. Authorize PMM Client within PMM Server.

    1. Generate the PMM Server API Key . Specify the Admin role when getting the API Key.

    Warning: The API key is not rotated automatically.

    1. Edit the deploy/secrets.yaml secrets file and specify the PMM API key for the pmmserverkey option.
    2. Apply the configuration for the changes to take effect.

      $ kubectl apply -f deploy/secrets.yaml -n <namespace>
      
    1. Check that the serverUser key in the deploy/cr.yaml file contains your PMM Server user name (admin by default), and make sure the pmmserver key in the deploy/secrets.yaml secrets file contains the password specified for the PMM Server during its installation

    2. Apply the configuration for the changes to take effect.

      $ kubectl apply -f deploy/secrets.yaml -n <namespace>
      
  2. Update the pmm section in the deploy/cr.yaml file:

    • Set pmm.enabled=true.
    • Specify your PMM Server hostname / an IP address for the pmm.serverHost option. The PMM Server IP address should be resolvable and reachable from within your cluster.

      pmm:
        enabled: true
        image: percona/pmm-client:{{pmm2recommended}}
        serverHost: monitoring-service
    
    3. Apply the changes:

    $ kubectl apply -f deploy/cr.yaml -n <namespace>
    
  3. Check that corresponding Pods are not in a cycle of stopping and restarting. This cycle occurs if there are errors on the previous steps:

    $ kubectl get pods -n <namespace>
    $ kubectl logs  <cluster-name>-pxc-0 -c pmm-client -n <namespace>
    

Check the metrics

Let’s see how the collected data is visualized in PMM.

Now you can access PMM via https in a web browser, with the login/password authentication, and the browser is configured to show Percona XtraDB Cluster metrics.

Next steps

What’s next

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services. Join K8S Squad to benefit from early access to features and “ask me anything” sessions with the Experts.


Last update: 2024-12-19