天天看点

使用Prometheus+Grafana监控MySQL

你还不会监控服务器资源吗?你还不会监控mysql性能吗?但是你看了这篇文章之后我想你应该会了,哈哈哈,就算不会,至少你也知道是个怎么回事,这篇文章就来介绍怎么给自己的服务器系统搭建一个监控平台,要是还不会,请私聊我,哈哈!!!

一、介绍Prometheus

Prometheus(普罗米修斯)就是一个时序数据库,多了我也不清楚,先记着这么回事,就是用来存数据的。哈哈哈(前段时间我用influxdb这个时序数据库,不过这个呢是针对于jmeter来监控的,不好做mysql的监控,而Prometheus是专门用来监控数据库的。如果有兴趣的朋友,我过段时间写一篇influxdb+jmeter+grafana,今天主讲prometheus)我相信做过性能测试的人员和运维人员都知道这个吧,哈哈哈

二、grafana

grafana其实就是一个展示数据的平台,能够实时监控还好看,我喜欢。

三、下面介绍如何使用Prometheus和Grafana对MySQL服务器性能进行监控。

我们用到了以下两个exporter:

node_exporter – 用于机器系统数据收集

mysqld_exporter – 用于MySQL服务器数据收集

四、逻辑梳理

我们通过node_exporter对linux服务器数据收集、mysqld_exporter对mysql服务器数据收集,收集到之后传到prometheus数据库里面去,然后通过prometheus去关联grafana,再去把实时数据展示出来。好了,话不多说,我们从第一步开始。

在开始之前要先把node_exporter、mysqld_exporter、prometheus压缩包给下载好,你们可以去官网下载也可以我分享给你们

链接:https://pan.baidu.com/s/187QTTxjxsL6GB303tV-cEQ

提取码:pt7a

这边的话我是在自己本地LINUX虚拟机操作的,你们自己在练习的时候也可以现在自己的虚拟机上先搭建一下,然后再到服务器上去玩吧。

**

  • 第一步:数据库操作

**

要是不知道服务器的mysql安装路径在哪里,可以敲下面这个指令

whereis mysql
           
使用Prometheus+Grafana监控MySQL

上面就是我虚拟机mysql的安装路径

好了,我们第一步先启动mysql数据库

service mysqld start   #启动数据库
           
使用Prometheus+Grafana监控MySQL

这样的话就启动成功了,然后我们进入mysql的bin目录

使用Prometheus+Grafana监控MySQL

输入./mysql -uroot -p

使用Prometheus+Grafana监控MySQL

输入密码,如果没修改的话就是默认空的,直接回车就好了,如果修改过的话就输入修改后的密码回车

使用Prometheus+Grafana监控MySQL

到了这个页面就说明进来了

输入 use mysql

使用Prometheus+Grafana监控MySQL

然后去创建一个你的数据库账号,为什么要创建你自己的,而不用root的呢,我们以防万一哈,还是不要去弄root账号去玩

输入下面命令,账号可以自行设定,我这是输入的hfx,我名字的第一个字母

GRANT ALL PRIVILEGES ON *.* TO 'hfx'@'localhost' identified by '123456';
           

创建好了之后刷新一下

flush privileges;
           

然后验证一下是否创建成功

select user,host from mysql.user;
           
使用Prometheus+Grafana监控MySQL

这是我刚才创建的账号,好了,数据库就先到这里

**

  • 第二步:Prometheus 搭建

**

你们可以自行下载,也可以用我百度网盘的

如果用我百度网盘的,你下载好之后直接用xftp传到指定的linux某个目录下就好了,我这边是传到tools目录下

使用Prometheus+Grafana监控MySQL

然后解压

tar -xzvf prometheus-2.15.2.linux-amd64.tar.gz

使用Prometheus+Grafana监控MySQL

解压完成后就会出现一个文件夹,楼主有强迫症喜欢安装完成之后把安装包给删除,你喜欢的话就rm -rf 删掉吧,哈哈哈

使用Prometheus+Grafana监控MySQL

不仅给他删除,我还要把解压好的文件给改个名字,名字太长了看起来不舒服,哈哈哈

删除压缩包命令 rm -rf prometheus-2.15.2.linux-amd64.tar.gz
           
改名命令 mv prometheus-2.15.2.linux-amd64/ prometheus2.15
           
使用Prometheus+Grafana监控MySQL

然后呢,需要修改一下他的配置文件

使用Prometheus+Grafana监控MySQL

配置文件:vi prometheus.yml

这个是它的配置文件,可以修改端口等信息,默认端口为 9090

使用Prometheus+Grafana监控MySQL

上图是没有配置的,我们把下面内容添加到里面去

-job_name: ‘linux’

static_configs:

-targets: [‘localhost:9100’]

-job_name: ‘mysql’

static_configs:

-targets: [‘localhost:9104’]

使用Prometheus+Grafana监控MySQL

编辑好之后命令模式下:wq保存并退出

设置端口:

firewall-cmd --list-ports ##列出开放的端口

firewall-cmd --add-port=9090/tcp --permanent #永久添加 9090 端口

firewall-cmd --add-port=9100/tcp --permanent #永久添加 9100 端口

firewall-cmd --add-port=9104/tcp --permanent #永久添加 9104 端口

firewall-cmd --list-ports #列出开放的端口

systemctl stop firewalld #关闭防火墙

systemctl start firewalld #开启防火墙

systemctl status firewalld #查看防火墙状态

systemctl restart firewalld #重启防火墙

先把防火墙打开

systemctl start firewalld
           

然后输入以下命令

firewall-cmd --add-port=9090/tcp --permanent
 firewall-cmd --add-port=9100/tcp --permanent
 firewall-cmd --add-port=9104/tcp --permanent
           

永久开放这些端口

然后输入

firewall-cmd --list-ports
           

查看开放的端口

使用Prometheus+Grafana监控MySQL

上图是我虚拟机所开放的端口,端口开放不了,先检查防火墙

端口开放后输入以下指令

./prometheus --config.file=prometheus.yml &
           
使用Prometheus+Grafana监控MySQL

然后再去windows(mac)电脑打开浏览器输入虚拟机的ip:9090/targets

使用Prometheus+Grafana监控MySQL
使用Prometheus+Grafana监控MySQL

好了我们开始下一步

  • mysqld_exporter 搭建

    这个的话我就不一一讲了哦,直接把我的安装包拖到你指定的文件夹,我是拖到tools目录下的,然后解压,上一步我已经说过了,这种傻瓜式的安装下载解压我就不说了哦

    然后在/usr/local/tools/mysql_exporter 下创建一个my.cnf 配置文件,写上创建的用户名和密码

    直接输入vi my.cnf

    使用Prometheus+Grafana监控MySQL
    这里的话写上你之前创建的数据库账户和密码,写root也行,看你吧
    使用Prometheus+Grafana监控MySQL

    然后保存退出

    然后在刚才那个路径下输入

./mysqld_exporter --config.my-cnf=my.cnf
           
使用Prometheus+Grafana监控MySQL

我这里之前启动了一个,最下面一行提示说已经有一个进程了在运行了,我得去杀掉重新起一个给你们看看

使用Prometheus+Grafana监控MySQL

好了,出现这样的就是正常的。

如果想查看端口占用情况

#yum install lsof

查看 9104 端口占用情况 lsof -i:9104

查看进程 #ps -a

关闭进程 #kill -9 进程号

这样子去操作就好了 我就不做演示了哦

我们继续下一步

**

  • Node_exporter 监控 linux

**

然后解压压缩包进入安装文件目录下输入

./node_exporter &
           
使用Prometheus+Grafana监控MySQL

出现这样的就是启动成功啦

然后去windows(mac)浏览器输入虚拟机的ip:9090/targets

使用Prometheus+Grafana监控MySQL

出现这个界面然后三个状态全部是up就表示成功了

如果是DOWN,久去检查一下是否全部开启了,如果开启了还是没有就去杀掉进程重新开。

我们继续下一个

**

  • 安装Grafana

**

  • Grafana 1.1 下载与安装
  • wgethttps://dl.grafana.com/oss/release/grafana-6.5.1-1.x86_64.rpm

    安装 grafana 报 urw-fonts is needed by grafana-xxxx ,

    则需要安装字体。

    即:

yum install urw-fonts 
           
yum install initscripts fontconfig -y 
           
rpm -ivh grafana-6.5.1-1.x86_64.rpm 
           

启动 grafana

systemctl start grafana-server
           
使用Prometheus+Grafana监控MySQL

启动之后打开windows(mac)浏览器去访问

http://部署的ip:3000

使用Prometheus+Grafana监控MySQL

然后就出现这个grafana界面了,记住一定要关闭防火墙,我们之前是开启防火墙的

输入systemctl stop firewalld

关闭防火墙,然后再去浏览器访问哦

好了,这篇文章我就先介绍到这里吧,下一篇再继续介绍grafana的使用

你们自己去操作的话,只要到了这一步,就算是平台已经搭建好了

我再给你们透一点点,吸引你们一下哈哈哈

这是grafana展示的监控linux服务器的资源各项指标,是不是很好看,不仅可以监控mysql还可以监控linux服务器,多台都是可以的。

使用Prometheus+Grafana监控MySQL

好了,不说了,我累了,码字码的好辛苦啊,点个关注,等待持续更新~~~

继续阅读