【文档】部署 MySQL-Exporter

操作系统:Rocky Linux 8

实验环境:VMware® Workstation 17 Pro

实验要求:部署至 MySQL 服务器上


Prometheus 组件下载页面

流程


Tips01 | 下载组件

bash 复制代码
# 使用代理服务器 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 | 准备 应用文件

bash 复制代码
# 解压
[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 | 准备 专用用户

bash 复制代码
# 系统用户,不可登录
[root@mysql opt]# useradd -r -s /bin/false mysqld_exporter
[root@mysql opt]# chown mysqld_exporter:mysqld_exporter /usr/local/bin/mysql_exporter

Tips04 | 准备 服务文件

bash 复制代码
[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 服务器信息


bash 复制代码
# 前往 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 配置,参考如下: