php鏈路追蹤框架skywalking介紹
Skywalking介紹
Skywalking是一個(gè)國(guó)產(chǎn)的開(kāi)源框架,2015年有吳晟個(gè)人開(kāi)源,2017年加入Apache孵化器,國(guó)人開(kāi)源的產(chǎn)品,主要開(kāi)發(fā)人員來(lái)自于華為,2019年4月17日Apache董事會(huì)批準(zhǔn)SkyWalking成為頂級(jí)項(xiàng)目,支持Java、.Net、NodeJs等探針,數(shù)據(jù)存儲(chǔ)支持Mysql、Elasticsearch等,跟Pinpoint一樣采用字節(jié)碼注入的方式實(shí)現(xiàn)代碼的無(wú)侵入,探針采集數(shù)據(jù)粒度粗,但性能表現(xiàn)優(yōu)秀,且對(duì)云原生支持,目前增長(zhǎng)勢(shì)頭強(qiáng)勁,社區(qū)活躍。
Skywalking是分布式系統(tǒng)的應(yīng)用程序性能監(jiān)視工具,專為微服務(wù),云原生架構(gòu)和基于容器(Docker,K8S,Mesos)架構(gòu)而設(shè)計(jì),它是一款優(yōu)秀的APM(Application Performance Management)工具,包括了分布式追蹤,性能指標(biāo)分析和服務(wù)依賴分析等。
由于公司要上微服務(wù),和異構(gòu)購(gòu)語(yǔ)言進(jìn)行鏈路的追蹤和問(wèn)題定位選擇了skywalking
目前是5.0.1,由于5.0.1暫不支持swoole,官方說(shuō)需要等5.1,暫時(shí)降級(jí)到4.2.0

4.2.0支持swoole
下面是部署文檔
由于4.2采用的是rpc需要安裝rpc組件需要梯子下載,付下載好免費(fèi)的地址grpc
下載服務(wù)端
wget https://github.com/apache/skywalking/archive/refs/tags/v8.9.1.tar.gz
tar -zxvf v8.9.1.tar.gz
cd apache-skywalking-apm-bin
#啟動(dòng)
bin/startup.sh
安裝php的擴(kuò)展
yum install boost-devel
#先安裝grpc 必須要安裝cmake
$ git clone --depth 1 -b v1.34.x https://github.com/grpc/grpc.git /var/local/git/grpc
$ cd /var/local/git/grpc
$ git submodule update --init --recursive
$ mkdir -p cmake/build
$ cd cmake/build
$ cmake ../..
$ make -j$(nproc)
#下載擴(kuò)展
wget https://github.com/SkyAPM/SkyAPM-php-sdk/archive/v4.2.0.tar.gz
tar zxvf v4.2.0.tar.gz
cd SkyAPM-php-sdk-4.2.0
phpize
./configure --with-grpc="/var/local/git/grpc"
make
sudo make install
添加配置到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.version = 8
; Set app code e.g. MyProjectName
skywalking.app_code = php_hyperf_agent
; Set grpc address
skywalking.grpc=127.0.0.1:11800
skywalking.log_level = enable
skywalking.log_path = /tmp/skywalking-php.log
重啟php
systemctl restart php8-fpm
安裝elastic7
cd /mnt/tools
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
tar -zvxf elasticsearch-7.17.4-linux-x86_64.tar.gz
cd elasticsearch-7.17.4/
vim config/elasticsearch.yml
+ network.host: 0.0.0.0
+ http.port: 9200
+ node.name: node-1
+ discovery.seed_hosts: ["node-1"]
+ cluster.initial_master_nodes: ["node-1"]
+ ingest.geoip.downloader.enabled: false
vim /etc/sysctl.conf
#添加
vm.max_map_count=655360
vim config/jvm.options
+ -Xms1g
+ -Xmx1g
vim /etc/security/limits.conf
* soft nproc 4096
* hard nproc 4096
執(zhí)行:sysctl -p
#添加用戶
useradd elastic
passwd elastic
#密碼 123456
vim /etc/sudoers
#新增
elastic ALL=(ALL) ALL
chown -R elastic:elastic elasticsearch-7.17.4
切換用戶啟動(dòng)
bin/elasticsearch
# 后臺(tái)啟動(dòng)
bin/elasticsearch -d
加入supervisorctl
vim /etc/supervisord.d/elastic.ini
[program:elastic]
command=su -c "/www/tools/elasticsearch-7.17.4/bin//elasticsearch" elastic
directory=/www/tools/elasticsearch-7.17.4/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.out.log
stderr_logfile=/www/tools/elasticsearch-7.17.4/logs/elastic.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
supervisorctl update



Skywalking功能介紹
- 多種監(jiān)控手段,可以通過(guò)語(yǔ)言探針和service mesh獲得監(jiān)控的數(shù)據(jù)
- 支持多重語(yǔ)言的自動(dòng)探針,包括JAVA, .NET Core和NodeJS
- 輕量高效,無(wú)需大數(shù)據(jù)平臺(tái)和大量的服務(wù)器資源
- 模塊化,UI ,存儲(chǔ),集群管理都有多種機(jī)制可選
- 支持告警
- 優(yōu)秀的可視化解決方案
到此這篇關(guān)于php鏈路追蹤框架skywalking的使用的文章就介紹到這了,更多相關(guān)php skywalking內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php圖片的二進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法
這篇文章主要介紹了php圖片的二進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法,詳細(xì)介紹了圖片與二進(jìn)制之間轉(zhuǎn)換的原理與實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
PHP的APC模塊實(shí)現(xiàn)上傳進(jìn)度條
這篇文章主要介紹了使用PHP的APC模塊制作上傳進(jìn)度條,需要的朋友可以參考下2015-10-10
PHP統(tǒng)計(jì)目錄大小的自定義函數(shù)分享
這篇文章主要介紹了PHP統(tǒng)計(jì)目錄大小的自定義函數(shù)分享,本文使用遞歸方法統(tǒng)計(jì)一個(gè)目錄中所有文件的大小,需要的朋友可以參考下2014-11-11
PHP獲取兩個(gè)日期之間的所有日期的實(shí)現(xiàn)代碼
這篇文章主要給大家介紹了一個(gè)獲取日期示例,用于計(jì)算給定開(kāi)始和結(jié)束日期之間的所有日期,文中有相關(guān)的代碼示例,感興趣的小伙伴可以自己動(dòng)手嘗試一下2023-08-08
將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼
本節(jié)主要介紹了將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼,需要的朋友可以參考下2014-07-07
php實(shí)現(xiàn)動(dòng)態(tài)口令認(rèn)證的示例代碼
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)動(dòng)態(tài)口令認(rèn)證的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
php獲取ip及網(wǎng)址的簡(jiǎn)單方法(必看)
下面小編就為大家?guī)?lái)一篇php獲取ip及網(wǎng)址的簡(jiǎn)單方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04

