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

所属分类: 数据库 / Mysql 阅读数: 795
收藏 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

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

MySQL中按照多字段排序及问题解决

这篇文章主要介绍了MySQL中按照多字段排序及问题解决的方法,非常的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

MySQL外键使用详解

两天有人问mysql中如何加外键,今天抽时间总结一下。mysql中MyISAM和InnoDB存储引擎都支持外键(foreign key),但是MyISAM只能支持语法,却不能实际使用。
收藏 0 赞 0 分享

Mysql中LAST_INSERT_ID()的函数使用详解

从名字可以看出,LAST_INSERT_ID即为最后插入的ID值,有了这个实用的函数,我们可以实现很多问题,下面我们就来深入探讨下。
收藏 0 赞 0 分享

MySql insert插入操作的3个小技巧分享

这篇文章主要介绍了MySql insert插入操作的3个小技巧分享,本文讲解了插入的数据来源自其他表、插入时排除(忽略)重复记录、插入时遇到重复记录做更新操作三个小技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql修改自增长主键int类型为char类型示例

这篇文章主要介绍了mysql修改自增长主键int类型为char类型示例,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下使用Cygwin编译MySQL客户端

这篇文章主要介绍了Windows下使用Cygwin编译MySQL客户端,本文详细的讲解了编译过程,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL数据库优化推荐的编译安装参数小结

这篇文章主要介绍了MySQL数据库优化推荐的编译安装参数小结,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL之Field‘***’doesn’t have a default value错误解决办法

这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

php连接MySQL的两种方式对比

这篇文章主要介绍了php连接MySQL的两种方式对比,一种是原生的链接方式另外一种是PDO方式,附上示例,推荐给大家,有需要的小伙伴可以参考下
收藏 0 赞 0 分享

Mysql InnoDB删除数据后释放磁盘空间的方法

这篇文章主要介绍了Mysql InnoDB删除数据后释放磁盘空间的方法,Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长,本文就讲解释放磁盘空间的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多