SkyWalking PHP Agent 部署

Skywalking(客户端)

Skywalking Php 性能管理工具

Skywalking 可以快速定位系统中哪些调用导致系统变慢,也可以快速定位是哪里导致请求返回非200。

官方地址:http://skywalking.apache.org/

Skywalking Php是Php的实现,即可以跟踪Php编写的程序的调用情况。

官方地址:https://github.com/SkyAPM/SkyAPM-php-sdk

一、安装gcc

  1. 安装gcc
    gcc必须4.9以上版本,我安装的是4.9的,具体安装步骤如下:
  2. 下载
    mkdir -p /opt/gcc
    cd /opt/gcc

国内镜像:http://mirror.hust.edu.cn/gnu/gcc/

wget http://mirror.hust.edu.cn/gnu/gcc/gcc-4.9.0/gcc-4.9.0.tar.gz

  1. 解压
    tar -xvf gcc-4.9.0.tar.gz
    cd gcc-4.9.0
  2. 运行download_prerequisites脚本,这个脚本会自动帮你下 载所需要的依赖文件和库
    ./contrib/download_prerequisites
  3. 编译

配置
./configure --prefix=/opt/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib
需要安装zlib库,缺少那个安装那个

编译&安装
make && make install

添加环境变量

echo 'export PATH=/opt/gcc/bin:$PATH' >> /etc/profile

source /etc/profile

  1. 验证
    gcc -v

二、安装protobuf

  1. 安装所需依赖
    yum install -y autoreconf automake libtool
  2. 下载
    wget http://github.com.cnpmjs.org/protocolbuffers/protobuf/archive/refs/tags/v3.7.1.tar.gz
  3. 解压
    tar -xvf v3.7.1.tar.gz
    cd protobuf-3.7.1/
  4. 自动生成configure配置文件:
    ./autogen.sh
    ./configure
  5. 编译&安装
    make && make install

刷新共享库
ldconfig

验证
protoc -h

三、安装cmake

1.下载
wget https://cmake.org/files/v3.20/cmake-3.20.0.tar.gz

2.解压
tar -xvf cmake-3.20.0.tar.gz
cd cmake-3.20.0/
./bootstrap
报错提示:ibstdc++.so.6: version `GLIBCXX_3.4.20' not found

strings /usr/lib64/libstdc++.so.6|grep GLIBCXX
strings /opt/gcc/lib64/libstdc++.so.6|grep GLIBCXX
当前的版本的没有发现GLIBCXX_3.4.21,但是我刚装个gcc5.3.0
gcc的安装路径,找到了新的libstdc++:
cd /usr/lib64/
ll libstdc*
cp /opt/gcc/lib64/libstdc++.so.6.0.20 ./
ll libstdc*
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.20 libstdc++.so.6
ll libstdc*

编译&安装
./bootstrap
gmake
make install
cd /usr/bin/
mv cmake cmake2
ll
ln -s /usr/local/bin/cmake /usr/bin/
cmake -version

四、安装grpc

  1. 拉取代码
    git clone -b v1.29.0 --depth 1 https://github.com.cnpmjs.org/grpc/grpc.git
    cd grpc
  2. 修改依赖克隆地址
    vim .gitmodules
    :1,$s/github.com/github.com.cnpmjs.org/g
  3. cmake 编译
    cmake .
    make

五、源码安装php(Skywalking要求Php的版本>=7.0以上)
(略)

六、配置grpc, protobuf,可以被SkyWaling php编译找到
cp /data/soft/grpc/third_party/protobuf/protobuf.pc /usr/lib64/pkgconfig/
cp /data/soft/grpc/libs/opt/pkgconfig/grpc++.pc /usr/lib64/pkgconfig/
cp /data/soft/grpc/libs/opt/pkgconfig/grpc.pc /usr/lib64/pkgconfig/
cp /data/soft/grpc/libs/opt/pkgconfig/gpr.pc /usr/lib64/pkgconfig/

七、编译Skywalking php

  1. 拉取代码
    git clone -b v3.3.0 --depth 1 https://github.com.cnpmjs.org/SkyAPM/SkyAPM-php-sdk
    cd skywalking-php-sdk/
  2. 修改依赖克隆地址
    vim .gitmodules
    git submodule update --init
  3. 安装扩展
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install
    ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/
  4. 添加扩展
    vim /usr/local/php/etc/php.ini

扩展so
extension=skywalking.so
; 是否启用:0 关闭;1 启用 (默认值为0)
skywalking.enable=1
; skywalking的版本:
skywalking.version=8
; app_code代码,不要含特殊字符,请使用数字、字母、下换线。(默认为:hello_skywalking)
skywalking.app_code=hello_skywalking
; sock文件路径(默认值为/tmp/sky-agent.sock)
skywalking.sock_path=/data/logs/skywalking/sky-agent.sock

八、安装sky-php-agent

  1. download sky-php-agent
    wget https://github.com/SkyAPM/SkyAPM-php-sdk/releases/download/3.3.0/sky-php-agent-linux-x64
  2. 移动复制
    mv sky-php-agent-linux-x64 sky-php-agent
    chmod +x sky-php-agent
    cp sky-php-agent /usr/bin
  3. 运行
    sky-php-agent --grpc 127.0.0.1:11800 --socket=//data/logs/skywalking/sky-agent.sock --sky-version=8 # ip和端口换成 skywalking 服务器端的
    nohup sky-php-agent --grpc 127.0.0.1:11800 --socket=//data/logs/skywalking/sky-agent.sock --sky-version=8 > sky.log &

标题:SkyWalking PHP Agent 部署
作者:LeeOcean
地址:https://www.leiocean.com/articles/2021/05/08/1620446784646.html

    评论
    0 评论
avatar

取消