Prometheus + Grafana 监控系统搭建使用指南-mysqld_exporter 安装与配置

使用mysqld_exporter 实现Prometheus 监控Mysql

系列文章目录

  1. Prometheus 的安装部署
  2. Grafana的安装部署
  3. Linux服务器接入Prometheus监控-Node Exporter 安装指南
  4. Prometheus 接入SpringBoot微服务监控
  5. Mysql 接入 Prometheus
  6. RocketMQ 接入Prometheus 监控
  7. ElasticSearch 接入 Prometheus
  8. Nacos 接入 Prometheus 监控
  9. Redis 接入 Prometheus 监控系统
  10. Prometheus + Grafana 监控系统-告警规则配置
  11. Prometheus + Grafana 监控系统-PrometheusAlert安装与配置指南

在这里插入图片描述

  1. 下载地址: https://prometheus.io/download/#mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/vX.Y.Z/mysqld_exporter-X.Y.Z.linux-amd64.tar.gz
# 示例: 
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz	

# 解压安装
tar -xzvf mysqld_exporter-*.linux-amd64.tar.gz

  • mysqld_exporter-0.15.1.linux-amd64.tar.gz 支持的 MySQL 版本: MySQL >= 5.6, 除了 MySQL,mysqld_exporter 也支持 MariaDB,版本 >= 10.3。

  • 将解压后的二进制文件移动到系统路径下(可选):

    sudo mv mysqld_exporter-X.Y.Z.linux-amd64/mysqld_exporter /usr/local/bin/mysqld_exporter
    
  1. 配置 mysqld_exporter

    • 在 MySQL 服务器上创建一个用于 mysqld_exporter 的用户,并赋予相应的权限。
    CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'your_password';  
    GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';  
    FLUSH PRIVILEGES;
    
    • 创建一个配置文件(如 my.cnf),包含 MySQL 服务器的连接信息:

      [client]  
      user=mysqld_exporter  
      password=your_password  
      host=localhost  
      port=3306
      # 可选
      # socket=/var/lib/mysql/mysql.sock
      
      • Tips: 也支持配置抓去多个 mysql 实例
    • 此时就可以启动了: nohup mysqld_exporter --config.my-cnf=.my.cnf &

      • mysqld_exporter 默认监听在 9104 端口上。
    • 注意: 也可以注册成一个服务

      vim /etc/systemd/system/mysqld_exporter.service
      # 内容如下
      
      [Unit]  
      Description=MySQLd Exporter  
      After=network.target  
        
      [Service]  
      User=your_username  # 替换为你的用户名或运行mysqld_exporter的用户  
      Group=your_group    # 替换为你的组名或运行mysqld_exporter的组  
      ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf=/path/to/your/.my.cnf  
      Restart=always  
        
      [Install]  
      WantedBy=multi-user.target
      
      • 启动与管理设置自启动
      sudo systemctl start mysqld_exporter
      sudo systemctl enable mysqld_exporter  
      sudo systemctl status mysqld_exporter
      
      • Tips: 更多可选与建议设置
      [Service]
      ExecStart=/data/mysqld_exporter/mysqld_exporter --config.my-cnf /data/mysqld_exporter/.my.cnf --web.listen-address=0.0.0.0:9104 \
        --collect.info_schema.innodb_cmp \
        --collect.info_schema.innodb_cmpmem \
        --collect.info_schema.query_response_time \
        --collect.perf_schema.tableiowaits \
        --collect.perf_schema.indexiowaits \
        --collect.perf_schema.tablelocks \
        --collect.perf_schema.eventsstatements \
        --collect.perf_schema.eventswaits \
        --collect.perf_schema.file_events \
        --collect.perf_schema.file_instances \
        --collect.binlog_size \
        --collect.info_schema.tables \
        --collect.info_schema.tablestats \
        --collect.info_schema.userstats \
        --collect.auto_increment.columns
      
    • 注意:

      • 防火墙设置,如果服务器上有防火墙,确保它允许对mysqld_exporter监听的端口(默认为9104)的访问。
      • 在生产环境中,建议使用非root用户运行mysqld_exporter,以提高安全性。
      • 如果发现用户名与密码都配置正确,但是报错: mysqld_exporter: ts=2024-07-01T06:41:17.912Z caller=exporter.go:152 level=error msg=“Error pinging mysqld” err=“dial tcp [::1]:3309: connect: connection refused”
        • 解决方案: 增加 mysqld_exporter 的 socket 配置。 例如: socket=/var/lib/mysql/mysql.sock
  2. 集成 mysqld_exporter 与 Prometheus

    • prometheus.yml

      scrape_configs:  
        - job_name: 'mysql'  
          static_configs:  
          - targets: ['abc.mysql.com':9104']
      
    • 让配置生效

      - sudo kill -HUP $(pidof prometheus)
      
  3. Grafana 添加 Mysql 相关的仪表盘

    • 官方汉化版: https://grafana.com/grafana/dashboards/17320-1-mysqld-exporter-dashboard/
      在这里插入图片描述
  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值