当前位置:首页 > 行业动态 > 正文

如何将MySQL Exporter接入到MySQL ER图中?

MySQL Exporter是一个用于监控MySQL数据库性能的工具,它通过收集和导出数据库的各种指标来帮助管理员了解数据库的运行状况。要接入 MySQL Exporter,首先需要安装Prometheus和Node Exporter,然后在MySQL上配置相应的权限和用户,最后在Prometheus配置文件中添加MySQL Exporter的job配置即可。

MySQL Exporter接入Prometheus的详细步骤如下:

如何将MySQL Exporter接入到MySQL ER图中?  第1张

前提条件:

1、安装MySQL:确保你已经在系统上安装了MySQL,并且MySQL服务正在运行。

2、安装MySQL客户端工具:MySQL Exporter需要MySQL客户端工具来连接MySQL数据库。

3、创建专用用户:为了安全和性能考虑,创建一个只读用户用于监控。

如何将MySQL Exporter接入到MySQL ER图中?  第2张

4、下载并安装mysqld_exporter:从GitHub下载最新版本的mysqld_exporter。

5、配置mysqld_exporter:编辑配置文件以包含MySQL的连接信息。

6、启动mysqld_exporter:通过命令行或systemd服务启动mysqld_exporter。

7、配置Prometheus:在Prometheus的配置文件中添加mysqld_exporter的目标,以便Prometheus可以抓取其暴露的指标。

如何将MySQL Exporter接入到MySQL ER图中?  第3张

8、验证配置:检查Prometheus是否能够成功抓取到mysqld_exporter暴露的指标。

操作步骤:

一、安装MySQL客户端工具

sudo yum install mysql -y

二、创建MySQL用户

登录MySQL并创建用户:

CREATE USER 'prometheus'@'%' IDENTIFIED BY 'MySecureP@ssw0rd123';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

三、下载并安装mysqld_exporter

cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz
tar -xvzf mysqld_exporter-0.15.0.linux-amd64.tar.gz

四、配置mysqld_exporter

编辑/root/.my.cnf文件,添加以下内容:

[client]
user=prometheus
password=MySecureP@ssw0rd123

五、启动mysqld_exporter

可以通过命令行直接启动,也可以配置为systemd服务:

nohup ./mysqld_exporter --config.my-cnf=/root/.my.cnf &>

或者创建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

然后启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl start mysqld_exporter
sudo systemctl enable mysqld_exporter

六、配置Prometheus

编辑Prometheus配置文件prometheus.yml,添加以下内容:

scrape_configs:
  job_name: 'mysql'
    static_configs:
      targets: ['localhost:9104']

七、验证配置

重启Prometheus并检查指标:

sudo systemctl restart prometheus
curl http://localhost:9090/metrics | grep mysqld_exporter

如果看到一系列指标数据,说明配置成功并且mysqld_exporter正在运行。

附录:MySQL Exporter采集参数说明(部分)

参数 说明
auto_increment.columns 从information_schema采集auto_increment列和最大值
binlog_size 采集所有已注册的binlog文件的当前大小
engine_innodb_status 从SHOW ENGINE INNODB STATUS采集
engine_tokudb_status 从SHOW ENGINE TOKUDB STATUS采集
global_status 从SHOW GLOBAL STATUS采集,默认为true
global_variables 从SHOW GLOBAL VARIABLES采集,默认为true
info_schema.clientstats 如果使用userstat=1运行,则设置为true以采集客户端统计信息
info_schema.innodb_metrics 从information_schema.innodb_metrics采集指标
info_schema.innodb_tablespaces 从information_schema.innodb_sys_tablespaces采集指标
info_schema.innodb_cmp 从information_schema.innodb_cmp采集InnoDB压缩表指标,默认为true
info_schema.innodb_cmpmem 从information_schema.innodb_cmpmem采集InnoDB缓冲池压缩指标(默认为true)
info_schema.processlist 从information_schema.processlist采集线程状态计数
info_schema.query_response_time 如果query_response_time_stats为ON,则采集查询响应时间分布(默认为true)
info_schema.tables 从information_schema.tables采集指标
info_schema.tables.databases 用于收集表统计信息的数据库列表,逗号分隔,默认是’*’表示所有数据库
info_schema.tablestats 如果使用userstat=1运行,则设置为true以采集表统计信息
info_schema.schemastats 如果使用userstat=1运行,则设置为true以采集架构统计信息
info_schema.userstats 如果使用userstat=1运行,则设置为true以采集用户统计信息
perf_schema.eventsstatements 从performance_schema.events_statements_summary_by_digest采集指标
perf_schema.eventsstatements.digest_text_limit 标准化语句文本的最大长度,默认值为120
perf_schema.eventsstatements.limit 按响应时间限制事件语句摘要的数量,默认值为250
perf_schema.eventsstatements.timelimit 限制’last_seen’事件语句的最大时间,单位为秒,默认值为86400
perf_schema.eventsstatementssum 从performance_schema.events_statements_summary_by_digest汇总采集指标
perf_schema.eventswaits 从performance_schema.events_waits_summary_global_by_event_name采集指标
perf_schema.file_events 从performance_schema.file_summary采集指标

常见问题FAQs:

Q1:如何修改mysqld_exporter的监听地址?

A1:可以通过命令行参数--web.listen-address来指定监听地址,./mysqld_exporter --web.listen-address="0.0.0.0:9104",也可以在配置文件中设置web.listen-address参数。

Q2:如何更改mysqld_exporter的日志级别?

A2:可以通过命令行参数--log.level来设置日志级别,--log.level=debug,可选的日志级别包括panic,fatal,error,warn,info,debug

小编有话说:本文详细介绍了如何将MySQL Exporter接入Prometheus,并通过多个步骤和截图展示了整个过程,希望这篇文章能够帮助你顺利实现MySQL数据库的监控,如果你有任何疑问或建议,欢迎留言讨论。

0