Google Cloud Platform¶
PMM can monitor MySQL or PostgreSQL instances hosted on the Google Cloud Platform.
The connection can be direct, or indirect using Cloud SQL Proxy.
MySQL¶
-
The database server must be accessible by PMM Client. If PMM Client is not also hosted on GCP, you will need to add a network interface with a public interface.
-
Configure Performance Schema on the MySQL server. Using the GCP console’s Cloud Shell or your own
gcloud
installation, run:gcloud sql instances patch <instance_name> --database-flags performance_schema=on
-
Log into the PMM user interface.
-
Select Configuration → PMM Inventory → Add Instance.
-
Click MySQL Add a remote instance.
-
Fill in the details for the remote MySQL instance.
- Ensure Use performance schema is selected.
-
Click Add service.
-
Check for values in the MySQL Instance Overview dashboard and in Query Analytics.
PostgreSQL¶
-
The database server must be accessible by PMM Client. If PMM Client is not also hosted on GCP, you will need to add a network interface with a public interface.
-
Configure
pg_stat_statements
. Open an interactive SQL session with your GCP PostgreSQL server and run:CREATE EXTENSION pg_stat_statements;
-
Log into the PMM user interface.
-
Select Configuration → PMM Inventory → Add Instance.
-
Select PostgreSQL Add a remote instance.
-
Fill in the details for the remote PostgreSQL instance:
- In Stat tracking options, select PG Stat Statements.
-
Click Add service.
-
Check for values in the PostgreSQL Instance Overview dashboard and Query Analytics.
Cloud SQL Proxy¶
MySQL¶
-
Create instance on GCP.
-
Note connection as
<project_id>:<zone>:<db_instance_name>
. -
Enable Admin API and download the JSON credential file.
-
Enable Performance Schema.
-
Run Cloud SQL Proxy (runs on PMM Client node).
-
As a Docker container:
docker run -d \ -v ~/path/to/admin-api-file.json:/config \ -p 127.0.0.1:3306:3306 \ gcr.io/cloudsql-docker/gce-proxy:1.19.1 \ /cloud_sql_proxy \ -instances=example-project-NNNN:us-central1:mysql-for-pmm=tcp:0.0.0.0:3306 \ -credential_file=/config
-
On Linux:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy chmod +x cloud_sql_proxy ./cloud_sql_proxy -instances=example-project-NNNN:us-central1:mysql-for-pmm=tcp:3306 \ -credential_file=/path/to/credential-file.json
-
-
Add instance.
pmm-admin add mysql --host=127.0.0.1 --port=3306 \ --username=root --password=secret \ --service-name=MySQLGCP --query-source=perfschema
PostgreSQL¶
-
Create instance on GCP.
-
Note connection as
<project_id>:<zone>:<db_instance_name>
. -
Enable Admin API and download the JSON credential file.
-
Run Cloud SQL Proxy.
./cloud_sql_proxy -instances=example-project-NNNN:us-central1:pg-for-pmm=tcp:5432 \ -credential_file=/path/to/credential-file.json
-
Log into PostgreSQL.
-
Load extension:
CREATE EXTENSION pg_stat_statements;
-
Add service:
pmm-admin add postgresql --host=127.0.0.1 --port=5432 \ --username="postgres" --password=secret --service-name=PGGCP
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.