很多站长朋友们都不太清楚php链路跟踪,今天小编就来给大家整理php链路跟踪,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么跟踪到网站访问来源地址 2、 在微服务架构下,如何实现接口调用链路的跟踪? 3、 linux安装全链路追踪工具skywalking8.0 php怎么跟踪到网站访问来源地址echo $_SERVER['HTTP_REFERER'];
当从其它网站点链接访问的时候记录这一个变量。
在微服务架构下,如何实现接口调用链路的跟踪?在传统的单应用架构下,接口的日志监控还是非常简单的,但是随着分布式、微服务架构的兴起,我们会面对更为复杂的服务交互关系;
也就是说,以往的系统,更多的是A系统调用B系统,而现在可能面对这A->B->C->D,而在这种情况下,如果没有链路跟踪的方案,那么查找和定位问题就会非常困难。
理论基础
Google公司研发了Dapper分布式跟踪系统,并发表了论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》;
目前行业内大部分的分布式跟踪方案都是基于这篇论文来实现的;这篇论文中提到了几个比较重要的概念:
A:parentId=null、spanId=1;
B:parentId=1、spanId=2;
C:parentId=2、spanId=3;
D:parentId=2、spanId=4;
实现方案
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
集成zipkin或者spring cloud sleuth都可以的
linux安装全链路追踪工具skywalking8.0SkyWalking是一个针对分布式系统的APM(应用性能监控)系统,特别针对微服务、cloud native和容器化架构,其核心是个分布式追踪系统。它通过探针自动收集所需的指标,且基于探针技术对应用零侵入零耦合。通过这些调用链路以及指标,SkyWalking APM会感知应用间关系和服务间关系,并进行相应的指标统计。
解压后,进入目录,默认自带了agent,这个是用来追踪java项目的。我因为是用来追踪php项目,所以这个用不上,如果要追踪php项目,需要另外安装php的agent,请查看我另外一篇文章( linux安装sky-php-agent )
bin里面是启动文件
config目录里面是配置文件
webapp目录里面是UI界面项目文件和配置文件
默认情况下,只需要更改一下 config/application.yml文件
默认的restHost和gRPCHost的IP为0.0.0.0,我这里改成我这边内网的IP。这里要注意一下,一旦改了IP,就只能用这个IP,比如我这里改成了内网IP,那么用127.0.0.1都不能访问。
如果需要更改UI界面访问的端口,可以修改 webapp/webapp.yml,里面配置文件很简单
注意一下,如果要想能够让受控端访问到skywalking服务,那么必须将12800端口对受控端服务器打开。WEB界面的端口,我这里是8081,大家可以改成自己需要的端口。
变更完配置后,就可以进去bin目录下,运行 startup.sh ,服务就会启动。然后通过http://服务器ip:8081进行界面访问。
受控端如果也启动了的话,这个时候,界面里就自动会出现数据了。
emmmm.....这里有个坑,默认情况下,打开界面什么数据都看不到,这个需要点击右上角的“自动”按钮,让按钮变成蓝色,这个时候就会有数据出现了。
如果还是没有出现数据,那就检查受控端服务是不是已经启动了,或者去看一下logs目录下的日志。如果受控端连接服务端出现错误,就看skywalking-oap-server.log;如果受控端一切正常,界面数据还是不显示,就看webapp.log
我在安装的时候,使用startup.sh启动文件,又遇到一个坑。这个启动文件,无论中间是不是有报错,都会提示启动成功。而且因为没有停止的命令,如果重复运行startup.sh,日志里会提示端口占用。这个时候,需要使用命令先查看占用端口的进程,然后杀掉进程,再重新运营启动文件才可以。
关于php链路跟踪的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。