【云原生 | Kubernetes 系列】---Prometheus监控mysql

本文介绍了如何使用Prometheus监控MySQL(最低版本5.6)和MariaDB(最低版本10.3)。首先,确保数据库服务正常并配置允许远程访问。接着,创建名为exporter的数据库用户并授权,注意避免密码中使用特殊字符。然后,下载并安装mysql-exporter,配置免密连接的密码文件,并启动服务。最后,在Prometheus中追加配置监控目标,并在Grafana中添加面板以展示监控数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Prometheus监控mysql

对mysql的版本要求:

  • MySQL >= 5.6.
  • MariaDB >= 10.3

1.1 测试环境准备

# apt install mariadb-server -y
# vi /etc/mysql/mariadb.conf.d/50-server.cnf
	## 修改28行
	bind-address            = 0.0.0.0
systemctl restart mariadb.service 
# ss -tnl|grep 3306
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';

测试账号授权是否成功

# mysql -uexporter -pExporter123 -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wework             |
+--------------------+

3. 安装mysql-exporter

3.1 克隆下载代码

# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
# tar xf mysqld_exporter-0.14.0.linux-amd64.tar.gz
# ln -sf /apps/mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/bin/

3.2 配置密码文件

为了让exporter免密连接数据库,需要配置个密码文件

# cat /root/.my.cnf 
[client]
user=exporter
password=Exporter123

确认用户名密码没有错误

# mysql -e "select current_user();"
+--------------------+
| current_user()     |
+--------------------+
| exporter@localhost |
+--------------------+

3.3 编辑mysql-exporter Service文件

# cat /etc/systemd/system/mysqld_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

启动服务

# systemctl enable --now  mysqld_exporter.service 
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld_exporter.service → /etc/systemd/system/mysqld_exporter.service.

查看9104监听是否正常启动

# ss -ntl|grep 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

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上海运维Q先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值