• 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

    1. 下载服务端
    2. wget https://archive.apache.org/dist/skywalking/8.9.1/apache-skywalking-apm-8.9.1.tar.gz
    3. tar -zxvf apache-skywalking-apm-8.9.1.tar.gz
    4. cd apache-skywalking-apm-bin
    5. #启动
    6. bin/startup.sh
    7. 安装php的扩展
    8. yum install boost-devel
    9. #先安装grpc 必须要安装cmake
    10. $ git clone --depth 1 -b v1.34.x https://github.com/grpc/grpc.git /var/local/git/grpc
    11. $ cd /var/local/git/grpc
    12. $ git submodule update --init --recursive
    13. $ mkdir -p cmake/build
    14. $ cd cmake/build
    15. $ cmake ../..
    16. $ make -j$(nproc)
    17. #下载扩展
    18. wget https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.2.0.tar.gz
    19. tar zxvf v4.2.0.tar.gz
    20. cd SkyAPM-php-sdk-4.2.0
    21. phpize
    22. ./configure --with-grpc="/var/local/git/grpc"
    23. make
    24. sudo make install
    25. 添加配置到php.ini
    26. ; Loading extensions in PHP
    27. extension=skywalking.so
    28. ; enable skywalking
    29. skywalking.enable = 1
    30. ; Set skyWalking collector version (5 or 6 or 7 or 8)
    31. skywalking.version = 8
    32. ; Set app code e.g. MyProjectName
    33. skywalking.app_code = php_hyperf_agent
    34. ; Set grpc address
    35. skywalking.grpc=127.0.0.1:11800
    36. skywalking.log_level = enable
    37. skywalking.log_path = /tmp/skywalking-php.log
    38. 重启php
    39. systemctl restart php8-fpm
    40. 安装elastic7
    41. cd /mnt/tools
    42. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
    43. tar -zvxf elasticsearch-7.17.4-linux-x86_64.tar.gz
    44. cd elasticsearch-7.17.4/
    45. vim config/elasticsearch.yml
    46. + network.host: 0.0.0.0
    47. + http.port: 9200
    48. + node.name: node-1
    49. + discovery.seed_hosts: ["node-1"]
    50. + cluster.initial_master_nodes: ["node-1"]
    51. + ingest.geoip.downloader.enabled: false
    52. vim /etc/sysctl.conf
    53. #添加
    54. vm.max_map_count=655360
    55. vim config/jvm.options
    56. + -Xms1g
    57. + -Xmx1g
    58. vim /etc/security/limits.conf
    59. * soft nproc 4096
    60. * hard nproc 4096
    61. 执行:sysctl -p
    62. #添加用户
    63. useradd elastic
    64. passwd elastic
    65. #密码 123456
    66. vim /etc/sudoers
    67. #新增
    68. elastic ALL=(ALL) ALL
    69. chown -R elastic:elastic elasticsearch-7.17.4
    70. 切换用户启动
    71. bin/elasticsearch
    72. # 后台启动
    73. bin/elasticsearch -d
    74. 加入supervisorctl
    75. vim /etc/supervisord.d/elastic.ini
    76. [program:elastic]
    77. command=su -c "/www/tools/elasticsearch-7.17.4/bin//elasticsearch" elastic
    78. directory=/www/tools/elasticsearch-7.17.4/
    79. autorestart=true
    80. startsecs=3
    81. startretries=3
    82. stdout_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.out.log
    83. stderr_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.err.log
    84. stdout_logfile_maxbytes=2MB
    85. stderr_logfile_maxbytes=2MB
    86. user=root
    87. priority=999
    88. numprocs=1
    89. supervisorctl update

     

     

    Skywalking功能介绍

    • 多种监控手段,可以通过语言探针和service mesh获得监控的数据
    • 支持多重语言的自动探针,包括JAVA, .NET Core和NodeJS
    • 轻量高效,无需大数据平台和大量的服务器资源
    • 模块化,UI ,存储,集群管理都有多种机制可选
    • 支持告警
    • 优秀的可视化解决方案
  • 相关阅读:
    Baumer工业相机堡盟工业相机如何通过NEOAPISDK实现根据每次触发信号移动感兴趣区域ROI(C#)
    合并两个有序数组
    C++中菱形继承中的多态在底层是如何实现的。
    7 RESTful
    江西涉农县开展一对一指导服务 国稻种芯:重点保障水稻生长
    hcie网上培训的优势什么?
    LeetCode 2731. 移动机器人:脑筋急转弯
    数组——C语言初阶
    I2C总线协议
    数字化门店| 运动场馆管理系统| 智慧门店小程序
  • 原文地址:https://blog.csdn.net/xgs736214763/article/details/126418906