pinpoint

分布式调用链监控组件的实践与比较(一)实践

荒凉一梦 提交于 2019-12-01 10:01:21
https://blog.csdn.net/ityouknow/article/details/82393097 引言:最近在调研与选型分布式调用链监控组件。选了主要的三种APM组件进行了实践与比较。本来打算一篇文章写完的,篇幅太长,打算分两篇。本文主要讲下链路traceing的基本概念和几种APM组件的实践,实践部分也没给出特别详细的步骤,因为本文重点不在具体的步骤。第二篇将会讲下几种APM选型的比较与性能测试。 1. 问题背景 微服务架构下,服务按照不同的维度进行拆分,一次请求请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。 分布式调用链监控组件在这样的环境下产生了。最出名的是谷歌公开的论文提到的 Dapper 。开发Dapper是为了收集更多的复杂分布式系统的行为信息,然后呈现给Google的开发者们。这样的分布式系统有一个特殊的好处,因为那些大规模的低端服务器,作为互联网服务的载体,是一个特殊的经济划算的平台。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨了不同的应用、不同的服务器之间的关联动作。 市面上的APM

pinpoint1.8.5安装及使用指南

↘锁芯ラ 提交于 2019-12-01 06:18:13
简介 pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的。 各大APM工具,几乎都是根据google这篇经典的Dapper论文而来,一定要读一读。这里是它的源文地址:https://research.google.com/pubs/pub36356.html,感谢这位同学的翻译:http://bigbully.github.io/Dapper-translation/ pinpoint提供了一些功能: 服务映射:通过可视化其组件如何互连来了解任何分布式系统的关联关系。单击节点可显示有关组件的详细信息,例如其当前状态和事务计数。 实时的活跃线程数 请求/响应散点图 调用栈 查看有关应用程序的其他详细信息,例如CPU使用率,内存/垃圾收集,TPS和JVM参数 整个pinpoint架构分为3部分:pinpoint-collector、pinpoint-agent、pinpoint-webUI。 pinpoint-agent:用来收集单个应用的信息,并将收集好的应用信息发送到pinpoint-collector中 pinpoint-collector:用来处理pinpoint-agent发送过来的信息,并将信息收集好之后存储到HBase中 pinpoint

Rainbond:如何制作一个可分享的云市应用?

岁酱吖の 提交于 2019-11-29 13:01:38
应用是Rainbond可管理的最小服务单元,用户可以将多个应用组成一个复杂的业务系统,这套业务系统可以对外提供服务,也可以分享给其他组织独立部署。本文将会通过Solo+Pinpoint( Pinpoint-java性能分析最佳实践 )这个例子,演示“如何制作一个可分享的云市应用”, 分享后的应用可供团队、公司或云市的用户一键安装部署完整的服务体系,实现标准化得一键交付部署。 对于还没有了解Rainbond,或者还没有成功安装Rainbond的同学,建议先到以下的两个链接进行学习: Rainbond介绍 Rainbond一键部署 创建应用 应用的创建有3种方式,分别是从源码创建、从Docker镜像创建和从应用市场安装,详情请参见: 创建一个应用 接下来将会用从源码创建和从应用市场安装—— 同步应用到内部市场 如果内部市场里没有要创建的应用,则需要先从云端下载。 创建应用 首先,通过从应用市场(应用市场是好雨提供的一项公有云服务,提供了常用的开发应用及工具)安装的方式装Pinpoint。这是在云帮平台上部署应用非常简单的一种方式。这种部署方式对于像pinpoint这种多组件的复杂应用来说,最大程度的降低了部署难度与工作量。 进入Rainbond,选择【从云市安装】 在搜索栏中搜索【pinpoint】 选择已有的【应用组】,或者创建一个新的【应用组】 点击【确定】,等待一小段时间后

springboot项目编译、运行优化等相关操作

你离开我真会死。 提交于 2019-11-29 00:43:33
(1)编译打包、执行springboot项目 本地:mvn clean package -U --settings D:\devsoft\apache-maven-3.5.3\conf\hubs1settings.xml -Dmaven.test.skip=true -Pdev 服务器:mvn clean package -U -Dmaven.test.skip=true -Ptest (2)运行springboot项目 java -jar xxx.jar //pinpoint-agent监控的方式启动springboot项目 nohup java -Xms6144m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m -javaagent:/home/xpp/apm/pinpoint-agent/pinpoint-bootstrap.jar -Dpinpoint.agentId=PP_123.16.xx.115 -Dpinpoint.applicationName=crs_bb_bb-xxx-data -jar xxx.jar (3)SpringBoot开启远程debug与远程监控 a.开启远程debug nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket

pinpoint部署管理

妖精的绣舞 提交于 2019-11-28 18:03:23
   本次pinpoint安装使用了docker环境安装,需要预先docker运行环境 1.安装docker环境 2.获取 pinpoint-docker ,安装命令 git clone https://github.com/naver/pinpoint-docker.git git checkout {tag} cd pinpoint-docker docker-compose pull && docker-compose up -d ##若docker-compose不存在,就要安装   链接 https://github.com/naver/pinpoint-docker/blob/1.8.4/docker-compose.yml version: "3.6" services: pinpoint-hbase: build: context: ./pinpoint-hbase/ dockerfile: Dockerfile args: - PINPOINT_VERSION=${PINPOINT_VERSION} container_name: "${PINPOINT_HBASE_NAME}" image: "pinpointdocker/pinpoint-hbase:${PINPOINT_VERSION}" networks: - pinpoint volumes: -

分布式调用链调研(pinpoint,skywalking,jaeger,zipkin等对比)

☆樱花仙子☆ 提交于 2019-11-28 11:36:30
1. APM简述 APM (Application Performance Management)是对企业的应用系统进行实时监控,它是用于实现对应用程序性能管理和故障管理的系统化的解决方案。 2.APM主要解决的问题: 集中式度量系统 分布式全链接追踪系统 集中式日志系统(elk) ...... 3.分布式调用追踪(APM)一览 google的Drapper--未开源,最早的APM 阿里-鹰眼--未开源 大众点评——CAT--跨服务的跟踪功能与点评内部的RPC框架集成,这部分未开源且项目在2014.1已经停止维护。服务粒度的监控,通过代码埋点的方式来实现监控,比如: 拦截器,注解,过滤器等,对代码的侵入性较大,集成成本较高。 Hydra-京东: 与dubbo框架集成,对于服务级别的跟踪统计,现有业务可以无缝接入。对于细粒度的兴趣点,需要业务人员手动添加.开源项目已于2013年6月停止维护 PinPoint-naver,字节码探针技术,代码无侵入,体系完善不易修改,支持java,技术栈支持dubbo.其他语言社区支援中 zipkin--java方便集成于springcloud,社区支持的插件也包括dubbo,rabbit,mysql,httpclient等( https://github.com/openzipkin/brave/tree/master/instrumentation

APM应用性能管理工具Pinpoint测评

妖精的绣舞 提交于 2019-11-28 11:36:01
Pinpoint (应用程序性能管理)工具 使用手册 Pinpoint 是一个APM(应用程序性能管理)工具,适用于用Java / PHP 编写的大型分布式系统。受 Dapper 的 启发,Pinpoint提供了一种解决方案,通过跟踪分布式应用程序之间的事务,帮助分析系统的整体结构以及它们中的组件如何相互连接。 Pinpoint 优点: 一目了然地了解您的 应用程序拓扑 监控应用程序的实时 获得每个事务的代码级可见性 在不更改单行代码的情况下安装APM代理 对性能的影响最小(资源使用量增加约3%) 如今的服务通常由许多不同的组件组成,它们之间进行通信以及对外部服务进行API调用。精确定位跟踪这些组件之间的事务流,并提供清晰的视图以识别问题区域和潜在的瓶颈。 现在公司内部测试环境搭建了服务,加入了客流组的其中一台测试机作为监控对象,测试应用为 tomcat 9 。 测试系统访问路径: http://192.168.108.60:28080 提供的监控功能大致如下 ServerMap - 通过可视化其组件的互连方式,了解任何分布式系统的拓扑。单击节点可显示有关组件的详细信息,例如其当前状态和事务计数。 实时活动线程图 - 实时监控应用程序内的活动线程。 请求/响应散点图 - 随时间可视化请求计数和响应模式以识别潜在问题。通过拖动图表可以选择交易以获得更多细节。 CallStack -

centos 6 下pinpoint搭建

青春壹個敷衍的年華 提交于 2019-11-27 07:27:24
Centos 6 Pinpoint 环境搭建 一安装 jdk1.6 、 1.7 、 1.8 备注:在安装过程中发现,最新的pinpoint 1.5.2与最新的JDK1.8好像不兼容,所以设置系统环境变量和jre用jdk1.7,pinpoint安装1.5.1版本 , 环境变量如下: 6 和 7 指向同一个 jdk 无所谓。 export JAVA_6_HOME=/usr/service/jdk1.7.0_80 export JAVA_7_HOME=/usr/service/jdk1.7.0_80 export JAVA_8_HOME=/usr/service/jdk1.8.0_65 export MAVEN_HOME=/usr/service/apache-maven-3.2.5 export PATH=$JAVA_6_HOME/bin:$PATH:$MAVEN_HOME/bin:$JAVA_6_HOME/jre/bin export CLASS_PATH=.:$JAVA_6_HOME/lib/dt.jar:$JAVA_6_HOME/lib/tool.jar:$JAVA_6_HOME/jre/lib 二 安装 maven 1:下载maven压缩包,apache-maven-3.2.5-bin.tar.gz 解压 2 :设置 MAVEN_HOME 环境变量 MAVEN_HOME=

1 监控概述

心已入冬 提交于 2019-11-26 17:49:19
1、监控概述 监控 《架构师必备之运维监控》赵班长 概述:(四海八荒都要会的) 初级(凡人) 1.识别监控对象 (分级) 2.理解监控对象 (理论知识-马步) 3.细分监控对象的指标 4.确定告警的基准线 预中级(费县)(预生产) 1.工具化和监控分离 2.监控对象的分类 2.1 硬件监控 (方法:机房巡检、IPMI、SNMP) 2.2 系统监控 (对象:CPU、内存、IO【磁盘、网络】) 2.3 服务监控 (对象:各类服务[Nginx|Tomcat|RabbitMQ|OpenStack|MySQL|*]) 2.4 日志监控 (方法:Elastic Stack) 2.5 网络监控 (方法:第三方、Smokeping) 2.6 APM应用性能管理: (工具:PINPoint) 听云 监控宝 PINPoint https://github.com/naver/pinpoint 2.7 流量监控 (工具:Piwik、XX统计、XX分析) 2.8 其他监控 (APP监控、安全监控、业务监控、舆论监控、XX监控等等) 3.掌握一个监控工具。例如zabbix 中级(渡劫)(不要轻易说自己是高级) 0.标准化监控 (标准化的脚本、模板、....) 1.分布式监控 (主动,被动,分布式) 2.自动化监控 (自动发现,主动注册(Agent主动注册,Server主动添加(API))、) 3.性能优化

使用init-containers满足程序猿刚需

♀尐吖头ヾ 提交于 2019-11-25 21:12:54
随着现网生产环境容器化改造逐步完成,核心的业务都由K8S集群中的pod对外提供服务。各个微服务应用间的内部资源调用次数、调用链耗时、调用阈值告警、超时错误等信息指标对保障业务健康运行来说显得非常重要。由于现网使用的是云容器引擎服务,公有云提供了一整套的解决方案。下面是华为云和阿里云相关的产品介绍,总体来说,借助这类的工具,可以快速的查看微服务的各项指标和调用情况,定位相关的问题。 https://support.huaweicloud.com/apm/index.html https://help.aliyun.com/document_detail/63796.html?spm 那么刚需来了,程序猿希望内网开发和测试环境能对照现网生产环境也来这么一套差不多的监控工具,一些隐藏的问题不需要等到上了生产环境才能发现。 问:运维同学要怎么满足这个需求呢? 答:开发和测试环境也迁移上公有云。 PS:心里想想就算了! 本文介绍使用pinpoint满足程序猿这个合理需求。 一、Pinpoint是什么? pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。关于pinpoint服务端的部署可参考下列的文档。 https://www.cnblogs.com/yyhh/p/6106472.html 二、需求分析 1