MySQL 监控实战:mysql_exporter 部署与远程监控
前言
在数据库运维场景中,实时掌握 MySQL 实例的运行状态是保障业务稳定的核心。通过 mysql_exporter 将数据库的原生运行数据转化为标准化的监控指标,对接至 Prometheus 监控体系,是构建高效数据库监控体系的常见方案。
本文将讲解如何在 CentOS 7 环境中搭建 mysql_exporter,打通从 MySQL 数据采集到 Prometheus 监控、告警的全链路,并实现跨局域网的远程监控。
1. CentOS 7 安装 mysql_exporter
在 CentOS 7 环境中,通过部署 mysql_exporter,可将关键性能指标实时暴露给 Prometheus。
下载对应的 linux 版本(以 v0.18.0 为例):
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.18.0/mysqld_exporter-0.18.0.linux-amd64.tar.gz
解压文件:
tar -zxvf mysqld_exporter-0.18.0.linux-amd64.tar.gz
重命名目录:
mv mysqld_exporter-0.18.0.linux-amd64/ mysqld_exporter
2. 启动 mysql_exporter
创建监控用户
在 MySQL 数据库中创建一个专门用于监控的用户,并赋予其足够的权限:
GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqld_exporter'@'localhost' IDENTIFIED BY '12345678';
GRANT SELECT ON performance_schema.* TO 'mysqld_exporter'@'localhost';
FLUSH PRIVILEGES;
配置文件
创建配置文件 localhost_db.cnf,输入用户名及密码:
[client]
user=exporter
password=12345678
配置 Systemd 服务
创建 mysqld_exporter.service 文件:
[Unit]
Description=exporter
=network.target
=simple
=prometheus
=/app/mysqld_exporter/mysqld_exporter --config.my-cnf= --web.listen-address=
=-failure
=multi-user.target


