当前位置: 首页 > news >正文

Linux安装mysql_exporter

mysqld_exporter 是一个用于监控 MySQL 数据库的 Prometheus exporter。可以从 MySQL 数据库的 metrics_schema 收集指标,相关指标主要包括:

  • MySQL 服务器指标:例如 uptime、version 等
  • 数据库指标:例如 schema_name、table_rows 等
  • 表指标:例如 table_name、engine、rows 等
  • 用户指标:例如 user、max_connections 等
  • InnoDB 指标:例如 innodb_buffer_pool_pages_dirty 等
  • 网络指标:例如 bytes_sent 等 

0、前提:

已安装MySQL

进入mysql安装路径 

cd /usr/local/mysql

1)查看是否启动

mysql.server status

没有的话先启动

# 启动MySQL服务
sudo mysql.server start

2)登录

mysql -u root -p

先查看是否以前已创建mysql_exporter用户

查看用户信息:

SELECT USER FROM mysql.USER;

如果已有的话,下一步骤3)则不需要

 3)创建exporter新用户  

创建新用户  

CREATE USER 'mysql_exporter'@'%' IDENTIFIED BY 'password';

赋予特定数据库的所有权限 

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'%';

刷新权限使变更生效

FLUSH PRIVILEGES;

查看用户信息:

SELECT USER FROM mysql.USER;

quit;退出 

一、Linux 下载设置mysqld_exporter 

 1、下载

法一.官网下载 (推荐)

Download | Prometheus

上传到Linux系统

 法二、线上下载 

访问GitHub上的MySQL exporter项目页面(如:https://github.com/prometheus/mysqld_exporter/releases),找到适合您操作系统和架构的最新稳定版本的二进制文件。

例如,对于Linux amd64系统:

    wget https://github.com/prometheus/mysqld_exporter/releases/download/v<version>/mysqld_exporter-<version>.linux-amd64.tar.gz

    2.解压

    tar -xvf mysqld_exporter-0.17.2.linux-amd64.tar.gz

    3.移动位置(可选)

    如果有需要,将解压后的可执行文件移动到系统的合适路径,例如 /usr/local/bin

    sudo mv mysqld_exporter-0.17.2.linux-amd64 /usr/local/

    4.创建配置文件.cnf

    创建 

    touch mysql_exporter.cnf

    编辑配置文件,填写你的MySQL凭证

    vim mysql_exporter.cnf
    [client]
    user=mysql_exporter
    password=123456
    port=3306

    5.运行mysqld_exporter

    法一:直接运行(推荐--已验证) 


    如果不在路径下,先进入下载路径: 

    cd /usr/local/mysqld_exporter-0.17.2.linux-amd64
    ./mysqld_exporter --web.listen-address=:9104 --config.my-cnf=/usr/local/mysqld_exporter-0.17.2.linux-amd64/mysql_exporter.cnf &
    
    ss -lnpt|grep 9104

    法二:将mysqld_exporter做成服务(没有验证成功)

    vim /usr/lib/systemd/system/mysqld_exporter.service
    [Unit]
    Description=mysqld_exporter
    After=network.target[Service]
    ExecStart=/usr/local/mysqld_exporter-0.17.2.linux-amd64/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter-0.17.2.linux-amd64/.mysql_exporter.cnf[Install]
    WantedBy=multi-user.target

    systemctl daemon-reload
    systemctl start mysqld_exporter
    systemctl enable mysqld_exporter
    ss -lnpt|grep 9104

    systemctl restart mysqld_exporter

    法三:运行 (没有验证)

     运行MySQL exporter
    可以直接运行mysqld_exporter,通过命令行参数提供数据库连接信息:

    nohup ./mysqld_exporter \--collect.info_schema.processlist \--collect.global_status \--collect.global_variables \--collect.slave_status \--collect.engine_innodb_status \--mysql.user=exporter \--mysql.password=password \--web.listen-address=:9104 &

    这里的示例启用了多个收集器并指定了监听端口为9104,以及MySQL连接的用户名和密码

    二、设置Prometheus.yml 

    普罗米修斯Prometheus监控安装(mac)-CSDN博客

     在 mac的Prometheus.yml中添加mysqld_exporter的配置 

    • Prometheus.yml配置路径

    路径

    /usr/local/etc/prometheus.yml

    - job_name: "mysql"static_configs:- targets: ["mysql的ip地址:9104"]  

    mac端重新加载:

    prometheus --config.file=/usr/local/etc/prometheus.yml

    端口9104可以根据你的需求更改,只要它不与系统上其他服务的端口冲突。

    安装完成后,你可以通过访问http://localhost:9104/metrics来验证mysqld_exporter是否正常工作,它应该输出Prometheus格式的指标数据

     

    Prometheus验证配置 

    通过Prometheus查看配置是否成功: 

    http://localhost:9090/targets

     

    注意事项

    • 确保mysqld_exporter使用的MySQL连接参数与实际环境匹配。
    • 遵循最小权限原则,仅授予Exporter所需的最低权限。
    • 监控生产环境时,请考虑安全性因素,比如使用SSL加密连接等。

    相关文章:

  • UE虚幻4虚幻5动画蓝图调试,触发FellOutOfWorld事件和打印输出,继续DeepSeek输出
  • C++学习之游戏服务器开发⑩ZINX的TCP通道实现
  • 机制的作用
  • Origin将双Y轴柱状图升级为双向分组柱状图
  • 在 Ubuntu 系统上安装 PostgreSQL
  • Arduino示例代码讲解:Project 08 - Digital Hourglass 数字沙漏
  • javascript day4
  • C语言之图像文件的属性
  • Java(自用查看版)
  • Towards Transferable Targeted 3D Adversarial Attack in the Physical World--阅读笔记
  • 头歌实训之连接查询
  • 【网络编程】从零开始彻底了解网络编程(二)
  • 【2025计算机网络-面试常问】http和https区别是什么,http的内容有哪些,https用的是对称加密还是非对称加密,流程是怎么样的
  • wordpress独立站的产品详情页添加WhatsApp链接按钮
  • 深入探索 Unix 与 Linux:历史、内核及发行版
  • 02_解决Class com.sun.tools.javac.tree.JCTree
  • 【失败总结】Win10系统安装docker
  • FTP客户端实现(文件传输)
  • DreamDiffusion的mae_for_eeg.py网络架构
  • 基于maven-jar-plugin打造一款自动识别主类的maven打包插件
  • 文理医工“四轮驱动”,复旦六大新工科创新学院核心团队均亮相
  • 在没有穹顶的剧院,和春天的音乐会来一场约会
  • 两日内连续施压,特朗普再次喊话美联储降息
  • 张巍|另眼看古典学⑩:再创作让古希腊神话重获生机——重述厄勒克特拉
  • 伊守亮回国加盟川大,长期致力于化工能源环境前沿领域研究
  • “80后”张汉强已任浙江丽水市委常委、市纪委书记