docker部署pinpoint,监控docker中的Springboot项目

   日期:2024-12-26    作者:i1r3w 移动:http://ljhr2012.riyuangf.com/mobile/quote/54056.html

pinpoint是一个开源的java监控项目,也是分布式监控项目中比较知名的。 网上有比较多的pinpoint部署指南,但都是基于主机部署的,这一篇主要是讲将pinpoint部署到docker中,并监控同样部署在docker的Springboot项目。 pinpoint包含4个部分,hbase,collector,web,agent。

docker部署pinpoint,监控docker中的Springboot项目

Dockerfile如下:

hbase-site.xml

Dockerfile如下

start-collector.sh

Dockerfile如下:

start-web.sh

agent先不管它,我们先把上面的3个组件部署到服务器上。 我使用的rancher来管理docker,根据上面的Dockerfile分别build能得到对应的镜像,下面来展示一下部署到rancher时的配置。 第一步,先部署hbase,只需要注意一点即可

第二步,部署collector 添加Hbase的link,并且配置一些环境变量,一样需要指定主机名

第三步,部署web 同样是设置环境变量,主机名

以上配置完即可,就可以访问到pinpoint的web界面了。 下面来看一下如何监控docker中的Springboot项目。 pinpoint采用的是无侵入的方式,对于Springboot项目是启动一个jar这种类型的来说,就是使用

这种方式,指明pinpoint-bootstrap的位置,再加上agentId和applicationName就行了。pinpoint-bootstrap.jar是在pinpoint-agent中,还需要在pinpoint-agent中指明collector的ip即可。 那么怎么让我们的Springboot项目知道pinpoint-agent在哪里呢? 常见的有两种方式,一是绑定宿主机目录,将pinpoint-agent放到宿主机中,然后在docker里访问宿主机的pinpoint-agent,这样的话,你还需要另外一个docker容器来存放agent,因为agent需要知道collector的ip地址,而宿主机是不能访问docker容器内的ip的,得用docker link的方式。 二是直接在Springboot项目里下载并配置agent,我就是采用的这种方式。 像普通的Springboot项目如果部署到docker,Dockerfile如下:

这样一个Dockerfile就可以了。如果我要同时把pinpoint-agent也配置进来,Dockerfile如下:

configure.sh如下

这个就是比普通的Springboot项目多了一个下载agent,并配置collector ip的地方。 部署这个Springboot项目时,需要添加一个环境变量COLLECTOR_IP,指明为collector的ip即可。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号