传说中的prometheus + grafana咋玩? 来 咱试试

前言

上篇写的rocketmq集群的搭建本来这篇想写kafka集群的搭建的,但是感觉这两个东西搭建起来都差不多,在加上我就一台阿里云服务器,本地又没有装虚拟机,所以即使搭建集群也是伪集群。所以想了想放弃了。那本篇就写一个监控的东西,本文主要介绍springboot环境下采用Prometheus和Grafana如何搭建一套监控系统。

一 创建springboot项目

创建一个新的springboot项目,在pom中加入actuator依赖

image.png
该依赖包的作用是暴露监控的端点。

启动项目,访问 http://localhost:8080/actuator

image.png
但是actuator从2.0开始已经默认暴露的端点不是全部了,那要想暴露全部怎么办,在配置文件里面加一句话就行。

image.png
然后再访问

image.png
这样就暴露了全部端点。
还需要添加一个把端点暴露成符合Prometheus格式的依赖包

image.png
添加后访问http://localhost:8080/actuator/peometheus

image.png
这些就是prometheus需要的数据了。

二 搭建prometheus

这里采用docker的方式创建promethues

首先创建prometheus目录存放prometheus.yml
然后创建prometheus.yml,内容如下,直接从官网上copy过来即可

image.png

然后执行如下命令

docker run \
-p 9090:9090 \
-v /liuxc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
--name prometheus-9090 prom/prometheus
复制代码

他会下载prometheus镜像并运行,完成后查看是否运行成功,说明已经运行成功。

image.png

然后访问9090端口,如下所示

image.png
说明prometheus已经启动成功了。
但是现在它和咱们的springboot服务并没有任何联系,那它怎样收集咱们微服务的数据的呢,需要修改配置文件。因为我本地不是公网,阿里云服务器连不上我本地IP,所以我需要把springboot工程打成jar包上传到阿里云服务器,上传之前我把springboot的端口设置成8099,Java-jar启动,然后修改prometheus配置文件

image.png

然后删除之前运行容器,重新运行一下,访问9090端口

image.png
说明prometheus已经可以收集咱们的微服务了。但是prometheus的页面展示不算太友好,咱们通过grafana工具来展示。

三 安装grafana

一样,咱们也是通过docker的方式安装grafana

docker run -d --name=grafana-3000 -p 3000:3000 grafana/grafana
复制代码

然后访问3000端口

image.png
grafana默认的用户名和密码都是admin,进入后界面如下所示

image.png

那么grafana怎么和prometheus联系起来呢,这就需要咱们配置grafana的数据源了,只需要如下图配置

image.png
然后咱建立一个dashboard,看一下jvm的一些信息

image.png

但是用的时候不可能一个一个的建立dashboard,怎样出现各个指标的dashboard呢,grafana其实已经给我们提供了方案。引入了4701模板,但是需要在springboot项目中添加一个bean,官网提供的如下

image.png
那就放到项目中,但是名称我叫了demo3,重新打包上传并启动 。

image.png

grafana导入4701模板。

image.png

填写名称和选择prometheus
image.png
导入后如下图所示,各个指标就都出来了。

image.png
至此 prometheus + grafana 监控springboot服务就完成了。

四 总结

其实需要搭建的东西还差很多像node-exporter监控服务器信息,alertmanager监控告警等等都没写呢,下周想的是加入node-exporter和alertmanager功能,这样的话prometheus + grafana + alertmanager,从监控到告警就算全了。下周再见。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享