暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译] MySQL PMM Microsoft Azure

原创 由迪 2021-10-27
361

警告

Microsoft Azure 功能目前处于技术预览阶段,可能会发生变化。

激活 Microsoft Azure

Microsoft Azure 功能默认关闭。打开它:

  1. 配置设置高级设置

  2. 点击 在页面的技术预览功能部分切换。

所需设置

可以像其他远程实例一样使用 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。


img


您可以按照此处的步骤操作:https : //www.inkoop.io/blog/how-to-get-azure-api-credentials/

导航:

填写所有字段后,按“发现”按钮,您将看到可用于监控的数据库列表。


img


您可以监控 6 种类型的数据库:

  • Microsoft.DBforMySQL/servers

  • Microsoft.DBforMySQL/flexibleServers

  • Microsoft.DBforMariaDB/servers

  • Microsoft.DBforPostgreSQL/servers

  • Microsoft.DBforPostgreSQL/flexibleServers

  • Microsoft.DBforPostgreSQL/serversv2

您可以在以下位置找到有关如何在 Azure 上创建 DB 的更多详细信息:

提示

您必须pg_stat_statements.track = all在 PostgreSQL 服务器设置中进行设置以使用 PMM 查询分析。(阅读更多。


img


在“发现”页面上的数据库列表中,单击“开始监视”以将选定的 Azure 数据库添加到 PMM。

填写所有必填字段,然后单击添加服务


img


PMM 可以使用 3 个导出器来收集指标:

  • Azure Metrics Exporter – 收集与 DB 相关的“系统”指标。

    • node_cpu_average

    • azure_resource_info

    • node_filesystem_size_bytes

    • azure_memory_percent_average

    • azure_storage_percent_average

    • azure_storage_used_bytes_average

    • node_network_receive_bytes_total

    • node_network_transmit_bytes_total

  • mysql_exporterpostgres_exporter– 收集与数据库相关的指标。

  • PMM 代理收集pg_stat_statements用于 PostgreSQL 或 Performance Schema for MySQL (MariaDB) 的查询相关指标

在 pmm 客户端添加 Azure 实例

默认情况下,服务器上强制使用 TLS/SSL。因此,请下载通过 SSL 与 Azure 数据库通信所需的证书。它可以在 Azure 数据库实例的网络选项卡上完成。


img


还可以在服务器端禁用强制 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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论