首页 > 数据库 >【Prometheus+Grafana系列】监控MySQL服务

【Prometheus+Grafana系列】监控MySQL服务

时间:2022-08-28 00:22:54浏览次数:54  
标签:exporter 服务 prometheus Grafana Prometheus 添加 mysqld 监控 MySQL

前言

前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务。当时实现了监控服务器指标数据,是通过 node_exporter。Prometheus 还可用来监控很多服务,比如常见的 MySQL。本文就介绍如何通过 mysqld_exporter 来监控 MySQL 指标。

下载安装包

cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar xvf mysqld_exporter-0.14.0.linux-amd64.tar.gz
mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter
mv /opt/mysqld_exporter /usr/local/

创建监控账号并授权

在需要监控的mysql上创建账号并授权。

# 创建用户
CREATE USER 'prometheus'@'%' IDENTIFIED BY 'prometheus';
# 分配权限
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'%';

添加数据库监控账号配置

vim /usr/local/mysqld_exporter/.my.cnf
添加如下内容

[client]
user=prometheus
password=prometheus
port=3306

启动exporter客户端

/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf

先手动启动exporter看一下日志,若有错误根据输出调整即可。手动运行没问题后,则进行下一步将其添加到系统服务中。

添加到系统服务

vim /etc/systemd/system/mysqld_exporter.service
添加如下内容

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target

加载并重启服务

# 加载配置
systemctl daemon-reload
# 启动服务
systemctl restart mysqld_exporter.service
# 查看服务状态
systemctl status mysqld_exporter.service
# 配置开机启动
systemctl enable mysqld_exporter.service

查看收集数据

访问exporter服务地址,查看数据收集情况。

curl http://192.168.2.192:9104/metrics

修改 prometheus 配置文件,添加新节点

修改 prometheus 下的配置,prometheus.yml,添加如下内容。

scrape_configs:  
  # 添加job
  - job_name: 'mysql-192'
    static_configs:
     # 配置监控端,即上面我们启动的 mysqld_exporter 服务
     - targets: ['192.168.2.192:9104']
       labels:
          instance: mysql

重启 prometheus 服务

上一步修改了 prometheus.yml,需要重启下 prometheus 服务。

cd /var/workspace/docker-prometheus
docker-compose stop prometheus
docker-compose up -d --build prometheus

查看 prometheus 中服务添加情况

查看 targets 是否添加成功
image.png

查看 mysql 监控信息

mysql_global_status_aborted_clients

image.png

在 grafana 中添加 data sources

image.png

image.png

image.png
添加 prometheus 服务地址,此处由于服务是基于 docker-compose 构建的,没有填写ip,直接填写服务名即可。

在 grafana 中导入 mysql 监控

image.png
输入官方模版 id,7362,点击 load。然后按照下图选择确认即可。
image.png

监控展示

上一步导入成功后,会自动跳转到监控面板页面,如下图。默认的格式已经非常丰富可以直接使用了,也可以根据自己需求调整位置和配置。
image.png

标签:exporter,服务,prometheus,Grafana,Prometheus,添加,mysqld,监控,MySQL
From: https://www.cnblogs.com/immaxfang/p/16631839.html

相关文章

  • linux系统mysql数据库目录迁移
    1、关闭mysqlsudo/etc/init.d/mysqlstop或systemctlstopmysql 2、移动数据存储位置mv/var/lib/mysql/*/media/mysqldata3、修改my.cnf配置文件......
  • Mysql 大表在线DDL修改表全文索引解决方式
    1.添加主键索引ALTERTABLEtable_nameADDPRIMARYKEY(column),Algorithm=Inplace;2.添加唯一索引ALTERTABLEtable_nameADDUNIQUE(column),Algorithm=Inplac......
  • MySQL InnoDB索引原理
     数据库与I/O原理数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数据......
  • MySQL源码分析之SQL函数执行
    1.MySQL中执行一条SQL的总体流程2.SQL函数执行过程1.MySQL中执行一条SQL的总体流程一条包含函数的SQL语句,在mysql中会经过:客户端发送,服务器连接,语法解析,语句执行的......
  • 【MySQL】MySQL8确认哪些参数在使用以及来源
    在MySQL8中,参数可能来自不同的地方,确认有效的参数来自于哪里:SELECT variable_name, variable_sourceASsource, variable_path, set_time, set_userASUSER, set......
  • 【MySQL】MySQL8持久化系统变量
    set命令可以用于将某些全局系统变量持久化到数据目录中的mysqld-auto.cnf文件中,以影响后续启动的服务器操作。resetpersist从mysqld-auto.cnf中删除持久设置。在运行时持......
  • mysql在Linux与widows安装
    一、mysql的安装之前搭建linux下项目的发布,最后遗留的问题时数据库的迁移,如何从windows上迁移到linux上?这里首先进行mysql数据库的安装1、下载mysql安装包在这里下载的......
  • koa连接mysql数据库
    app.js中的代码:constKoa=require('koa2');constapp=newKoa();constport=5050;constRouter=require('koa-router');constrouter=newRouter();cons......
  • Mysql 常用命令
    大纲命令执行事务STARTTRANSACTION;//开启事务UPDATE`Users`SETAccountId=0WHEREAccountIdisnullCOMMIT;//提交ROLLBACK;//回滚常见问题Q1.允......
  • mysql逻辑结构,存储结构
    宏观:库,存储在操作系统目录中表:  微观:段区页一个表就是一个段,mysql分配空间时至少分配一个区,每个区默认时1M(64个page页),mysql最小的IO单元就是PAGE(16KB) ......