• docker安装mysql exporter并使用grafana+prometheus监控mysql


    在 MySQL 上创建监控用户

    1、进入mysql

    mysql -u用户名 -p密码
    
    • 1

    2、创建用户并赋权

    create user 'exporter'@'%' identified by '123456' with MAX_USER_CONNECTIONS 3 ;
    grant process,replication client,select on *.* to 'exporter'@'%';
    
    • 1
    • 2

    若出现报错

    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    
    • 1

    先执行命令

    flush privileges
    
    • 1

    方式一:docker部署myql exporter

    docker run -d -p 9104:9104  -e DATA_SOURCE_NAME="exporter:123456@(192.168.12.11:3306)/" --name mysqld_exporter prom/mysqld-exporter
    
    
    • 1
    • 2

    方式二:以linux服务部署

    下载文件

    cd /usr/local/
    wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.0/mysqld_exporter-0.12.0.linux-amd64.tar.gz
    tar xzf mysqld_exporter-0.12.1.linux-amd64.tar.gz
    mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter
    
    • 1
    • 2
    • 3
    • 4

    新建组和用户

    赋权

    chown -R prometheus:prometheus /usr/local/mysqld_exporter/mysqld_exporter
    chmod 755 /usr/local/mysqld_exporter/mysqld_exporter
    
    • 1
    • 2

    配置

    vim /usr/local/mysqld_exporter/.my.cnf
    [client]
    host=127.0.0.1
    port=3306
    user=exporter
    password=123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    vim /usr/lib/systemd/system/mysqld_exporter.service
    [Unit]
    Description=mysqld_exporter
    Documentation=https://prometheus.io/
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --web.listen-address=0.0.0.0:9104 --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf \
    --log.level=error \
    --collect.info_schema.processlist \
    --collect.info_schema.innodb_metrics \
    --collect.info_schema.innodb_tablespaces \
    --collect.info_schema.innodb_cmp \
    --collect.info_schema.innodb_cmpmem
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    启动

    chown -R prometheus:prometheus /usr/lib/systemd/system/mysqld_exporter.service
    chmod 644 /usr/lib/systemd/system/mysqld_exporter.service
    systemctl daemon-reload
    systemctl enable mysqld_exporter.service
    systemctl start mysqld_exporter.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看启动日志

    journalctl -u mysqld_exporter.service
    
    • 1

    prometheus中添加mysql exporter

    prometheus和grafana部署详见https://blog.csdn.net/u010924720/article/details/125915287

    - job_name: mysql-11.12
        static_configs:
          - targets: ['192.168.12.11:9104']
            labels:
              instance: mysql-11.12
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看启动命令

    history | grep mysqld_exporter
    
    • 1

    使用grafana监控

    注意:若监控显示no data,重启一下数据库即可
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Chrome实现自动化测试:录制回放网页动作
    【校招VIP】前端专业课考点之可靠传输协议
    pytorch Tensor
    Ae 效果:CC Page Turn
    代码随想录二刷day48
    java实现边查边导出功能
    JVM | 命令行诊断与调优 jhsdb jmap jstat jps
    你还在找淘宝商品信息查询的接口吗?
    【Redis7】--3.Redis持久化
    C++ 模板同时使用默认参数和偏特化
  • 原文地址:https://blog.csdn.net/u010924720/article/details/127647834