Skywalking PHP客户端编译安装 OpenTracing 链路追踪

Skywalking PHP客户端

其实就是一个PHP扩展,按照官方说明来安装就行,
不要相信网上乱七八糟的说法,网上说需要安装report client我搞了半天没明白是啥,
问作者,作者回答不需要这玩意。
安装skywalking扩展官方文档https://github.com/SkyAPM/SkyAPM-php-sdk/blob/master/docs/install.md
因为墙的原因,下载goole子模块会失败,在此分享Protobuf、GRPC的源码百度网盘地址:链接:https://pan.baidu.com/s/1KA1F0syeVs9aGY_e9HZsQw 提取码:01js 链接:https://pan.baidu.com/s/1XIkohUC3EVTEIyHCCx950w 提取码:7oej,下载完成后,可以scp或者共享文件夹的方式传到Linux机器
(顺便说下windows解压缩工具 7z 很好用)

我的环境

ubuntu 18.04
PHP 7.2.24-0ubuntu0.18.04.7
gcc version 7.5.0
cmake 3.18
swoole 4.5.8
skywalking 4.1.1

注意gcc和cmake的版本,越高越好,太低会失败

安装流程

下文中$符号开始的命令表示需要执行的

Install Protobuf

$ sudo apt-get install autoconf automake libtool curl make g++ unzip
# 先下载protobuf文件,我上文分享到百度网盘的,然后解压执行下面的操作
$ cd protobuf
$ ./autogen.sh
$ ./configure
$ make -j$(nproc) # 此过程耗时
$ make check # 此过程耗时,有一个test FAIL也没问题
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

Install GRPC

$ sudo apt-get install build-essential autoconf libtool pkg-config cmake
# 先下载grpc文件,我上文分享到百度网盘的,然后解压执行下面的操作
$ cd grpc
$ mkdir -p cmake/build
$ cd cmake/build
$ cmake ../.. -DBUILD_SHARED_LIBS=ON -DgRPC_INSTALL=ON
$ make -j$(nproc) # 此过程耗时
$ sudo make install
$ make clean
$ sudo ldconfig

Install PHP Extension

$ cd ~
$ curl -Lo v4.1.1.tar.gz https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.1.1.tar.gz
$ tar zxvf v4.1.1.tar.gz
$ cd SkyAPM-php-sdk-4.1.1
$ apt install php7.2-dev # 根据自己的php选择版本
$ apt install libcurl4-gnutls-dev # 当make报错curl不存在时安装即可
$ phpize && ./configure && make && make install

如果报错fatal error: curl/curl.h: No such file or directoryapt-get install libcurl4-openssl-dev

安装cmake3.18(当报错时安装)

如果报错configure: error: wrong gpr lib version or lib not found就重新安装cmake,走上一步重新Install GRPC

$ sudo apt install build-essential libssl-dev
$ sudo apt remove --purge cmake
$ # find last stable release at https://github.com/Kitware/CMake/releases and download the source .tar.gz,eg:
$ wget https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz
$ tar -zxvf cmake-3.18.4.tar.gz
$ cd cmake-3.18.4
$ ./bootstrap
$ make 
$ sudo make install
$ cmake --version
cmake version 3.18.4 CMake suite maintained and supported by Kitware (kitware.com/cmake).

修改php配置文件

$ php --ini 查看php配置文件,例如我的是 Loaded Configuration File: /etc/php/7.2/cli/php.ini 修改ini

$ vim /etc/php/7.2/cli/php.ini
; Loading extensions in PHP
extension=skywalking.so
; enable skywalking
skywalking.enable = 1
; Set skyWalking collector version (5 or 6 or 7 or 8)
;跟你的skywalking服务一般是skywalking8+elasticsearch7
skywalking.version = 8
; Set app code e.g. MyProjectName
skywalking.app_code = php-sky
; Set grpc address
skywalking.grpc=127.0.0.1:11800

此时如果php -m | grep s报错curl扩展没安装,则apt install php7.2-curl安装自己PHP版本的,然后就成功看到了

$ php -m | grep sky
skywalking

swoole的链路监控到了 ,撒花

搭建skywalking服务,按照官方文档操作就好,

最简单大概就是
官网下载elasticsearch7的tar.gz包,启动 ./bin/elasticsearch
官网下载skywalking-for-es7的包,修改配置storage为es7,启动./bin/start.sh

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!