文章目录
架构
Prometheus通过安装在远程机器上的exporter来收集监控数据,后面我们将使用到mysqld_exporter收集系统数据。
Grafana和Prometheus的安装不再赘述,可参考网上教程或本专栏内的其他文章。Grafana+Prometheus系统监控之Redis
直接讲解mysqld_exporter部分。
一、grafana+prometheus+mysqld_exporter监控mysql数据库性能
1.1 mysqld_exporter 下载安装
进入官网mysqld_exporter进行下载。下载完成上传到服务器
也可以直接下载
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
#解压文件
tar -xzvf mysqld_exporter-0.13.0.linux-amd64.tar.gz
#将文件目录名改为mysqld_exporter
mv mysqld_exporter-0.13.0.linux-amd64 mysqld_exporter
1.2 创建账户
在正式开始配置前你需要创建一个专门用于监控的mysql账号
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'expoter12345' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
or
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost' IDENTIFIED BY 'expoter12345' WITH MAX_USER_CONNECTIONS 3;
为 mysql_exporter 创建一个指定账户用来连接数据库。当然,也可以直接用 现有的数据库有权限的账户,不过建议创建一个专有账户。本文直接用现有的账户。
1.3 修改配置
配置数据库连接认证信息并启动 Exporter。首先在解压出来的mysqld_exporter目录下创建配置文件.my.cnf:
vim .my.cnf
填入mysql的连接信息:
[client]
host=localhost
port=3306
user=xxxx
password=xxxx
1.4 启动
nohup ./mysqld_exporter --config.my-cnf=".my.cnf" & > ./mysqld_exporter.log 2>&1 &
用浏览器打开服务器IP:9104
二、修改prometheus配置
vim prometheus.yml
新增几个job,名字就叫‘mysql’
# 添加作业并命名
- job_name: 'mysql'
# 静态添加node
static_configs:
# 指定监控端
- targets: ['数据库服务器IP:9104']
配好后保存重启Prometheus。Prometheus页面点击Status->Targets,如果发现mysql的State为Up 状态,则说明已经配置好了。如果没有配置好,则可以注意一下是否mysql开启了远程访问。
三 、grafana配置监控
3.1 配置数据源(Data sources)
点击 Add data source:
选择数据源为 Prometheus,点击 Select:
在 “Settings” Tab下,填写 Name 和 URL,URL 为 Prometheus 的服务地址:
填写完毕后,点击 Save & test:
随后,再点击上边的 “Dashboards” Tab,把 Prometheus Stats、Prometheus 2.0 Stats、Grafana metrics 都 import 进来:
至此,数据源就已经配置好了。
3.2 导入模板
点击+号,选择Import:
在Import via grafana.com文本框填入一个mysql监控的Dashboard模板ID,比如:7362,点击Load:
输入自定义的 Dashboad 名称,选择 VictoriaMetrics 下拉框为Prometheus,然后点击 Import,这样就完成了 Dashboard 的配置:
Dashboard的页面展示如下:
这里推荐一款中文版的模板,ID:17320