【文档】部署 MySQL-Exporter
操作系统:Rocky Linux 8
实验环境:VMware® Workstation 17 Pro
实验要求:部署至 MySQL 服务器上
Prometheus 组件下载页面
流程
Tips01 | 下载组件
# 使用代理服务器 https://gh-proxy.net/ 下载
# 例如 Prometheus v3.5.0 linux-amd64 版本地址(见下方)
# https://github.com/prometheus/prometheus/releases/download/v3.5.0/prometheus-3.5.0.linux-amd64.tar.gz
# 代理服务器地址追加至下载地址前方。
[root@mysql opt]# wget \
https://gh-proxy.net/\
https://github.com/prometheus/mysqld_exporter/releases/download/v0.17.2/mysqld_exporter-0.17.2.linux-amd64.tar.gz
Tips02 | 准备 应用文件
# 解压
[root@mysql opt]# tar -xzf mysqld_exporter-1.9.1.linux-amd64.tar.gz
# 根据 Linux 文件系统层次规则
[root@mysql opt]# cp mysqld_exporter-1.9.1.linux-amd64 /usr/local/bin/mysql_exporter
Tips03 | 准备 专用用户
# 系统用户,不可登录
[root@mysql opt]# useradd -r -s /bin/false mysqld_exporter
[root@mysql opt]# chown mysqld_exporter:mysqld_exporter /usr/local/bin/mysql_exporter
Tips04 | 准备 服务文件
[root@mysql opt]# vim etc/systemd/system/mysql_exporter.service
[Unit]
Description=MySQLd Exporter
After=network.target[Service]
User=mysqld_exporter
Group=mysqld_exporter
Type=simple
Environment="DATA_SOURCE_NAME=mysqld_exporter:YourStrongPassword123!@unix(/tmp/mysql.sock)/"
ExecStart=/usr/local/bin/mysqld_exporter/mysqld_exporter \--config.my-cnf=/etc/.mysqld_exporter.cnf \--collect.global_status \--collect.info_schema.innodb_metrics \--collect.auto_increment.columns \--collect.info_schema.processlist \--collect.binlog_size \--collect.info_schema.tablestats \--collect.global_variables \--collect.info_schema.query_response_time \--collect.info_schema.userstats \--collect.info_schema.tables \--collect.perf_schema.tablelocks \--collect.perf_schema.file_events \--collect.perf_schema.eventswaits \--collect.perf_schema.indexiowaits \--collect.perf_schema.tableiowaits \--collect.slave_status \--web.listen-address=0.0.0.0:9104
Restart=on-failure[Install]
WantedBy=multi-user.target# 确保 mysqld 服务开启情况下执行以下
[root@mysql opt]# systemctl enable mysqld_exporter --now
访问 本机IP地址:9104
跳转至以下页面视为服务正常启动。
Tips05 | 注册 MySQL 服务器信息
# 前往 prometheus 服务器上路径修改配置文件 /etc/prometheus/prometheus.yml
[root@prometheus prometheus]# vim prometheus.yml
...
# 在 scrape_configs 中追加以下内容:- job_name: "mysql-servers-db" # 任务名称static_configs: # 服务发现配置- targets: # 监控目标(对应服务有对应的端口地址)- '192.168.88.110:9104' # mysql-exporter 数据页面地址- '192.168.88.120:9104'- '192.168.88.130:9104'labels:group: 'mysql-production'
若需要更详细的 scrape_config 配置,参考如下:
- 【文档】scrape_configs 参数笔记