一. 下载 mysqld_exporter 放到 Mysql 服务器(被监控端)

  1. tar -zxvf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/bin/

二. 为 mysqld_exporter 在 Mysql 数据库新建一个用户,并赋予相应权限

  1. CREATE USER 'exporter'@'%' IDENTIFIED BY 'exp1qaz' ;
  2. GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO ' exporter '@'%';

三. 配置 mysql_exporter 启动时连接 mysql 的用户名和密码

  1. export DATA_SOURCE_NAME=' exporter: exp1qaz @(hostname:port)/'

hostname 为主机 ip,port 为需要监控 mysql 端口

四. 配置.my.cnf 文件

  1. cd /usr/local/bin/
  2. cat << EOF > .my.cnf
  3. [client]
  4. user=exporter
  5. password= exp1qaz
  6. EOF

五. 配置文件 prometheus.yml

  1. -
  2. job_name: mysql
  3. static_configs:
  4. -
  5. targets: ['hostname:port']
  6. labels:
  7. instance: db1
  8. # hostname 为 mysqld_exporter 所在服务器的 IP;port 为 mysqld_exporter 暴露的端口

热加载下:

  1. curl -X POST http:// hostname:port /-/reload

六. 启动 mysqld_exporter

  1. nohup /usr/local/bin/mysqld_exporter --config.my-cnf="/usr/local/bin/.my.cnf" &

七. 编写开机启动脚本(/usr/lib/systemd/system/mysqld-exporter.service)

mysqld_exporter-0.11.0.linux-amd64.tar.gz

开机服务项

关于mysql-exporter的开机启动配置

  1. 下载安装包到/opt下
  2. 需要用root账号登录进入到/usr/lib/systemd/system目录下
  3. 创建mysql_exporter.service启动文件

    1. [Unit]
    2. Description=mysqld_exporter
    3. After=network.target
    4. [Service]
    5. ExecStart=/opt/mysqld_exporter-0.12.1.linux-amd64/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter-0.12.1.linux-amd64/.my.cnf --web.listen-address=:9114
    6. Restart=on-failure
    7. [Install]
    8. WantedBy=multi-user.target
  4. .my.cnf 配置mysql的用户名密码

    1. [client]
    2. user=exporter
    3. password=8Wua5uNbIY9E
  5. 配置完成以后用root账号设置成开机启动 systemctl enable mysql_exporter.service

    1. # 重新加载服务文件(当修改 service 文件的时候需要操作)
    2. $ systemctl daemon-reload
    3. # 设置开机启动
    4. $ systemctl enable mysql_exporter.service
    5. # 启动
    6. $ systemctl start mysql_exporter.service
    7. # 查看状态
    8. $ systemctl status mysql_exporter.service
    9. # 热重启
    10. $ systemctl reload mysql_exporter.service

    报警规则 所有时间取值1s

  6. mysql挂了

  7. 当前连接数大于1000

  8. 当node挂了,即刻报警,报出严重告警其他告警被抑制。
  9. 同样重复报警为2m