如何构建MySQL监控平台


这篇文章将为大家详细讲解有关如何构建MySQL监控平台,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。prometheus+grafana 对于现在这个时间点来说,相信很多同行都应该已经开始玩起来了,当仍然可能有一部分人可能还不知道prometheus+grafana 的存在,也可能还有一部分人虽然知道它的存在,但却懒于动手,如果是这样,那后面的内容你可得打起精神来了,因为可能你会被grafana炫酷的视觉效果惊艳到。让我们一起了解一下吧。首先,简单介绍下prometheus+grafana 这对鸳鸯到底是什么:prometheus 是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB),prometheus是一个监控采集与数据存储框架(监控server端),具体采集什么数据依赖于具体的exporter(监控client端),例如:采集MySQL的数据需要使用到mysql_exporter,prometheus调用mysql_expoter采集到mysql的监控指标之后,把mysql_exporter采集到的数据存放到prometheus所在服务器的磁盘数据文件中保存。它的各个组件基本都是用 golang 编写,对编译和部署十分友好.并且没有特殊依赖,基本都是独立工作。以下是prometheus架构图(图片来源:https://prometheus.io/docs/introduction/overview/)grafana是一个高颜值的监控绘图程序,也是一个可视化面板(Dashboard),grafana的厉害之处除了高颜值,还支持多种数据源(支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源)、支持灵活丰富的dashboard配置选项(例如:可以把多个实例的相同采集项配置在一个展示框里),使得相较于其他开源监控系统来说更易用性,学习成本更低。从视觉上来说,比以往的任何开源的监控系统都看起来要养眼很多,下面先看两张监控效果图:相信审美还算正常的人都不会说上面两张图很丑吧,那么问题来了,我们该如何玩起来呢?下面就简单为大家介绍如何快速搭建起来!
这里方便演示过程,我们准备了如下两台测试服务器prometheus+grafana server端主机:10.10.30.165MySQL 客户端主机:10.10.20.14对于prometheus,假设我们需要监控MySQL,那么我们需要下载至少3个组件,如下:prometheus程序包node_exporter:监控主机磁盘、内存、CPU等硬件性能指标的采集程序包mysql_exporter: 监控mysql各种性能指标的采集程序包下载链接(该页面始终只有一个最新版本):https://prometheus.io/download/下载prometheus下载node_exporter下载mysqld_exporterPS:如果你还需要配置监控告警,需要下载alertmanager程序包解压prometheus 解压exporter:由于prometheus主机自身也需要监控,所以也至少需要解压node_exporter包进入prometheus的工作目录 配置 prometheus.yml配置文件启动prometheus进程,30d表示prometheus只保留30天以内的数据
如果是7.x系统,可以按照如下方式配置service启动脚本
PS:prometheus默认的web访问端口为9090,可以使用如下地址访问http://10.10.30.165:9090前面说过,grafana是一个出图展示框架,grafana根据grafana-da开发云主机域名shboards来进行展示,grafana-dashboards就类似于grafana的出图配置文件,根据在grafana-dashboards中的定义来确定在页面中需要展示什么指标,需要如何展示等,需要分别对这两个组件进行下载与安装。对于grafana来说,需要下载一个程序包,一个grafana-dashboards包下载链接grafana程序包:https://grafana.com/grafana/downloadgrafana-dashboards包:https://github.com/percona/grafana-dashboards/releases
解压grafana进入grafana工作目录,并启动如果是7.x系统,可以按照如下方式配置service启动脚本
打开grafana页面(默认帐号和密码:admin/admin,默认的端口为3000,通过地址:http://10.10.30.165:3000访问),配置数据来源。
指定prometheus地址,这里我们把grafana装在了同一台机器,直接使用127.0.0.1的地址配置即可,如下图解压grafana-dashboards包,该包中提供了大量的json格式文件的grafana dashboards,根据需要自行选择,我们这里需要监控主机和MySQL,就选择如下一些json文件。 在grafana页面中,导入需要的json文件 在弹出的窗口中选择你需要导入的json文件然后,如果你的grafana中已经添加过主机,此时,就可以看到相应的json dashboard监控数据
至此,prometheus+grafana的基础架构(server端)已经搭建好了,现在,你可以去给他们添加监控节点了(client端)以添加prometheus主机(10.10.30.165)为例进行说明解压exporter压缩包启动node_exporter程序
配置prometheus主机监控配置列表文件,由于之前主配置文件prometheus.yml 中已经定义了监控主机的配置文件host.yml,这里只需要把主机IP信息填入即可动态生效
然后,在grafana页面中就可以看到你配置的主机
PS:如果该文件中已经配置过lables且不需要使用独立的service标签进行标记,则新添加的实例的IP可以直接放在同一个targets下,如下:
添加MySQL监控主机,这里以添加10.10.20.14为例进行说明解压exporter压缩包配置监控数据库需要的主机IP、数据库端口、数据库账号和密码的环境变量(注意:该账号需要单独创建,需要对所有库所有表至少具有PROCESS, REPLICATION CLIENT, SELECT权限)
启动exporter
配置prometheus MySQL监控配置列表文件,由于之前主配置文件prometheus.yml 中已经定义了监控主机的配置文件mysql.yml,这里只需要把主机IP信息填入即可动态生效
然后,在grafana页面中就可以看到你配置的MySQL实例
PS:如果该文件中已经配置过lables且不需要使用独立的service标签进行标记,则新添加的实例的IP可以直接放在同一个targets下,如下:
根据需要切换监控模板然后,就能看到你想要的数据
关于“如何构建MySQL监控平台”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: MySQL 5.7——–SSL连接最佳实战

1. 背景 *在生产环境下,安全总是无法忽视的问题,数据库安全则是重中之重,因为所有的数据都存放在数据库中 *当使用非加密方式连接MySQL数据库时,在网络中传输的所有信息都是明文的,可以被网络中所有人截取,敏感信息可能被泄露。在传送敏感信息(如密码)时,可以…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/23 18:51
下一篇 06/23 18:51

相关推荐