MySQLD Exporter 是一个用于 Prometheus 监控 MySQL 数据库性能的工具,它能够收集并暴露 MySQL 数据库的指标。下面是如何在 CentOS 7 上安装 MySQL Exporter 的详细步骤。
安装步骤
1. 安装 MySQL 客户端工具
MySQL Exporter 需要 MySQL 客户端工具来连接 MySQL 数据库,因此首先需要安装 mysql
客户端。
sudo yum install mysql -y
2. 创建 MySQL 用户
为了让 MySQL Exporter 以只读方式访问 MySQL 数据库,首先需要在 MySQL 中创建一个专用的只读用户。
mysql -u root -p
然后在 MySQL 命令行中执行以下命令来创建用户并授予相应权限:
CREATE USER 'prometheus'@'%' IDENTIFIED BY 'MySecureP@ssw0rd123';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
请替换
'your_password'
为你想要设置的密码。
3. 下载 MySQLD Exporter
下载 MySQL Exporter 的最新版本。可以从 GitHub 的 Prometheus MySQL Exporter 仓库中下载:
cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz
请根据需要检查 Prometheus MySQL Exporter GitHub 中的最新版本。
解压下载的文件:
tar -xvzf mysqld_exporter-0.15.0.linux-amd64.tar.gz
4. 配置 MySQLD Exporter
/root/.my.cnf配置文件内容
[client]user=prometheuspassword=MySecureP@ssw0rd123
5. 配置 Systemd 服务(可选)
为了让 MySQL Exporter 在系统启动时自动启动,建议将其配置为 systemd 服务。
创建一个名为 mysqld_exporter.service
的 systemd 服务文件:
sudo vi /etc/systemd/system/mysqld_exporter.service
在该文件中添加以下内容:
[Unit]
Description=Prometheus MySQL Exporter
After=network.target[Service]
User=nobody
Group=nogroup
ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf="/root/.my.cnf"
Restart=always[Install]
WantedBy=multi-user.target
保存并退出编辑器。
6. 启动 MySQL Exporter
重新加载 systemd 配置:
sudo systemctl daemon-reload
启动并启用 MySQL Exporter 服务:
sudo systemctl start mysqld_exporter
sudo systemctl enable mysqld_exporter
7. 检查 MySQL Exporter 状态
检查 MySQL Exporter 是否正在运行:
sudo systemctl status mysqld_exporter
如果 MySQL Exporter 成功启动,你应该能看到类似以下的输出:
● mysqld_exporter.service - Prometheus MySQL ExporterLoaded: loaded (/etc/systemd/system/mysqld_exporter.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2024-12-26 10:00:00 CST; 1min 30s agoMain PID: 12345 (mysqld_exporter)CGroup: /system.slice/mysqld_exporter.service└─12345 /usr/local/bin/mysqld_exporter
8. 配置 Prometheus 监控 MySQL Exporter
在 Prometheus 配置文件中添加 MySQL Exporter 的目标,以便 Prometheus 可以抓取其暴露的指标。
编辑 Prometheus 配置文件 prometheus.yml
:
vi /etc/prometheus/prometheus.yml
在 scrape_configs
部分添加以下内容:
- job_name: 'mysql'static_configs:- targets: ['localhost:3306','localhost:3307']relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__# The mysqld_exporter host:portreplacement: localhost:9104
默认情况下,MySQL Exporter 会监听 9104 端口。
重新加载 Prometheus 配置:
sudo systemctl daemon-reload
sudo systemctl restart prometheus
9. 验证 MySQL Exporter 指标
打开浏览器访问 http://<your_server_ip>:9104/metrics
,查看 MySQLD Exporter 输出的监控指标。
你也可以使用 curl 命令来检查:
curl http://localhost:9104/metrics
如果你看到一系列指标数据,那么 MySQLD Exporter 已经配置成功并且正在运行。