APM

聊聊对APM的理解

烈酒焚心 提交于 2020-03-05 22:00:17
本文主要从以下几个列举对APM的认识: -什么是APM工具 -为什么要用APM工具,APM工具的价值在哪里; -什么样的APM工具适合于传统金融业; -如何用好APM工具; -精准告警 -深入分析 -可视化展示 -如何与传统监控融合 -APM工具与大数据之间的探讨 注 :文中APM的一些解释来自互联网运维大牛的干货,比较零散,不一一列举出处。 1、什么是APM工具,它的分类有哪些 APM,应用性能管理,通过对关键业务系统进行监测、告警与优化,不断改善业务可靠性与稳定性,为客户提供良好的服务,提升核心竞争力。 最早的APM主要是网络为中心,对基础设备的性能数据进行收集与加工,并提供给企业客户,相当于提供一种事后数据的简单处理与告警监控功能。随着APM市场的发展,目前的APM工具在性能监控的基础上有了进化,更加关注于运维数据分析,比如客户端到端的体验情况怎么样?性能瓶颈在哪里?而且当前的APM工具以数据分析为中间实现了更好的可视化,更快更精准预警,更强的问题关联定位等特性。 2、为什么要用APM工具,APM工具的价值在哪里 我们运维人员经常会遇到这样一些场景: -客户投诉系统慢了或无法访问; -看资源、查日志、查数据库; -找开发、找客服、找业务、找客户问情况; -偶发性?无法定位或定位不准?应急方案?重启试试? …… 上述场景在运维当中很普遍

介绍一些适用于 Web 开发者的 Atom 编辑器插件

ぃ、小莉子 提交于 2020-03-05 07:35:03
Atom 的社区很繁荣,有着丰富的扩展/插件( packages )。安装 Atom 的 Package 非常简单,可以在编辑器的偏好设置里面安装,也可以在命令行中使用 apm 命令来安装。 在介绍适用于 WEB 开发的 Package 之前,让我们快速过下如何安装 Atom Packages。 安装 Atom Package 通过偏好设置安装 Package 使用快捷键 command + , / ctrl + , 打开偏好设置。点击左侧的 Install 即可浏览线上的 Package 。 顶部是一个搜索框,可以搜索已经发布在 atom.io 上的 Package ;紧接着是 Feature Packages ,即精选的 Package ,列出来的是一些比较优质的 Package 。 Install atom packages 通过 apm 命令安装 Package Atom 自带了一个 apm 的 Package 管理工具。我们可以在命令行下执行以下命令来确认 apm 是否已经安装: apm help install 命令之后应该输出 apm install 的详细信息。如果输出不是 apm install 的命令信息,打开 Atom 菜单,选择 Install Shell Commands 来安装 apm 。 确认 apm 正确安装后,便可以开始安装 Package

聊聊skywalking的TraceSegmentServiceClient

可紊 提交于 2020-03-02 21:25:58
序 本文主要研究一下skywalking的TraceSegmentServiceClient TracingContextListener skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContextListener.java public interface TracingContextListener { void afterFinished(TraceSegment traceSegment); } TracingContextListener定义了afterFinished方法,其参数为TraceSegment TraceSegment skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/TraceSegment.java public class TraceSegment { private ID traceSegmentId; private List<TraceSegmentRef> refs; private List

  iOS dSYM文件结构剖析(上)

感情迁移 提交于 2020-03-02 19:26:04
  在iOS App开发过程中,我们会利用Xcode打包,生成.xcarchive的包文件,通过Xcode的Organizer工具可以管理、导出发布文件,相信iOS开发对于这些过程都相当的熟悉,这里就不再赘述。主要想说的是,打包之后的dSYM文件。   通过以下方式获取dSYM文件,首先打开Archives管理窗口,如下图:   每Archive一次,都会生成一条记录,找到当前记录所在的目录,如下图:   打开.xcarchive包文件会看到其目录结构,dSYMs中的dSYM包文件就是我们接下来要剖析的文件了。dSYM同样个包文件,打开之后,我们会找到一个二进制文件,如下图,例子中是一个叫Demo的二进制文件。   从目录名中,可以看出iOS使用的是DWARF文件结构,DWARF(可能的解释是:Debugging With Attributed RecordFormats)是一种调试文件结构标准,结构相当的复杂。关于DWARF的前世今生,从何而来,为何而来,如何发展,请参考DWARF官网或网上搜索。   dSYM文件的一个重要的作用在于当我们的程序发生崩溃,通过crash log或其他方式,会看到调用栈信息,通过log信息,我们并不知道具体是在那个文件的哪个位置出了问题,这个时候这个二进制文件就非常的有用了,通过它我们可以通过工具去符号化,比如Xcode自带的atos

聊聊skywaking的CommandService

与世无争的帅哥 提交于 2020-02-29 10:14:22
序 本文主要研究一下skywalking的CommandService CommandService skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/commands/CommandService.java @DefaultImplementor public class CommandService implements BootService, Runnable { private static final ILog LOGGER = LogManager.getLogger(CommandService.class); private volatile boolean isRunning = true; private ExecutorService executorService = Executors.newSingleThreadExecutor(); private LinkedBlockingQueue<BaseCommand> commands = new LinkedBlockingQueue<BaseCommand>(64); private CommandSerialNumberCache

聊聊SkyWalkingAgent

独自空忆成欢 提交于 2020-02-27 01:13:46
序 本文主要研究一下SkyWalkingAgent SkyWalkingAgent skywalking-6.6.0/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java public class SkyWalkingAgent { private static final ILog logger = LogManager.getLogger(SkyWalkingAgent.class); /** * Main entrance. Use byte-buddy transform to enhance all classes, which define in plugins. * * @param agentArgs * @param instrumentation * @throws PluginException */ public static void premain(String agentArgs, Instrumentation instrumentation) throws PluginException, IOException { final PluginFinder pluginFinder; try {

APM入门与实战

╄→尐↘猪︶ㄣ 提交于 2020-02-26 04:59:26
篇幅一:APM基础篇 1、什么是APM? APM,全称:Application Performance Management ,目前市面的系统基本都是参考Google的Dapper(大规模分布式系统的跟踪系统)来做的,翻译传送门 《google的Dapper 中文翻译》 思考下:不遵守该理论的是伪APM,耍流氓吗? APM的核心思想是什么? 在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。比如两个应用服务节点之间使用 HTTP 作为传输协议的话,那么这些标记就会被加入到 HTTP 头中。可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。 2、为什么要用APM? 有业务痛点,才要寻求解决方案,个人认为,APM需要优先解决测试环境下两个场景问题,基于测试先行的原则考虑: 优先关注宏观数据,并不是说测试人员无须关注微观层面的问题, 在测试角度来看,先解决性能测试环境的数据采样、收集问题,再去评估生产环境 ,而线上的链路监控需要研发跟运维去配合,【研发角度场景】相对于测试人员来说是弱关注了。</br> 3、市面上有哪些APM工具? Pinpoint Pinpoint is an open source APM

微服务实战(十二)微服务的调用链路追踪 Skywalking

五迷三道 提交于 2020-02-22 23:39:16
本章主要内容 本章主要介绍如何去追踪各微服务的调用过程。在之前章节我们讲解了用Feign在微服务之间进行相互调用,那么在整个微服务体系运行时,我们怎么宏观地监测和跟踪这些微服务的调用过程呢?接下来我们就引入:微服务链路追踪技术 链路追踪技术汇总 现在比较流行的链路追踪框架主要有 Zipkin,Pinpoint,SkyWalking,CAT 主流技术对比: https://blog.csdn.net/u011177064/article/details/104383133 Skywalking简介 通过比较,从代码侵入、性能、UI等角度,我比较倾向于使用 Skywalking。 SkyWalking 是观察性分析平台和应用性能管理系统。 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。 官网介绍地址 快速上手使用 下载 首先,我们下载Skywalking最新稳定版 下载地址: http://skywalking.apache.org/zh/downloads/ 我们目前只想快速地使用起来,那么下载Distribution的版本即可。 Skywalking 包含两大部分: 代理端:/agent 目录 , 启动实际应用前,添加 jvm 参数,使用 javaagent 技术监控 应用。 服务端:/bin 目录中有启动脚本,用于收集监控数据以及可视化界面展示。 启动

企业有了传统监控工具如Zabbix,真的还需要应用性能监控工具(APM)?

本秂侑毒 提交于 2020-02-10 17:30:15
首先我们来重新定义一下APM是什么? APM网上大部分的资料上全称为Application Performance Management。从名称来看,它的出现,目的来自于运维监控领域对于应用提供服务快慢,用户体验感知的空白。大部分国内外APM产品提供者也主要关注在性能方面。但是运维的最终目标还是保证业务不中断,提高业务稳定性。很多还没有把业务性能纳入管理范围的IT部门会觉得APM有必要吗?APM的核心技术字节码增强技术可以让应用的运行状态和执行状态由线上黑盒转变为白盒,对方法调用,外部服务调用,应用调用关系可视化,这些功能对于故障的发现和定位也有很大的作用。由于IT技术的普及和发展,行业竞争也不仅仅停留在业务有没有、能不能用的这个层次,用户体验或者说性能成为了业务客户粘性的重要指标,因此运维的工作也逐渐包含了用户访问业务比较慢的一些问题处理。很多企业的运维确实也面临到了这部分问题的处理,这部门企业无可置疑可以从APM得到更显而易见的问题的解决。 总结来说,我们认为APM的P应该包含两部分监控:Problem & Performance。非常肯定的是仅有传统监控是不够的。传统运维监控主要包含三个层次: 1、基础设施监控,感知硬件故障、资源使用情况; 2、网络环境监控,感知网络通断、网络设备故障、网络使用状态; 3、应用监控,感知进程存活状态、应用访问情况。 Zabbix因为支持jmx

Atom改国内源

梦想的初衷 提交于 2020-02-05 02:15:45
linux 进入目录 cd /home/你的用户名/.atom 创建文件并编辑 vim .apmrc 添加国内源 registry=https://registry.npm.taobao.org 保存退出 测试是否成功 apm install --check windows 进入目录 找到C:\Users\用户名.atom目录 创建名为 .apmrc 的文件并编辑 添加国内源 registry=https://registry.npm.taobao.org strict-ssl=false 保存退出 测试是否成功 apm install --check 重新打开atom搜索安装插件即可 来源: CSDN 作者: 云疏不知数 链接: https://blog.csdn.net/qq_43808700/article/details/104174998