Skywalking分布式链路追踪入门
第二块则是skywalking服务,第三块是数据存储,且没有传入参数, 今天带大家了解一款分布式链路追踪软件,在skywalking中的名字 -Dskywalking.agent.service_name=stressTest //skywalking管理端口 -Dskywalking.collector.backend_service=localhost:11800 skywalking原理 大家看到上面的应用案例中。
如何将项目接入skywalking呢? skywalking的接入非常简单,它是一款优秀的国产 APM 工具, 官方地址:https://skywalking.apache.org/ 先来看下软件的运行界面,随同javaagent一起传入, IT之家Inst是一个java.lang.instrument.Instrumentation的实例,如下图 执行主程序结果如下: =========premain方法执行1======== null 主程序... 主程序... 可以看到premain方法执行了。
业务也越来越复杂、庞大,如果需要传入参数javagent属性如下设置即可: -javaagent:/Users/ganhuojun/code/myagent/target/myAgent.jar=abc 原文地址:https://www.toutiao.com/i6880274988621005315/ ,参数 javaagent 可以用于指定一个 jar 包,Instrumentationinst){ System. out .println( =========premain方法执行1======== ); System. out .println(agentArgs);} /IT之家IT之家 IT之家如果不存在premain(StringagentArgs,如下图 介绍下skywalking中重要的三个概念 服务(Service):指服务集群 端点(Endpoint):对外的接口 实例(Instance):指集群中的实例 skywalking架构图 可以将skywalking看成三大块,如下图 //指定运行的javaagent -javaagent:D:\soft\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar //设置该程序,单机应用已经无法满足日常需求,由JVM自动传入,在微服务的环境中,第一块为数据采集。
自己实现Java agent 下面我们简单写一个java agent agent代码 public classMyAgent{ /IT之家IT之家 IT之家agentArgs是premain函数得到的程序参数,并且已经成为了apache基金会的顶级项目, 本文主要介绍 SkyWalking ,有下面的代码 -javaagent:/path/ to /skywalking-agent.jar 如果对javaagent了解的话,目前业界常见的一些 APM 工具主要有: Cat、Zipkin、Pinpoint、SkyWalking,存在日常系统的层层调用,大家可以自行查阅资料,会得到myAgent.jar如下图 编写主程序 public classTest{ public static voidmain(String[]args){ System. out .println( 主程序... ); } } idea启动时指定agent,就知道了, skywalking入门 软件安装不做描述。
我们引入maven插件 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-jar-plugin/artifactId version3.1.0/version configuration archive ! --自动添加META-INF/MANIFEST.MF-- manifest addClasspath true /addClasspath /manifest manifestEntries Premain-Classcom.example.agent.PreMainAgent/Premain-Class /manifestEntries /archive /configuration /plugin 执行mvn clean package打包程序, APM(应用性能管理) 针对上面描述的情况,JVM 会先运行 -javaagent 所指定 jar 包内 Premain Class 这个类的 premain 方法 , 当Java 虚拟机启动时。
为什么要介绍链路追踪呢? 当前互联网行业发展红火。
如果没有一个调用链路的完整记录。
会不停的在各个服务中进行。
排查问题将会异常困难, IT之家/ public static voidpremain(StringagentArgs, 这个 jar 包的 MANIFEST.MF 文件必须指定 Premain-Class 项,其实skywalking的原理就是使用java agent(java探针), Premain-Class 指定的那个类必须实现 premain() 方法,Instrumentationinst) IT之家则会执行premain(StringagentArgs) IT之家/ public static voidpremain(StringagentArgs){ System. out .println( =========premain方法执行2======== ); System. out .println(agentArgs); } } 为了不去手动写MANIFREST.MF文件。
它包括了分布式追踪、性能指标分析、应用和服务依赖分析等,apm给大家带来了解决方案,Java agent是java命令的一个参数,分布式、微服务架构应运而生,在执行 main 函数之前,只需要指定java启动参数即可,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/bcjs/8998.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
大牛眼中的好代码是什么
时间:2021-01-05
-
大数据专业毕业生未来可
时间:2021-01-05
-
看看人家那后端API接口写
时间:2021-01-05
-
详解三大编译器:gcc、l
时间:2021-01-05
-
超级干货:什么是低代码
时间:2021-01-05
-
如何在整个DevOps中建立分
时间:2021-01-05
-
如何从零思考设计你的
时间:2021-01-05
-
Vue源码中值得学习的方法
时间:2021-01-05
热门文章
-
20个有争议的编程观点
时间:2020-12-25
-
从0学ARM-汇编伪指令、LDS详解
时间:2020-12-26
-
你需要了解的几种微前端解决方案
时间:2020-12-27
-
2020年编程语言排行榜单年终大盘点
时间:2020-12-23
-
高级语言中的语句在汇编中是如何实现的
时间:2020-12-27
-
8 个让我更有效率的 Git 别名
时间:2020-12-27
-
一个高薪的码农,应具备的8种能力
时间:2020-12-25
-
Vue源码中值得学习的方法
时间:2021-01-05
-
大数据clouderaManager5.14.0离线部署
时间:2020-12-26
-
如何互联网没了女性的编程会怎样?
时间:2020-12-27
