grafana alert增加serverity标签 grafana添加用户_mysql 有则更新无则添加


今天来写一篇监控MySQL数据库的的监控方案:Prometheus+Grafana监控mysql性能

1.监控方案介绍

祖传老图修一修:


grafana alert增加serverity标签 grafana添加用户_mysql用户具有了权限为什么不能_02


解释一波:①mysqld_exporter用来收集数据库的性能数据 今天主讲

②node_exporter用来收集服务器的性能数据功能和上一篇的telegraf差不多

③prometeus 其实大家应该在上一篇看到过了


grafana alert增加serverity标签 grafana添加用户_数据_03


so大家应该猜也能猜到它和influxDB是个差不多的东东。。。just so so

通过http(面试必考协议,成天碰见就是讲不清QAQ)协议抓取被监控组件的状态,抓取方式就是那些exporter了

至于读法吗:普罗米修斯QAQ

2.环境搭建

1.启动服务器数据库


grafana alert增加serverity标签 grafana添加用户_mysql用户具有了权限为什么不能_04


缺少mysql.sock文件,可以从/tmp/mysql.sock copy过去一份,然后重启数据库


grafana alert增加serverity标签 grafana添加用户_mysql_05


数据库启动成功

设置下数据库root用户密码


grafana alert增加serverity标签 grafana添加用户_mysql_06


(⊙﹏⊙)修改记得更新,刚才忘记更新,密码一直不生效

更新命令


grafana alert增加serverity标签 grafana添加用户_数据_07


现在要开始开一个数据库用户,为什么要开呢,因为mysqld_exporter需要这个用户权限获取数据库信息 至于为什么不能用root用户我想应该是。。。额正常都不会用root用户吧,说服自己就好,机智的一笔


grafana alert增加serverity标签 grafana添加用户_mysql用户具有了权限为什么不能_08


刷新一下,查一下mysql.user表是否添加了新增的数据库用户


grafana alert增加serverity标签 grafana添加用户_数据_09


马赛克区域是用户名

2.安装Prometheus

三步走了

拖:


grafana alert增加serverity标签 grafana添加用户_mysql用户具有了权限为什么不能_10


解压改名:


grafana alert增加serverity标签 grafana添加用户_数据_11


开端口:

prometeus.yml是启动文件,现在要修改下它的配置,开两个端口,一个端口用来收集mysql的数据,一个用来收集服务器的数据


grafana alert增加serverity标签 grafana添加用户_数据库_12


添加两个端口:


grafana alert增加serverity标签 grafana添加用户_数据库_13


然后和上篇文章把3000端口在防火墙永久添加白名单,这两个也需要

命令firwall-cmd --add-port=端口号/tcp --permanent


grafana alert增加serverity标签 grafana添加用户_数据库_14


添加成功!给与promethus.yml 777权限


grafana alert增加serverity标签 grafana添加用户_数据库_15



添加端口步骤千万搞好格式,要不然乱七八糟错,和上面的严格对齐


grafana alert增加serverity标签 grafana添加用户_数据_16


我上面那个看着都和这边对齐了,但是还是报错,没办法直接复制了 - job_name: 'prometheus' 居然好了,坑死


然后启动一下,官方命令 ./prometheus --config.file=prometheus.yml &


grafana alert增加serverity标签 grafana添加用户_mysql 有则更新无则添加_17


好了,可以用本地浏览器访问了,试下


grafana alert增加serverity标签 grafana添加用户_数据_18


点击 Status-targets,可以看到官方自带的prometheus可以访问了(up)

linux和mysql还是不能的(down),所以要安装exporter


grafana alert增加serverity标签 grafana添加用户_数据库_19


3.安装mysqld_exporter

傻瓜操作


grafana alert增加serverity标签 grafana添加用户_mysql_20


连接数据库

在mysql_exporter下创建一个my.cnf文件和mysql里自己创建的用户连接


grafana alert增加serverity标签 grafana添加用户_数据库_21


然后启动一下

然后又搞错了,一定要是my.cnf格式啊,我写成my.conf QAQ

修改文件名启动成功 ./mysqld_exporter --config.my-cnf=my.cnf


grafana alert增加serverity标签 grafana添加用户_mysql_22


然后刷新一下刚才的网址


grafana alert增加serverity标签 grafana添加用户_数据库_23


SO现在就差最后一步了,grafana显示prometheus的数据

尴尬,prometheus自带的监控界面没有数据,不知道哪里没通,先睡觉,明天搞定


grafana alert增加serverity标签 grafana添加用户_数据_24



分开,上次遇到的问题应该就是服务器时间和Prometheus时间没对上导致的。

下面直接用grafana监控吧。

老操作,先systemctl start grafana-server启动服务,使用ip:3000访问。

现在添加数据源,选择prometheus


grafana alert增加serverity标签 grafana添加用户_数据_25


test下,连接成功


grafana alert增加serverity标签 grafana添加用户_mysql用户具有了权限为什么不能_26


我想死了,修改完还是不同步数据QAQ,但是明显连接成功,服务器和本地时区、时间都一样了,想不通了



打死我吧,我不在数据库里新增用户了,在my.cnf直接配置root用户,有数据了,气死了到现在不知道咋回事。

现在展示下效果图:


grafana alert增加serverity标签 grafana添加用户_mysql 有则更新无则添加_27


然后请教了一下业内大神,可能账号权限有问题,但是我明明啥权限都给了QAQ。。。

基本搭建就这样,大家如果碰到什么困难可以留言,我周末可以协助一下,嘻嘻