php hyperf框架接入链路追踪skywalking
Skywalking介绍
Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。
Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。
skywalking php的地址 github入口
由于公司要上微服务,和异构购语言进行链路的追踪和问题定位选择了skywalking
目前是5.0.1,由于5.0.1暂不支持swoole,官方说需要等5.1,暂时降级到4.2.0
4.2.0支持swoole
下面是部署文档
由于4.2采用的是rpc需要安装rpc组件需要梯子下载,付下载好免费的地址grpc
下载服务端wget https://archive.apache.org/dist/skywalking/8.9.1/apache-skywalking-apm-8.9.1.tar.gztar -zxvf apache-skywalking-apm-8.9.1.tar.gzcd apache-skywalking-apm-bin#启动bin/startup.sh安装php的扩展yum install boost-devel#先安装grpc 必须要安装cmake $ git clone --depth 1 -b v1.34.x https://github.com/grpc/grpc.git /var/local/git/grpc $ cd /var/local/git/grpc $ git submodule update --init --recursive $ mkdir -p cmake/build $ cd cmake/build $ cmake ../.. $ make -j$(nproc)#下载扩展wget https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.2.0.tar.gztar zxvf v4.2.0.tar.gzcd SkyAPM-php-sdk-4.2.0phpize./configure --with-grpc="/var/local/git/grpc"makesudo make install添加配置到php.ini; Loading extensions in PHPextension=skywalking.so; enable skywalkingskywalking.enable = 1; Set skyWalking collector version (5 or 6 or 7 or 8)skywalking.version = 8; Set app code e.g. MyProjectNameskywalking.app_code = php_hyperf_agent; Set grpc addressskywalking.grpc=127.0.0.1:11800skywalking.log_level = enableskywalking.log_path = /tmp/skywalking-php.log重启phpsystemctl restart php8-fpm安装elastic7cd /mnt/toolswget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gztar -zvxf elasticsearch-7.17.4-linux-x86_64.tar.gzcd elasticsearch-7.17.4/vim config/elasticsearch.yml+ network.host: 0.0.0.0+ http.port: 9200+ node.name: node-1+ discovery.seed_hosts: ["node-1"]+ cluster.initial_master_nodes: ["node-1"]+ ingest.geoip.downloader.enabled: falsevim /etc/sysctl.conf#添加vm.max_map_count=655360vim config/jvm.options+ -Xms1g+ -Xmx1gvim /etc/security/limits.conf* soft nproc 4096* hard nproc 4096执行:sysctl -p#添加用户useradd elasticpasswd elastic #密码 123456vim /etc/sudoers#新增 elastic ALL=(ALL) ALLchown -R elastic:elastic elasticsearch-7.17.4切换用户启动bin/elasticsearch# 后台启动bin/elasticsearch -d加入supervisorctlvim /etc/supervisord.d/elastic.ini[program:elastic]command=su -c "/www/tools/elasticsearch-7.17.4/bin//elasticsearch" elasticdirectory=/www/tools/elasticsearch-7.17.4/autorestart=truestartsecs=3startretries=3stdout_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.out.logstderr_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.err.logstdout_logfile_maxbytes=2MBstderr_logfile_maxbytes=2MBuser=rootpriority=999numprocs=1supervisorctl update
Skywalking功能介绍
- 多种监控手段,可以通过语言探针和service mesh获得监控的数据
- 支持多重语言的自动探针,包括JAVA, .NET Core和NodeJS
- 轻量高效,无需大数据平台和大量的服务器资源
- 模块化,UI ,存储,集群管理都有多种机制可选
- 支持告警
- 优秀的可视化解决方案
来源地址:https://blog.csdn.net/xgs736214763/article/details/126418906
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341