5. Monitor database with Percona Monitoring and Management (PMM)¶
In this section you will learn how to monitor Percona Server for MongoDB with Percona Monitoring and Management (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:
-
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.
- Edit the deploy/secrets.yaml secrets file and specify the PMM API key for the
PMM_SERVER_API_KEY
option. -
Apply the configuration for the changes to take effect.
$ kubectl apply -f deploy/secrets.yaml -n <namespace>
-
Edit the deploy/secrets.yaml secrets file and specify the following:
-
The user name of your PMM Server (
admin
by default) in thePMM_SERVER_USER
key -
The password you set for the PMM Server during its installation in the
PMM_SERVER_PASSWORD
key. -
Apply the configuration for the changes to take effect.
$ kubectl apply -f deploy/secrets.yaml -n <namespace>
- Edit the deploy/secrets.yaml secrets file and specify the PMM API key for the
-
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.
3. Apply the changes:pmm: enabled: true image: percona/pmm-client:2.44.1 serverHost: monitoring-service
$ kubectl apply -f deploy/cr.yaml -n <namespace>
- Set
-
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>-rs0-0 -c pmm-client -n <namespace>
Check the metrics¶
Let’s see how the collected data is visualized in PMM.
- Log in to PMM server.
- Click MongoDB from the left-hand navigation menu. You land on the Instances Overview page.
- Select your cluster from the Clusters drop-down menu and the desired time range on the top of the page. You should see the metrics.
- Click MongoDB → Other dashboards to see the list of available dashboards that allow you to drill down to the metrics you are interested in.