“ 别说你最爱的是谁,人生还很长,无法预知明天。”
五月疫情同时经历过一些事,希望好好的。
Skywalking是一款开源全链路监控软件,也是APM工具。APM工具与传统的性能监控工具的区别在于,不仅仅提供一些零散的资源监控点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。
01
—
简介

skywalking是一个开放源码的,用于收集、分析,聚合,可视化来自于不同服务和本地基础服务的数据的可观察的平台,skywalking提供了一个简单的方法来让你对你的分布式系统甚至是跨云的服务有清晰的了解。它更像是一个现代的系统性能管理,特别为分布式系统而设计。

02
—
部署
部署前准备工作
1. elasticsearch作为存储(查看之前文章Elk 7.3 install & config)
2. 下载不了去我的云盘下载,自取
链接:https://pan.baidu.com/s/1iIfy8FtU2wr3nLOnkkrHhg
提取码:da59
安装gcc
wget -c http://mirror.koddos.net/gcc/releases/gcc-4.9.0/gcc-4.9.0.tar.bz2cd gcc-4.9.0./contrib/download_prerequisites./configure --prefix=/opt/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilibmake -j4 && make install
安装jdk
tar -xf jdk-11.0.4.tar.gz
vim /etc/profile
JAVA_HOME=/work/servers/jdk-11.0.4CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/bin:/opt/gcc/binexport PATH JAVA_HOME CLASSPATH
source /etc/profilegcc -v
安装服务端(单节点部署)
tar -xf apache-skywalking-apm-es7-8.2.0.tar.gzmv apache-skywalking-apm-es7-8.2.0 SkyWalkingmkdir -p SkyWalking/status
配置
配置服务端口
vim SkyWalking/webapp/webapp.yml
server:port: 18080collector:path: /graphqlribbon:ReadTimeout: 10000listOfServers: 127.0.0.1:12800
配置连接存储信息
vim SkyWalking/config/application.yml

启动
配置服务化
vim /etc/systemd/system/SkyWalking.service
[Unit]Description=SkyWalkingAfter=network.target[Service]User=workType=forkingPIDFile=/work/servers/nginx/status/SkyWalking.pidExecStart=/work/servers/SkyWalking/bin/startup.shExecReload=/bin/kill -USR2 $MAINPID[Install]WantedBy=multi-user.target
启动,设置服务开机自启
systemctl daemon-reloadsystemctl enable SkyWalkingsystemctl start SkyWalking
注:启动后确认以下3个端口是启动的,缺一不可

安装客户端(sky-php-agent)
安装protobuf
yum install -y autoreconf automake libtoolo penssl-develwget http://github.com.cnpmjs.org/protocolbuffers/protobuf/archive/refs/tags/v3.7.1.tar.gztar -xvf v3.7.1.tar.gzcd protobuf-3.7.1/./autogen.sh./configuremake && make installldconfigprotoc -h
安装cmake
wget https://cmake.org/files/v3.20/cmake-3.20.0.tar.gztar -xf cmake-3.20.0.tar.gzcd cmake-3.20.0./bootstrapgmakemake installln -s /usr/local/bin/cmake /usr/bin/cmake -version
安装grpc
yum install git -ygit clone -b v1.29.0 --depth 1 https://github.com.cnpmjs.org/grpc/grpc.gitcd grpcsed -i 's/github.com/github.com.cnpmjs.org/g' .gitmodulescmake .makecp third_party/protobuf/protobuf.pc /usr/lib64/pkgconfig/cp libs/opt/pkgconfig/grpc++.pc /usr/lib64/pkgconfig/cp libs/opt/pkgconfig/grpc.pc /usr/lib64/pkgconfig/cp libs/opt/pkgconfig/gpr.pc /usr/lib64/pkgconfig/
php版本>=7.0+,安装skywalking扩展
git clone -b v3.3.0 --depth 1 https://github.com.cnpmjs.org/SkyAPM/SkyAPM-php-sdkcd skywalking-php-sdk/sed -i 's/github.com/github.com.cnpmjs.org/g' .gitmodulesgit submodule update --init/work/servers/php/bin/phpize./configure --with-php-config=/work/servers/php/bin/php-configmake && make install
vim /work/config/php/php.ini
extension=skywalking.soskywalking.enable=1skywalking.version=8skywalking.app_code=hello_skywalking #定义名字,UI展示的名字skywalking.sock_path=/work/logs/skywalking/sky-agent.sock
mkdir -p /work/logs/skywalking/
安装 sky-php-agent
cd /usr/local/wget https://github.com/SkyAPM/SkyAPM-php-sdk/releases/download/3.3.0/sky-php-agent-linux-x64mv sky-php-agent-linux-x64 sky-php-agentchmod +x sky-php-agentnohup sky-php-agent --grpc 127.0.0.1:11800 --socket=/work/logs/skywalking/sky-agent.sock --sky-version=8 > /work/logs/skywalking/sky.log &
注:--grpc 服务端不是同一台机器,写服务端对外ip
没写服务化就偷懒了,哈哈哈,自己练习一个,可以参考服务端的服务化
大功告成







