grafana+prometheus快速搭建MySql监控系统实践

1、背景

对于LNMP环境下的开发者来讲,mysql是很是重要的一环,同时mysql的性能监控也是开发者所须要关注的一环;若是你们使用阿里云的RDS会感受到其监控功能很是好用,但若是开发者使用的是自建数据库,该怎么去搭建则需则须要去考虑一番了。php

在prometheus和grafana未普及以前,要实现mysql的搭建确实要费一番工夫的,不过如今则很简单就能够实现mysql的监控了。mysql

笔者以前写过一篇grafana+prometheus的基础篇,所以本文中有些较为基础的操做就省略了,读者若是有不清晰的地方,建议去看一下基础篇,参考连接:grafana+ prometheus+php 监控系统实践git

2、操做概要

  1. 安装Mysqld-Exporter
  2. 增长prometheus任务
  3. 导入mysql仪表盘
  4. 功能验证与展现

3、安装Mysqld-Exporter

要实现监控mysql的状态,就须要获取mysql的一些数值,而后把这些数值传递给prometheus,这个过程使用mysqld-exporter就能够轻易实现了,安装以后,把所需的参数传递过去就可使用,这里使用docker安装最为方便,所以笔者在下面的安装方法即是采用此种方法安装。github

3.1 下载镜像

使用docker方式下载极为方便,只须要执行以下命令便可,固然前提是须要安装了docker。sql

docker pull prom/mysqld-exporter
复制代码

3.2 建立容器并启动

下载镜像完成以后,笔者须要按照指定的格式把数据库的一些帐号与密码以及地址名称等信息传入进入,参考格式以下方命令:docker

docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(127.0.0.1:3306)/databaseName" prom/mysqld-exporter
复制代码

3.3 验证

启动以后,笔者须要验证是否启动成功,能够经过浏览器访问以下地址数据库

http://127.0.0.1:9104/
复制代码

当在浏览器当中看到以下界面,则表明以及启动成功,以下图:json

image

不过须要注意的是,看到此界面并不表明你的数据库帐号与密码以及地址就正确了。vim

4、增长prometheus任务

通过前面一个步骤,笔者已经有了数值来源,如今须要作的就是经过prometheus将其收集起来,收集的方法也比较简单,修改配置文件,重启prometheus便可,具体操做方法以下:segmentfault

4.1 编辑prometheus的配置文件

vim /Users/song/config/prometheus/prometheus.yml
复制代码

增长一个收集任务

---
global:
  scrape_interval: 5s
  scrape_timeout: 3s
scrape_configs:
- job_name: 'media'
  scrape_interval: 3s
  metrics_path: "/api/v1/rrd/toolSpool"
  static_configs:
    - targets: ['gslb.offcncloud.com:8080']
- job_name: 'mysql'
  scrape_interval: 5s
  static_configs:
    - targets: ['127.0.0.1:9104']
      labels:
        instance: 127.0.0.1

复制代码

在配置文件当中,能看到prometheus会每5秒收集一次数据,须要给prometheus传入主机地址。

4.2 启动prometheus

修改并保存配置文件以后,笔者须要启动prometheus,在mac系统中启动命令以下:

prometheus --config.file=/Users/song/config/prometheus/prometheus.yml
复制代码

4.3 验证收集是否成功

启动完成以后,须要验证prometheus是否启动成功,能够经过浏览器打开以下URL:

http://127.0.0.1:9090/graph
复制代码

若是在URL中看到mysql的状态为绿色标志,则表明笔者增长的任务已经成功。

image

5、导入mysql仪表盘

到这一步笔者已经把mysql的性能数值导入到prometheus当中,如今所须要作的事情即是在grafana当中展现仪表盘;这个仪表盘笔者能够本身去手动建立,也能够导入一些开源的仪表盘,笔者以为第三方的仪表盘省事也好看,因此这里将采用导入开源的仪表盘方式。

5.1 下载仪表盘文件

首先须要在GitHub下载这些仪表盘文件,下载命令以下:

git clone https://github.com/percona/grafana-dashboards.git
复制代码

下载完成以后,在其项目根目录的dashboards文件夹下,会有一批grafana所导出的仪表盘文件,以下图

image

找到MySQL_Overview.json文件,并打开此文件,将其里面的内容复制下来,

连接地址:MySQL_Overview.json,笔者将其上传到了本身的服务器,读者能够直接打开以下URL地址:

http://tuchuang.qsjianzhan.com/mysql/MySQL_Overview.json
复制代码

5.2 启动grafana

如今笔者须要启动grafana,笔者使用mac的brew安装,因此启动命令以下:

brew services start grafana
复制代码

5.3 导入仪表盘

grafana自己提供导入仪表盘功能,经过浏览器访问以下网址:

http://127.0.0.1:3000/
复制代码

在grafana左侧有一个添加仪表盘的图表,能够点击点击导入仪表盘,操做方法以下图:

image

前面笔者已经复制了仪表盘的文件,如今须要将其粘贴进来,并点击load

image

六. 功能验证与展现

导入仪表盘以后,能够打开grafana的首页,在首页当中会展现仪表盘列表,找到刚才导入的仪表盘,以下图

image

找到对应的仪表盘即可查看mysql的详细数值,以下图所示:

image


做者:汤青松

微信:songboy8888

相关文章
相关标签/搜索