grafana+prometheus快速搭建MySql监控系统实践
一、背景
对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常好用,但如果开发者使用的是自建数据库,该怎么去搭建则需则需要去考虑一番了。
在prometheus和grafana未普及之前,要实现mysql的搭建确实要费一番工夫的,不过现在则很简单就可以实现mysql的监控了。
笔者之前写过一篇grafana+prometheus的基础篇,因此本文中有些较为基础的操作就省略了,读者如果有不清晰的地方,建议去看一下基础篇,参考链接:grafana+ prometheus+php 监控系统实践
二、操作概要
- 安装Mysqld-Exporter
- 增加prometheus任务
- 导入mysql仪表盘
- 功能验证与展示
三、安装Mysqld-Exporter
要实现监控mysql的状态,就需要获取mysql的一些数值,然后把这些数值传递给prometheus,这个过程使用mysqld-exporter就可以轻易实现了,安装之后,把所需的参数传递过去就可以使用,这里使用docker安装最为方便,因此笔者在下面的安装方法便是采用此种方法安装。
3.1 下载镜像
使用docker方式下载极为方便,只需要执行如下命令即可,当然前提是需要安装了docker。
docker pull prom/mysqld-exporter
3.2 创建容器并启动
下载镜像完成之后,笔者需要按照指定的格式把数据库的一些账号与密码以及地址名称等信息传入进入,参考格式如下方命令:
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/
当在浏览器当中看到如下界面,则代表以及启动成功,如下图:
不过需要注意的是,看到此界面并不代表你的数据库账号与密码以及地址就正确了。
四、增加prometheus任务
经过前面一个步骤,笔者已经有了数值来源,现在需要做的就是通过prometheus将其收集起来,收集的方法也比较简单,修改配置文件,重启prometheus即可,具体操作方法如下:
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的状态为绿色标志,则代表笔者增加的任务已经成功。
五、导入mysql仪表盘
到这一步笔者已经把mysql的性能数值导入到prometheus当中,现在所需要做的事情便是在grafana当中展示仪表盘;这个仪表盘笔者可以自己去手动创建,也可以导入一些开源的仪表盘,笔者觉得第三方的仪表盘省事也好看,所以这里将采用导入开源的仪表盘方式。
5.1 下载仪表盘文件
首先需要在GitHub下载这些仪表盘文件,下载命令如下:
git clone https://github.com/percona/grafana-dashboards.git
下载完成之后,在其项目根目录的dashboards文件夹下,会有一批grafana所导出的仪表盘文件,如下图
找到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左侧有一个添加仪表盘的图表,可以点击点击导入仪表盘,操作方法如下图:
前面笔者已经复制了仪表盘的文件,现在需要将其粘贴进来,并点击load
六. 功能验证与展示
导入仪表盘之后,可以打开grafana的首页,在首页当中会展示仪表盘列表,找到刚才导入的仪表盘,如下图
找到对应的仪表盘便可查看mysql的详细数值,如下图所示:
作者:汤青松
微信:songboy8888
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker-制作Spring MVC工程镜像
Spring MVC工程一般运行在Tomcat或者Jetty上,本文以Tomcat为例,那么我们首先得要有Tomcat的环境,有多种方式制作Spring MVC工程的镜像。 你可以先部署一个Tomcat镜像的容器,然后将war包拷入容器内Tomcat webapp 目录下运行,然后在容器外执行如下命令生成新的镜像 docker commit CONTAINERID IMAGENAME:TAG 以Tomcat的镜像作为基础镜像编写我们的Dockerfile,将war包拷贝到tomcat webapp 目录下,这里的application需要根据你的war包名来修改。 Dockerfile FROM tomcat:9.0.10-jre8 COPY {application}.war /usr/local/tomcat/webapps/ 编写完Dockerfile后,将war包和Dockerfile放入同一级目录,然后运行命令生成Docker镜像 docker build -t [image-name]:[Version] . 最后就可以使用docker run命令生成一个容器运行这个镜...
- 下一篇
Docker自制镜像之私有云平台完整版
一、Docker安装 Docker之安装篇 二、Docker操作 搜索中央仓库可用镜像 $docker search centos 2.1【镜像操作命令】 2.1.1 查看所有镜像docker images删除所有镜像 $docker rmi $(docker images -q) 2.1.2 删除没有使用的镜像 docker rmi -f $(docker images | grep "" | awk "{print \$3}") 2.2【容器操作命令】 2.2.1 查看所有容器(包括未运行) $docker ps -a 2.2.2 删除所有未运行容器(https://www.jb51.net/article/111073.htm) $docker rm $(docker ps -a -q) 2.2.3 删除停止的容器 $docker rm $(docker ps --all -q -f status=exited) 2.2.4 创建容器(暂不推荐) $docker create --name=wang-base-node[增加可选参数] 2.2.5 创建并启动容器(推荐,注:显示指...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题