警告
Microsoft Azure 功能目前处于技术预览阶段,可能会发生变化。
激活 Microsoft Azure
Microsoft Azure 功能默认关闭。打开它:
去 配置→ 设置→高级设置。
点击 在页面的技术预览功能部分切换。
所需设置
可以像其他远程实例一样使用 PMM 来监视Azure数据库实例。在这种情况下,部署数据库服务器的主机上没有安装PMM Client。通过使用 PMM Web 界面,您可以连接到 Azure 数据库实例。发现尚未在 PMM 中实现,但可以通过提供连接参数来添加已知实例。
首先,确保 PMM 服务器和 Azure 实例之间的延迟最小。
其次,添加防火墙规则以启用从 PMM 客户端的访问,如下所示:
设置 MySQL 实例
Query Analytics 需要您将Performance Schema配置为查询源,因为慢查询日志存储在 Azure 端,并且 QAN 代理无法读取它。启用Azure MySQL 数据库中的performance_schema选项Parameter Groups。
为 Azure 添加监控实例时,请指定唯一名称以将其与本地 MySQL 实例区分开来。如果不指定名称,它将使用客户端的主机名。
在pmm要监视的 Azure MySQL 数据库实例上创建具有以下权限的用户:
CREATE USER 'pmm'@'%' IDENTIFIED BY 'pass';
GRANT SELECT, PROCESS, REPLICATION CLIENT ON *.* TO 'pmm'@'%';
ALTER USER 'pmm'@'%' WITH MAX_USER_CONNECTIONS 10;
添加 Azure 实例
按照此处解释的远程实例说明进行操作,Azure MySQL 数据库类似于 AWS RDS 数据库。
例子:
并确保将Performance Schema设置为 Query Analytics 的查询收集方法。
玛丽亚数据库
MariaDB 10.2 版本开箱即用,但从 MariaDB 10.3 开始,默认情况下禁用并且无法启用,因为 Azure-MariaDB 中没有 SUPER 角色。因此,不可能运行所需的查询来启用检测。监控会起作用,但 Query Analytics 不会收到任何查询数据。
PostgreSQL
对于 PostgreSQL,请遵循用于 MySQL 和 MariaDB 的相同方法,并track_io_timing在实例配置中启用以启用查询分析。
对于查询分析,设置服务器参数:
pg_stat_statements.track = all
发现 Azure 上的数据库
您需要获取客户端 ID、客户端密钥、租户 ID 和订阅 ID。
您可以按照此处的步骤操作:https : //www.inkoop.io/blog/how-to-get-azure-api-credentials/
导航:
在 Azure Active Directory 中创建应用程序。https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview
获取订阅 ID。
获取租户 ID。
获取客户端 ID。
获取客户端机密。
填写所有字段后,按“发现”按钮,您将看到可用于监控的数据库列表。
您可以监控 6 种类型的数据库:
Microsoft.DBforMySQL/serversMicrosoft.DBforMySQL/flexibleServersMicrosoft.DBforMariaDB/serversMicrosoft.DBforPostgreSQL/serversMicrosoft.DBforPostgreSQL/flexibleServersMicrosoft.DBforPostgreSQL/serversv2
您可以在以下位置找到有关如何在 Azure 上创建 DB 的更多详细信息:
提示
您必须pg_stat_statements.track = all在 PostgreSQL 服务器设置中进行设置以使用 PMM 查询分析。(阅读更多。)
在“发现”页面上的数据库列表中,单击“开始监视”以将选定的 Azure 数据库添加到 PMM。
填写所有必填字段,然后单击添加服务。
PMM 可以使用 3 个导出器来收集指标:
Azure Metrics Exporter – 收集与 DB 相关的“系统”指标。
node_cpu_averageazure_resource_infonode_filesystem_size_bytesazure_memory_percent_averageazure_storage_percent_averageazure_storage_used_bytes_averagenode_network_receive_bytes_totalnode_network_transmit_bytes_total
mysql_exporter或postgres_exporter– 收集与数据库相关的指标。PMM 代理收集
pg_stat_statements用于 PostgreSQL 或 Performance Schema for MySQL (MariaDB) 的查询相关指标
在 pmm 客户端添加 Azure 实例
默认情况下,服务器上强制使用 TLS/SSL。因此,请下载通过 SSL 与 Azure 数据库通信所需的证书。它可以在 Azure 数据库实例的网络选项卡上完成。
还可以在服务器端禁用强制 TLS/SSL 连接选项。
用于添加 Azure 数据库服务以在没有 TLS/SSL 的情况下进行监控的命令。
pmm-admin add mysql --username=azureuser --password=secure --host=azuremysql.mysql.database.azure.com --service-name=azure1 --query-source=perfschema
下载的证书名为DigiCertGlobalRootCA.crt.pem.
添加 Azure 数据库服务以使用 TLS/SSL 进行监控的命令示例如下:
pmm-admin add mysql --username=azureuser --password=secure --host=azuremysql.mysql.database.azure.com --service-name=azure1 --query-source=perfschema --tls --tls-ca=DigiCertGlobalRootCA.crt.pem --tls-cert=client-cert.pem --tls-key=client-key.pem --tls-skip-verify
页面更新 2021-10-18













