Prometheus和Grafana结合监控MySQL服务性能

偶尔在看博客的时候看到Prometheus和Grafana的介绍,但是当再次找了几遍博客文章准备实验一次的时候,就遇到了安装后不显示数据可视化的情况。经过排查,是因为之前的博客写的也有一年之间的时间了,Grafana版本更新换代,所以决定自己写一遍。

感觉非常好奇,就去官网把功能介绍等等看了一遍。
Prometheus(也叫普罗米修斯)官网:https://prometheus.io/docs/introduction/overview/

Grafana官网:https://grafana.com/enterprise

特征

普罗米修斯的主要特点是:

  • 具有由度量名称和键/值对标识的时间序列数据的多维数据模型
  • 一个灵活的查询语言 来利用这一维度
  • 不依赖分布式存储; 单个服务器节点是自治的
  • 时间序列集合通过HTTP上的拉模型发生
  • 推送时间序列通过中间网关支持
  • 通过服务发现或静态配置发现目标
  • 多种图形和仪表板支持模式

组件

Prometheus生态系统由多个组件组成,其中许多组件是可选的:

大多数Prometheus组件都是用Go编写的,因此很容易构建和部署为静态二进制文件。

 

看了之后感觉Prometheus监控会可视化不强烈,但是结合Grafana后,可视化十足。

个人之前是使用Zabbix的,也不需要更换。因为Zabbix也可以结合Grafana达到可视化的目的。(这次先不了解)

 

个人测试过,服务器使用Centos6.5 Centos7.2  数据库使用MySQL5.6.21 MySQL5.7.11 都可以安装成功

扫描二维码关注公众号,回复: 2578335 查看本文章

以下就是简单的安装方法。(为什么叫简单....因为只是达到一个监控。并没有设置其他警报,优化的)

首先下载最新版本的Prometheus(官网可以下载)

wget https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz

创建文件夹放置prometheus

mkdir /prometheus

解压到prometheus文件夹

tar xf prometheus-2.3.2.linux-amd64.tar.gz -C /prometheus/ --strip-components=1

修改配置文件prometheus.yml

vim /prometheus/prometheus.yml

加载配置文件

cd /prometheus/

nohup ./prometheus --config.file=prometheus.yml &

如果报错

就检查是否配置文件写错了

检查是否生效

(因我使用的是云服务器,云服务器有个安全组需要开放9090端口,使用的时候注意下)

浏览器访问: 部署prometheus服务器的    IP:9090  (即可访问)
 

 

注意,因为Prometheus没有身份验证功能,任何人都能登上去,可以使用反向代理设置,或者使用些策略允许某个访问

 

部署在MySQL服务上(如果是和Prometheus同一台机器也可以都部署一起)

下载node_exporter-0.14.0.linux-amd64.tar

百度云链接:https://pan.baidu.com/s/1uPl4qflOP9iWM2k57Mg4yg 密码:cmjl

下载mysqld_exporter-0.10.0.linux-amd64.tar

百度云连接:链接:https://pan.baidu.com/s/1xxv9dGfqd1US9ivB80A-Ew 密码:txsp

 

创建存放的文件夹

mkdir /prometheus_exporter

 

解压到/prometheus_exporter

tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /prometheus_exporter/

tar xf node_exporter-0.14.0.linux-amd64.tar.gz -C /prometheus_exporter/

 

加载node_exporter

cd /prometheus_exporter/node_exporter-0.14.0.linux-amd64/

nohup ./node_exporter &

加载mysqld_exporter      添加配置文件(需要MySQL授权用户)

mysqld_exporter需要连接到MySQL,需要授权

mysql> grant replication client, process on *.* to prometheus@"localhost" identified by "lanzhifei";

mysql> grant select on performance_schema.* to prometheus@"localhost";

cd /prometheus_exporter/mysqld_exporter-0.10.0.linux-amd64/

vim .my.cnf

nohup ./mysqld_exporter --config.my-cnf=.my.cnf &

注意看 vim nohup.out 是否出现权限被拒绝,如出现都是授权问题,修改配置需要重启加载一遍

检查是否变成UP (访问部署prometheus的服务器  IP:9090)

以上prometheus算是完成监控方面。

 

 

部署Grafana (和Prometheus安装一起)

下载grafana-5.2.2-1.x86_64          (也可以去官网下载)

百度云链接:https://pan.baidu.com/s/1btkM-4lEWR1-gOEMN0mXYQ 密码:sfy0

yum -y install grafana-5.2.2-1.x86_64.

使用yum安装的grafana,配置文件在/etc/grafana/grafana.ini     (由于这次只安装监控,配置文件就不多改了)

把grafana默认端口 3000更改一下就好,打开配置文件

vim /etc/grafana/grafana.ini 

完成就可以启动服务

service grafana-server start

访问 部署grafana服务的 IP:端口  即可访问

 

初始账号和密码都为admin,登陆会更改一次新密码

模板下载地址

百度云链接:https://pan.baidu.com/s/1iAB1K6og2GB8mGjoVW3XEw 密码:bqwc

导入这个MySQL_Overview.json

完成

猜你喜欢

转载自blog.csdn.net/qq_40460909/article/details/81386666