当前位置:   article > 正文

promethus监控mysql指标_基于prometheus+grafana体系实时监控mysql数据库,值得收藏

prometheus中mysql sorts

概述

Prometheus 服务本地已经启动了,接下来,需要安装并运行 Exporter,它的主要作用是持续输出监控的组件信息并格式化,同时提供 Http 接口供 Prometheus 服务来抓取。Exporter 也是通过 GO 语言编写的,Prometheus GitHub 已经为我们提供了很多实用的 Exporter,直接拿来使用即可。

前面已经分享了编译安装和docker安装prometheus的两种方式,今天主要介绍下怎么用prometheus来监控mysql数据库。

一、安装go语言环境

由于Prometheus 是用golang开发的,所以首先安装一个go环境,Go语言是跨平台,支持Windows、Linux、Mac OS X等系统,还提供有源码,可编译安装。

下载地址:https://studygolang.com/dl

1、解压

# tar -xvf go1.13.linux-amd64.tar.gz -C /usr/local/

ed6da1b0ca5ad6a979b4ddddf77cf885.png2、配置环境变量

echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile

source /etc/profile

0eb7771ec829dd1c97851a47e3af0d20.png3、测试

验证一下是否成功,用go version 来验证

# go version

b270aadf6642e6d20cc7866dc22b4130.png

二、安装mysqld_exporter

1、下载node_exporter

官网地址:https://prometheus.io/download/

下载地址:https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz

f7ef336766011fcf1258bd4354bad49e.png

ceb2ea6768c878df3a04ea43ef296a8c.png2、上传解压

上传到被监控的主机并解压

tar -xvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/

c3af60624df548b1388c0a409643f836.png3、配置监控数据库账号

配置要监控的数据库,为 mysql_exporter 创建一个指定账户用来连接数据库(当然,也可以直接用 root 或者其他有权限的账户,不过建议创建一个专有账户)。

CREATE USER exporter@'localhost' IDENTIFIED BY 'xxxx' WITH MAX_USER_CONNECTIONS 3;

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO exporter@'localhost';

4、启动Exporter

需要配置一下数据库连接认证信息并启动 Exporter,有两种方式配置:

4.1、使用环境变量方式(推荐)

export DATA_SOURCE_NAME='exporter:fswl@1234@(localhost:3306)/'

./mysqld_exporter

14fc5008574be16d56a311cfc4554e56.png4.2、使用配置文件方式

# vim ~/.my.cnf

[client]

host=localhost

port=3306

user=exporter

password=password

# ./mysqld_exporter

注意:mysqld_exporter 默认使用 ~/.my.cnf 作为数据库认证文件,如果我们指定其他路径文件,需要启动时指定路径,例如:./mysqld_exporter --config.my-cnf="/.my.cnf"。

5、测试访问

此时,本地浏览器访问 http://服务器ip:9104/metrics 可以看到 mysql 相关的所有监控指标列表。

6b68b02294c45da9d6da2acb2b072c1b.png

三、关联Prometheus

Prometheus 和 mysqld_exporter 服务都已经启动起来了,那么接下来就需要将二者关联起来,让 Prometheus 来定时抓取 Exporter 提供的数据。我们需要修改 Prometheus 的配置文件 prometheus.yml 增加 mysql 相关 exporter job。

说明一下:增加了一个 job_name 为 mysql 的任务,targets 为指向 mysqld_exporter 提供的 Http 接口服务,labels 为该 job 配置一个标签,方便下边 Grafana 页面显示

- job_name: mysql

static_configs:

- targets: ['xx.xx.xx.xx:9104']

labels:

instance: epms_mysql

ae5f9d370c01bb70156812a875f7902e.png重启容器,隔一会查看metris:

8c458ee25045b729afb4c1598591474c.png

四、grafana配置

1、下载dashboard

在 https://grafana.com/dashboards?search=mysql 下载mysql相关的dashboard,但是上边提供的dashboard效果不一定好,可以根据需要自己配.

5c13003304a4362951f77cf9c6825488.png2、导入json

161a0b34c93b9b4bd95c47d500688183.png3、展示

7505409c5353ca3008767f4fa2e4052f.png

dd373741e8d42de2fa9cd34b077cd0d4.png

8b589d9ba6ec1889d23f85357ace5030.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

b62c32b46ccd44a0d678b78cc95999f1.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/517340
推荐阅读
相关标签
  

闽ICP备14008679号