一、背景对于LNMP环境下的开发者来说,mysql是一个非常重要的部分,mysql的性能监控也是开发者需要关注的部分;如果你用的是阿里云的RDS,你会觉得它的监控功能非常好用,但是如果你用的是自建数据库,你就需要考虑怎么建了。在prometheus和grafana普及之前,搭建mysql需要费一番功夫,而现在实现mysql监控非常简单。作者之前写过一篇关于grafana+prometheus的基础文章,所以本文省略了一些比较基础的操作。如果读者不清楚,建议阅读基础篇。参考链接:grafana+prometheus+php监控系统实战二、操作概述安装Mysqld-Exporter添加prometheus任务导入mysqldashboard功能验证和展示三、安装Mysqld-Exporter监控mysql的状态,需要获取一些mysql的值,然后将这些值传递给prometheus。这个过程可以使用mysqld-exporter轻松实现。安装后,传递所需参数即可使用。这里,使用docker安装是最方便的,所以下面的安装方式就是使用这种方式安装。3.1下载镜像使用docker方式下载镜像非常方便。你只需要执行下面的命令。当然前提是你需要安装docker。dockerpullprom/mysqld-exporter3.2创建容器并开始下载镜像后,作者需要按照指定的格式传入一些信息,如账号、密码、数据库地址名等。参考格式如下:dockerrun-d-p9104:9104-eDATA_SOURCE_NAME="root:password@(127.0.0.1:3306)/databaseName"prom/mysqld-exporter3.3验证启动后,笔者需要验证是否启动成功。可以通过浏览器访问以下地址http://127.0.0.1:9104/当在浏览器中看到如下界面,即表示启动成功,如下图所示:但需要注意的是看到这个界面并不代表你的数据库账号、密码和地址是正确的。4.增加prometheustask经过上一步,笔者已经有了value的来源。现在要做的就是通过prometheus来收集。采集方法比较简单。修改配置文件,重启prometheus。具体操作方法如下:4.1编辑prometheus配置文件vim/Users/song/config/prometheus/prometheus.yml添加采集任务---global:scrape_interval:5sscrape_timeout:3sscrape_configs:-job_name:'media'scrape_interval:3smetrics_path:"/api/v1/rrd/toolSpool"static_configs:-目标:['gslb.offcncloud.com:8080']-job_name:'mysql'scrape_interval:5sstatic_configs:-目标:['127.0.0.1:9104']labels:instance:127.0.0.1在配置文件中可以看到prometheus每隔5秒会采集一次数据,需要将host地址传入prometheus。4.2启动prometheus修改并保存配置文件后,笔者需要启动prometheus。mac系统启动命令如下:prometheus--config.file=/Users/song/config/prometheus/prometheus.yml4.3验证是否成功启动并完成采集之后需要验证prometheus是否正常启动成功。可以通过浏览器打开如下网址:http://127.0.0.1:9090/graph如果看到网址中mysql的状态为绿色,说明笔者添加的任务已经成功。5、导入mysql仪表盘至此,笔者已经将mysql的性能值导入到prometheus中,接下来要做的就是将仪表盘显示在grafana中;笔者可以手动创建这个dashboard,也可以导入一些开源的dashboard,笔者认为第三方的dashboard简单又好看,所以这里采用导入开源dashboard的方式。5.1下载仪表板文件首先,您需要在GitHub上下载这些仪表板文件。下载命令如下:gitclonehttps://github.com/percona/grafana-dashboards.git下载完成后,进入项目根目录下的dashboards文件夹,会出现一批dashboardgrafana导出的文件,找到下图的MySQL_Overview.json文件,打开这个文件,复制里面的内容,链接地址:MySQL_Overview.json,作者上传到我自己的服务器,读者可以直接打开以下网址地址:http://tuchuang.qsjianzhan.com/mysql/MySQL_Overview.json5.2启动grafana现在需要启动grafana,我使用macbrew安装,所以启动命令如下:brewservicesstartgrafana5.3导入DashboardGrafana本身就提供了导入dashboard的功能。通过浏览器访问如下网址:http://127.0.0.1:3000/grafana左侧有添加仪表盘的图表。您可以单击导入仪表盘。操作方法如下图:笔者前面复制了dashboard文件,现在需要粘贴进去,点击load6.功能验证及展示导入dashboard后,可以打开grafana的首页,dashboard列表将显示在主页上。导入的dashboard,找到下图对应的dashboard可以查看mysql的详细值,如下图:作者:唐青松微信:songboy8888
