”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Galera 集群节点上设置 MariaDB/MySQL Exporter 以进行 Prometheus 监控

如何在 Galera 集群节点上设置 MariaDB/MySQL Exporter 以进行 Prometheus 监控

发布于2024-11-08
浏览:891

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

社区开发者您好! ?

在这篇文章中,我将引导您完成在 Galera Cluster 节点上设置 MariaDB/MySQL Exporter 以使用 Prometheus 进行监控所采取的步骤。就我而言,我在具有三个节点的云服务器提供商上运行 MariaDB Galera Cluster,并使用 Prometheus Grafana 来监控我的设置。 Galera Cluster 设置和监控工具非常有用,但从 MariaDB 获取正确的指标并不简单,因此我决定记录我的解决方案。

要监控 MariaDB 和 Galera Cluster 指标,例如每秒查询数、连接数、复制状态等,您需要结合使用 MySQL Exporter 和 Prometheus。该导出器将公开特定于数据库的指标,包括 Galera 和 MariaDB 统计数据。

在 Galera 集群节点上设置 MariaDB/MySQL Exporter 的步骤:

先决条件

  • A MariaDB Galera Cluster 具有多个节点。
  • A Prometheus服务器已启动并正在运行。
  • Grafana 用于可视化指标(可选但推荐)。
  • 访问节点以安装导出器。

注意:您已经可以在云服务器提供商的市场上使用 Prometheus Grafana 的机器。赫兹纳,数字海洋

第 1 步:安装 MySQL/MariaDB 导出器

在每个 Galera 节点上,我们需要安装 MySQL Exporter,它收集指标并将其公开给 Prometheus。具体方法如下:

从官方来源下载并安装导出器

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

提取文件

tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz

将二进制文件移动到系统路径

sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/

为导出器添加系统用户

sudo useradd -rs /bin/false mysqld_exporter

第 2 步:使用 MySQL/MariaDB 凭证配置导出器

导出器需要访问 MariaDB 指标。在导出器的主目录中创建 .my.cnf 文件来存储连接凭据:

sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf

将以下内容添加到文件中:


[client]
user=exporter
password=yourpassword


确保用户具有访问必要指标的适当权限:

访问使用 mysql -u root 或 mariadb -u root

创建由“yourpassword”标识的用户“exporter”@“localhost”;
授予进程,复制客户端,选择 *.* TO 'exporter'@'localhost';
同花顺特权;

第 3 步:将导出器设置为服务

为了确保 MySQL Exporter 在启动时启动,让我们将其配置为 systemd 服务:

sudo nano /etc/systemd/system/mysqld_exporter.service

将以下内容添加到文件中:


[Unit]
Description=Prometheus MySQL Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=mysqld_exporter
Group=mysqld_exporter
ExecStart=/usr/local/bin/mysqld_exporter \
  --config.my-cnf=/etc/.mysqld_exporter/.my.cnf

[Install]
WantedBy=multi-user.target


保存文件并重新加载systemd:

sudo systemctl daemon-reload
sudo systemctl 启动 mysqld_exporter
sudo systemctl 启用 mysqld_exporter

第 4 步:将导出器目标添加到 Prometheus

接下来,更新您的 Prometheus 配置以从节点中获取指标。将以下内容添加到您的 prometheus.yml 文件中:

在此之前,您可以通过访问以下命令来检查 MySQL Exporter 是否正在运行:

curl http://:9104/metrics

要访问此文件,例如 prometheus.yml,请使用:
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml

添加到 scrape_configs::


- job_name: 'mariadb-galera'
  static_configs:
    - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']


请回复您数据库节点的IP

然后,重新加载 Prometheus:

sudo systemctl 重新加载普罗米修斯

第 5 步:在 Grafana 中可视化

如果您使用 Grafana,您可以导入预构建的仪表板以进行 MySQL/MariaDB 监控。 MySQL/MariaDB 指标的一种流行仪表板 ID 是 7362.

导入:

  1. 打开 Grafana。
  2. 导航到仪表板 > 导入。
  3. 在“Grafana.com Dashboard”字段中输入7362,然后单击加载

您现在应该在 Grafana 仪表板中看到来自 MariaDB Galera Cluster 节点的详细指标!

结论

通过在每个 Galera Cluster 节点上设置 MariaDB Exporter,Prometheus 现在可以抓取和监控关键数据库指标。此设置可以更好地了解集群的运行状况和性能,从而更轻松地根据需要进行故障排除和优化。

如果您正在设置类似的内容或有任何建议,请随时在下面留下任何问题或评论。感谢您的阅读!

版本声明 本文转载于:https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3