一. 下载 mysqld_exporter 放到 Mysql 服务器(被监控端)
tar -zxvf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/bin/
二. 为 mysqld_exporter 在 Mysql 数据库新建一个用户,并赋予相应权限
CREATE USER 'exporter'@'%' IDENTIFIED BY 'exp1qaz' ;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO ' exporter '@'%';
三. 配置 mysql_exporter 启动时连接 mysql 的用户名和密码
export DATA_SOURCE_NAME=' exporter: exp1qaz @(hostname:port)/'
hostname 为主机 ip,port 为需要监控 mysql 端口
四. 配置.my.cnf 文件
cd /usr/local/bin/
cat << EOF > .my.cnf
[client]
user=exporter
password= exp1qaz
EOF
五. 配置文件 prometheus.yml
-
job_name: mysql
static_configs:
-
targets: ['hostname:port']
labels:
instance: db1
# hostname 为 mysqld_exporter 所在服务器的 IP;port 为 mysqld_exporter 暴露的端口
热加载下:
curl -X POST http:// hostname:port /-/reload
六. 启动 mysqld_exporter
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的开机启动配置
- 下载安装包到/opt下
- 需要用root账号登录进入到/usr/lib/systemd/system目录下
创建mysql_exporter.service启动文件
[Unit]
Description=mysqld_exporter
After=network.target
[Service]
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
Restart=on-failure
[Install]
WantedBy=multi-user.target
.my.cnf 配置mysql的用户名密码
[client]
user=exporter
password=8Wua5uNbIY9E
配置完成以后用root账号设置成开机启动 systemctl enable mysql_exporter.service
# 重新加载服务文件(当修改 service 文件的时候需要操作)
$ systemctl daemon-reload
# 设置开机启动
$ systemctl enable mysql_exporter.service
# 启动
$ systemctl start mysql_exporter.service
# 查看状态
$ systemctl status mysql_exporter.service
# 热重启
$ systemctl reload mysql_exporter.service
报警规则 所有时间取值1s
mysql挂了
- 当前连接数大于1000
- 当node挂了,即刻报警,报出严重告警其他告警被抑制。
- 同样重复报警为2m