SkyWalking PHP Agent 部署
Skywalking(客户端)
Skywalking Php 性能管理工具
Skywalking 可以快速定位系统中哪些调用导致系统变慢,也可以快速定位是哪里导致请求返回非200。
官方地址:http://skywalking.apache.org/
Skywalking Php是Php的实现,即可以跟踪Php编写的程序的调用情况。
官方地址:https://github.com/SkyAPM/SkyAPM-php-sdk
一、安装gcc
- 安装gcc
gcc必须4.9以上版本,我安装的是4.9的,具体安装步骤如下: - 下载
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
- 解压
tar -xvf gcc-4.9.0.tar.gz
cd gcc-4.9.0 - 运行download_prerequisites脚本,这个脚本会自动帮你下 载所需要的依赖文件和库
./contrib/download_prerequisites - 编译
配置
./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
- 验证
gcc -v
二、安装protobuf
- 安装所需依赖
yum install -y autoreconf automake libtool - 下载
wget http://github.com.cnpmjs.org/protocolbuffers/protobuf/archive/refs/tags/v3.7.1.tar.gz - 解压
tar -xvf v3.7.1.tar.gz
cd protobuf-3.7.1/ - 自动生成configure配置文件:
./autogen.sh
./configure - 编译&安装
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
- 拉取代码
git clone -b v1.29.0 --depth 1 https://github.com.cnpmjs.org/grpc/grpc.git
cd grpc - 修改依赖克隆地址
vim .gitmodules
:1,$s/github.com/github.com.cnpmjs.org/g - 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
- 拉取代码
git clone -b v3.3.0 --depth 1 https://github.com.cnpmjs.org/SkyAPM/SkyAPM-php-sdk
cd skywalking-php-sdk/ - 修改依赖克隆地址
vim .gitmodules
git submodule update --init - 安装扩展
/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/ - 添加扩展
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
- download sky-php-agent
wget https://github.com/SkyAPM/SkyAPM-php-sdk/releases/download/3.3.0/sky-php-agent-linux-x64 - 移动复制
mv sky-php-agent-linux-x64 sky-php-agent
chmod +x sky-php-agent
cp sky-php-agent /usr/bin - 运行
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
