使用Grafana+Prometheus监控mysql服务性能

所属分类: 数据库 / Mysql 阅读数: 779
收藏 0 赞 0 分享

Prometheus(也叫普罗米修斯)官网:https://prometheus.io/docs/introduction/overview/

Grafana官网:https://grafana.com/enterprise

特征

普罗米修斯的主要特点是:

  • 具有由度量名称和键/值对标识的时间序列数据的多维数据模型
  • 一个灵活的查询语言 来利用这一维度
  • 不依赖分布式存储; 单个服务器节点是自治的
  • 时间序列集合通过HTTP上的拉模型发生
  • 推送时间序列通过中间网关支持
  • 通过服务发现或静态配置发现目标
  • 多种图形和仪表板支持模式

组件

Prometheus生态系统由多个组件组成,其中许多组件是可选的:

大多数Prometheus组件都是用Go编写的,因此很容易构建和部署为静态二进制文件。

今天本文重点给大家介绍使用Grafana+Prometheus监控mysql性能的方法详细介绍。

#cmd /usr/local

今天讲一下如何监控服务器中的mysql数据库的性能

一、数据库操作

1.mysql启动

#service mysqld start #启动数据库
#service mysqld stop #关闭数据库
#service mysqld restart #重启数据库

2、进入 mysql

mysql -u root -p

3、新增监控 mysql 账号

#use mysql
#GRANT ALL PRIVILEGES ON *.* TO '帐号'@'localhost' identified by '密码';<br>#flush privileges; #刷新

二、Prometheus 搭建

这里会给大家提供一个干净的普罗米修斯数据库的压缩包,大家解压就好

将压缩包放到服务器中

#cmd /usr/local

解压

#tar -zxvf prometheus-xxxxx

现在修改一下普罗米修斯的配置文件,在他的安装目录中有一个prometheus.yml文件,添加

- job_name: 'linux' static_configs: - targets: ['localhost:9100']  - job_name: 'mysql'    static_configs:    - targets: ['localhost:9104']

这里大家注意一个地方,要严格按照普罗米修斯的格式,不要随意添加空格和缩进,不然会出错

增加这一步的意义是给普罗米修斯开放两个端口,用于Grafana监控

设置文件权限:#chmod 777 prometheus.yml 从配置文件中启动

#./prometheus --config.file=prometheus.yml &

设置linux系统端口

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 disable firewalld ##开机关闭防火墙,即永久关闭

windows 访问:http://192.168.xx.xx:9090 statue-targets 查看端口状态为up为成功

三、mysqld_exporter 搭建

这里也会提供一个压缩包给大家

1、上传 mysqld_exporter 至 local 下 2、解压 tar -zxvf mysqld_exporter-xxxxxx 3、在/usr/local/mysql_exporter 下创建一个.my.cnf 配置文件,写上创建的用户名和密码

[client] user=xxxx password=xxxx

4、启动服务

在/usr/local/mysql_exporter 下启动./mysqld_exporter --config.my-cnf=my.cnf

5、安装lsof

#yum install lsof

6、查看 9104 端口占用情况

lsof -i:9104

7、

关闭进程 #kill -9 进程号

8、重启 Prometheus

四、Node_exporter 监控 linux

这里会给大家提供一个压缩包

1、上传至/usr/local/ 2、解压 tar -zxvf node_exporter-xxxxx 3、在/usr/local/node_exporter 目录下,启动 ./node_exporter & 4、通过浏览器访问 http://服务器 ip:9100/metrics 可以看到监控的数据

此时查看任务项均处于UP状态这样我们的监控平台就搭建起来了,至于Gafana如何与普罗米修斯数据库连接不做解释,需要的请看上几篇文章

附linux效果图

最后给大家附上本文所需压缩包,以及Grafana基于普罗米修斯数据库的监控模板

链接: https://pan.baidu.com/s/124sJ0cv3zghK02n4W-rSZw 提取码: w987

链接: https://pan.baidu.com/s/1l3pvorWAv3_VfwhL6G9PHg 提取码: m7nw

更多精彩内容其他人还在看

Mac 将mysql路径加入环境变量的方法

这篇文章主要介绍了Mac如何将mysql路径加入环境变量,有需要的朋友好按照下面的步骤操作即可
收藏 0 赞 0 分享

mysql 增加修改字段类型及删除字段类型

本节主要介绍了mysql如何增加修改字段类型及删除字段类型,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL异常处理浅析

这篇文章主要介绍了MySQL的异常处理,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL存储毫秒数据的方法

MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中使用INSERT INTO语句更新多条数据的例子

这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySql错误代码1045的解决方法

这篇文章主要介绍了Windows下MySql错误代码1045的解决方法,文中还包含了2个Linux下的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

这篇文章主要介绍了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql的中文数据按拼音排序的2个方法

这篇文章主要介绍了mysql的中文数据按拼音排序的2个方法,用于一些特殊环境,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL定期分析检查与优化表的方法小结

听DBA的人说,相比oracle,MySQL就是一个玩具级别的数据库,在网易门户中,DBA基本很少去管理到MySQL的东西,所以我们产品使用到的MySQL的一些配置和优化还是需要我们开发人员自己动手,下面就简单介绍一下实用的定期优化方法
收藏 0 赞 0 分享
查看更多