1. Prometheus监控mysql
对mysql的版本要求:
- MySQL >= 5.6.
- MariaDB >= 10.3
1.1 测试环境准备
bind-address = 0.0.0.0
systemctl restart mariadb.service
LISTEN 0 80 0.0.0.0:3306 0.0.0.0:*
2. 创建数据库授权
在数据库中创建账号exporter,并授权只能从本地访问.不建议直接使用root账号监控
PS:这里不要把密码设置太多符号,mysqld-exporter会因为密码中的符号造成部分信息收不到.
MariaDB [(none)]> CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'Exporter123' WITH MAX_USER_CONNECTIONS 3;
MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
测试账号授权是否成功
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wework |
+--------------------+
3. 安装mysql-exporter
3.1 克隆下载代码
3.2 配置密码文件
为了让exporter免密连接数据库,需要配置个密码文件
[client]
user=exporter
password=Exporter123
确认用户名密码没有错误
+--------------------+
| current_user() |
+--------------------+
| exporter@localhost |
+--------------------+
3.3 编辑mysql-exporter Service文件
[Unit]
Description=Prometheus mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/bin/mysqld_exporter --config.my-cnf=/root/.my.cnf
[Install]
WantedBy=multi-user.target
启动服务
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld_exporter.service → /etc/systemd/system/mysqld_exporter.service.
查看9104监听是否正常启动
LISTEN 0 4096 *:9104 *:*
此时从页面访问可以获取到mysql相关数据
这里要注意看是否获取到了mysql_global开头的这些数据,如果没有可能是密码错误或者密码中的符号造成的
3.4 Prometheus监控追加
- job_name: "mysql-exporter-9104"
metrics_path: /metrics
static_configs:
- targets: ["192.168.31.126:9104"]
3.5 grafana 追加
13106
11323
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)