pinpoint 安装 for spring cloud

  • 1.环境说明
  • 2.安装步骤
    • 2.1 安装pinpoint
    • 2.2 安装agent
      • 2.2.1 下载
      • 2.2.2 agent配置
      • 2.2.3 JVM 配置
      • 2.2.4 日志中输出traceId
  • 3.部署问题
    • 3.1 多个相同名称的项目放在一个pinpoint下监控
    • 3.2 agent id 过长问题(最大长度不能超过24个字符)
    • 3.2 k8s 多个副本pod ,agentId重复
  • 4.参考

1.环境说明

spring boot 、spring cloud、mysql 、mybatis 、k8s、docker、redis、rocketmq

2.安装步骤

2.1 安装pinpoint

git clone https://github.com/pinpoint-apm/pinpoint-docker.git
cd pinpoint-docker
docker-compose pull && docker-compose up -d

安装过程

[root@monitor pinpoint-docker]# docker-compose pull && docker-compose up -dPulling pinpoint-mysql      ... done
Pulling zoo1                ... done
Pulling pinpoint-hbase      ... done
Pulling pinpoint-batch      ... done
Pulling pinpoint-collector  ... done
Pulling pinpoint-agent      ... done
Pulling pinpoint-quickstart ... done
Pulling pinpoint-web        ... done
Pulling zoo2                ... done
Pulling zoo3                ... done
Pulling jobmanager          ... done
Pulling taskmanager         ... done
Creating network "pinpoint-docker_pinpoint" with driver "bridge"
Creating volume "pinpoint-docker_data-volume" with default driver
Creating volume "pinpoint-docker_mysql_data" with default driver
Creating volume "pinpoint-docker_hbase_data" with default driver
Creating pinpoint-docker_zoo3_1 ... done
Creating pinpoint-docker_zoo2_1 ... done
Creating pinpoint-docker_zoo1_1 ... done
Creating pinpoint-mysql         ... done
Creating pinpoint-flink-jobmanager ... done
Creating pinpoint-hbase             ... done
Creating pinpoint-flink-taskmanager ... done
Creating pinpoint-batch             ... done
Creating pinpoint-collector         ... done
Creating pinpoint-web               ... done
Creating pinpoint-agent             ... done
Creating pinpoint-quickstart        ... done

安装后启动的docker 容器

[root@datalink ~]# docker ps
CONTAINER ID   IMAGE                                     COMMAND                  CREATED      STATUS      PORTS                                                                                                                                                                                        NAMES
fb54699553bf   lihaixin/portainer                        "/portainer --templa…"   8 days ago   Up 8 days   8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp                                                                                                                                          portainer
e2ea6fab2277   pinpointdocker/pinpoint-batch:2.4.1       "sh /pinpoint/script…"   8 days ago   Up 8 days                                                                                                                                                                                                pinpoint-batch
827ee01929f6   pinpointdocker/pinpoint-web:2.4.1         "sh /pinpoint/script…"   8 days ago   Up 8 days   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:9997->9997/tcp, :::9997->9997/tcp                                                                                                         pinpoint-web
204c8526992f   pinpointdocker/pinpoint-quickstart        "catalina.sh run"        8 days ago   Up 8 days   0.0.0.0:8085->8080/tcp, :::8085->8080/tcp                                                                                                                                                    pinpoint-quickstart
ff6d1a502934   pinpointdocker/pinpoint-agent:2.4.1       "/usr/local/bin/conf…"   8 days ago   Up 8 days                                                                                                                                                                                                pinpoint-agent
5564d90ef82a   pinpointdocker/pinpoint-collector:2.4.1   "sh /pinpoint/script…"   8 days ago   Up 8 days   0.0.0.0:9991-9996->9991-9996/tcp, :::9991-9996->9991-9996/tcp, 0.0.0.0:9995-9996->9995-9996/udp, :::9995-9996->9995-9996/udp                                                                 pinpoint-collector
c78f83d41893   pinpointdocker/pinpoint-flink:2.4.1       "/docker-bin/docker-…"   8 days ago   Up 8 days   6123/tcp, 0.0.0.0:6121-6122->6121-6122/tcp, :::6121-6122->6121-6122/tcp, 0.0.0.0:19994->19994/tcp, :::19994->19994/tcp, 8081/tcp                                                             pinpoint-flink-taskmanager
7589edc596a1   pinpointdocker/pinpoint-flink:2.4.1       "/docker-bin/docker-…"   8 days ago   Up 8 days   6123/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp                                                                                                                                          pinpoint-flink-jobmanager
92425aa237df   pinpointdocker/pinpoint-hbase:2.4.1       "/bin/sh -c '/usr/lo…"   8 days ago   Up 8 days   0.0.0.0:16010->16010/tcp, :::16010->16010/tcp, 0.0.0.0:16030->16030/tcp, :::16030->16030/tcp, 0.0.0.0:60000->60000/tcp, :::60000->60000/tcp, 0.0.0.0:60020->60020/tcp, :::60020->60020/tcp   pinpoint-hbase
3eab4570bf20   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49154->2181/tcp, :::49154->2181/tcp                                                                                                                              pinpoint-docker_zoo3_1
f5eb8cb5aaa8   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49153->2181/tcp, :::49153->2181/tcp                                                                                                                              pinpoint-docker_zoo1_1
637ae4c0084c   zookeeper:3.4.13                          "/docker-entrypoint.…"   8 days ago   Up 8 days   2888/tcp, 3888/tcp, 0.0.0.0:49155->2181/tcp, :::49155->2181/tcp                                                                                                                              pinpoint-docker_zoo2_1
bc67523a7afe   pinpointdocker/pinpoint-mysql:2.4.1       "docker-entrypoint.s…"   8 days ago   Up 8 days   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                                                                                                         pinpoint-mysql

进入到web页面效果

2.2 安装agent

2.2.1 下载

2.2.2 agent配置

下载,解压后进入/pinpoint-agent-2.4.1/profiles目录,复制release文件夹,新增dev,prod,test文件夹
一个环境一个文件夹。

修改以下配置

1.收集服务的ip
profiler.transport.grpc.collector.ip=10.50.10.xx
profiler.collector.ip=10.50.10.xx
2.指定采集的是Tomcat或者Spring boot等
profiler.applicationservertype=SPRING_BOOT
3.if it's COUNTING(the default), then 1 out of n transactions will be sampled where n is the rate.
# eg. 1: 100%     20: 5%     50: 2%      100: 1%
profiler.sampling.counting.sampling-rate=14.数据采样率,搜集数据的比率,默认为20即为1/20 5%,如想改为100%即设为1
profiler.sampling.rate=1

2.2.3 JVM 配置

把刚下载配置好的agent文件夹放到基础镜像中,然后在打镜像的时候配置以下几个参数

  <jvmFlag>-javaagent:/pinpoint-agent/pinpoint-bootstrap-2.4.1.jar</jvmFlag><jvmFlag>-Dpinpoint.agentId=${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.applicationName=${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.profiler.profiles.active=${spring.profiles.active}</jvmFlag>

2.2.4 日志中输出traceId

公司使用的slf4j实现类库是logback,如果你使用的是log4j的话,Pinpoint也提供了类似的配置项,大家可以自行查阅配置。

1.设置配置项

// 配置项在pinpoint.config中
profiler.logback.logging.transactioninfo = true

2.修改日志输出pattern,增加[%X{PtxId:-0}]

<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line]-[%X{PtxId:-0}] - %msg%n" />

3.效果

3.部署问题

3.1 多个相同名称的项目放在一个pinpoint下监控

解决方法:给相同项目指定不同的agentId和applicationName,如:

 <jvmFlag>-javaagent:/pinpoint-agent/pinpoint-bootstrap-2.4.1.jar</jvmFlag><jvmFlag>-Dpinpoint.agentId=${spring.profiles.active}-${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.applicationName=${spring.profiles.active}-${project.artifactId}</jvmFlag><jvmFlag>-Dpinpoint.profiler.profiles.active=${spring.profiles.active}</jvmFlag>

3.2 agent id 过长问题(最大长度不能超过24个字符)

pinpoint invalid Id. SystemProperties(-D) applicationName can only contain [a-zA-Z0-9], '.', '-', '_'. maxLength:24

3.2 k8s 多个副本pod ,agentId重复

解决方法:去掉pinpoint.agentId的配置,让agent自动生成agentId

4.参考

1.k8s之炉火纯青之pinpoint链路追踪
2.Pinpoint作为链路追踪和报警(监控spring boot服务)基于docker 搭建
3.Pinpoint对k8s关键业务模块进行全链路监控(17)

pinpoint 安装 for spring cloud相关推荐

  1. k8s---yum安装与spring cloud 整合使用记录

    本文从java开发人员角度出发,非运维人员角度,所以部分内容可能有认知不到位的地方,可以留言补充 前景摘要 1.微服务部署使用了docker 2.微服务部署使用nacos + spring cloud ...

  2. Spring Cloud Config 加密和解密

    重要 先决条件:要使用加密和解密功能,您需要在JVM中安装全面的JCE(默认情况下不存在).您可以从Oracle下载"Java加密扩展(JCE)无限强度管理策略文件",并按照安装说 ...

  3. Spring Cloud微服务系统架构的一些简单介绍和使用

    Spring Cloud 目录 特征 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序上下文层次结构 改变Bootstrap的位置Properties ...

  4. Spring系列学习之Spring Cloud Contract测试消息传递

    英文原文:https://spring.io/projects/spring-cloud-contract 目录 概述 特性 Spring Boot配置 Server / Producer方面 Cli ...

  5. Spring Cloud Dalston.RELEASE中文文档

    Spring Cloud Dalston.RELEASE中文文档 Spring Cloud 目录 特性 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序 ...

  6. Spring Cloud 中文文档

    Spring Cloud 官方文档 Spring Cloud为开发人员提供了用于快速构建分布式系统中某些常见模式的工具(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调 ...

  7. docker 安装nacos_「Java Spring Cloud 实战之路」 使用nacos配置网关

    0. 前言 在上一节中,我们创建了一个项目架构,后续的项目都会在那个架构上做补充. 1. Nacos 1.1 简介 Nacos可以用来发现.配置和管理微服务.提供了一组简单易用的特性集,可以快速实现动 ...

  8. Spring Cloud Data Flow手动安装

    前言 Spring Cloud Data Flow 2.4.2 win7 简介 Microservice based Streaming and Batch data processing for C ...

  9. Spring Cloud Alibaba Nacos 下载与安装

    Nacos介绍 Nacos(Naming Configuration Service) 是一个易于使用的动态服务发现.配置和服务管理平台,用于构建云原生应用程序 服务发现是微服务架构中的关键组件之一. ...

最新文章

  1. python之time模块和hashlib模块
  2. boost::callable_traits的is_rvalue_reference_member的测试程序
  3. Redis实战(八):面试常问:击穿,穿透,雪崩,分布式锁,API(jedis,luttce,springboot:low/high level)
  4. Discrete Log Algorithms :Baby-step giant-step
  5. 有赞零售财务中台架构设计与实践
  6. MIT6.828 boot.S文件分析
  7. sqli-labs(24)
  8. Android TextView 跑马灯滚动效果
  9. 【JSP简单实现购物车(书本案例代码)】
  10. Windows 生成ffmpeg安卓全平台so
  11. 图论算法 若干定义
  12. 如何给微信公众号自动回复消息上文字加超链接
  13. 投影仪为何要测评?原因就是,不当大冤种
  14. 警告:integer division in floating-point context
  15. 支持DoH的DNS服务器,谷歌公共DNS正式支持DoH加密 更安全并且不影响速度
  16. 【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术
  17. 【单例模式】Python Singleton
  18. Postman接口测试教程_Sinno_Song_新浪博客
  19. HTML+CSS实现(排行榜+棋盘+表格+图片商品列表)
  20. 17未央,我备一曲离殇

热门文章

  1. JAVA在大数据行业为何如此重要?
  2. 从事大数据工作学Java还是Python?
  3. 智能安防哪家强,智能摄像头帮你忙
  4. Oracle入门到精通
  5. iOSCon China 2012系列报道――设计篇
  6. HTML表单:<form>标签
  7. 【mysql 索引】mysql 添加索引
  8. 使用systemctl管理系统服务
  9. 利用无线网络数据包分析无线网络安全
  10. 异象石(信息学奥赛一本通 1554)