暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Skywalking 部署

运维技术经验分享 2021-06-23
1511


 别说你最爱的是谁,人生还很长,无法预知明天。




五月疫情同时经历过一些事,希望好好的。


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.bz2
cd gcc-4.9.0
./contrib/download_prerequisites
./configure --prefix=/opt/gcc --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 && make install
复制


安装jdk

tar -xf jdk-11.0.4.tar.gz
复制


vim /etc/profile

JAVA_HOME=/work/servers/jdk-11.0.4
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:/opt/gcc/bin
export PATH JAVA_HOME CLASSPATH
复制

   

 source /etc/profile
gcc -v
复制


安装服务端(单节点部署)

tar -xf  apache-skywalking-apm-es7-8.2.0.tar.gz
mv apache-skywalking-apm-es7-8.2.0 SkyWalking
mkdir -p SkyWalking/status
复制


配置

配置服务端口

vim SkyWalking/webapp/webapp.yml

server:
port: 18080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
listOfServers: 127.0.0.1:12800
复制

配置连接存储信息

vim SkyWalking/config/application.yml 


启动

配置服务化

vim /etc/systemd/system/SkyWalking.service

[Unit]
Description=SkyWalking
After=network.target
[Service]
User=work
Type=forking
PIDFile=/work/servers/nginx/status/SkyWalking.pid
ExecStart=/work/servers/SkyWalking/bin/startup.sh
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
复制


启动,设置服务开机自启

systemctl daemon-reload
systemctl enable SkyWalking
systemctl start SkyWalking
复制

注:启动后确认以下3个端口是启动的,缺一不可


安装客户端(sky-php-agent

安装protobuf

yum install -y autoreconf automake libtoolo penssl-devel
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/
./autogen.sh
./configure
make && make install
ldconfig
protoc -h
复制



安装cmake

wget https://cmake.org/files/v3.20/cmake-3.20.0.tar.gz
tar -xf cmake-3.20.0.tar.gz
cd cmake-3.20.0
./bootstrap
gmake
make install
ln -s /usr/local/bin/cmake /usr/bin/
cmake -version


复制


安装grpc

yum install git -y
git clone -b v1.29.0 --depth 1 https://github.com.cnpmjs.org/grpc/grpc.git
cd grpc
sed -i 's/github.com/github.com.cnpmjs.org/g' .gitmodules
cmake .
make
cp 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-sdk
cd skywalking-php-sdk/
sed -i 's/github.com/github.com.cnpmjs.org/g' .gitmodules
git submodule update --init
/work/servers/php/bin/phpize
./configure --with-php-config=/work/servers/php/bin/php-config
make && make install
复制


vim /work/config/php/php.ini

extension=skywalking.so
skywalking.enable=1
skywalking.version=8
skywalking.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-x64
mv sky-php-agent-linux-x64 sky-php-agent
chmod +x sky-php-agent
nohup 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

没写服务化就偷懒了,哈哈哈,自己练习一个,可以参考服务端的服务化


大功告成

 



文章转载自运维技术经验分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论