編碼的世界 / 優質文選 / 感情

centos7 安裝SkyWalking


2022年6月25日
-   

目錄1.搭建ES
2.搭建Skywalking 
1.安裝java
2.解壓skywalking壓縮包
3.修改配置文件 application.yml
 4.修改配置文件 webapp/webapp.yml
5.支持springcloud gateway :
6.啟動Skywalking OAP:
7.啟動Skywalking UI服務:
3.微服務使用skywalking
參考文章:

1.搭建ES


在本文中,我們需要將skywalking采集到的數據導入到ES中,所以需要首先安裝ES,我們用的是ES集群。
ES集群搭建文檔:華為雲contos7系統部署ES集群3個主節點_wdquan19851029的專欄-CSDN博客
ES單機搭建文檔 :
centos7安裝ELK-單機版_wdquan19851029的專欄-CSDN博客
2.搭建Skywalking 
有了ES之後,我們開始搭建Skywalking。
1.安裝java
jdk壓縮包解壓(自己去下載): tar zxvf  jdk1.8.0_181.tar
配置環境變量:修改/etc/profile文件,在文件最後加上:
export JAVA_HOME=/usr/local/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使配置生效: source /etc/profile
查看java版本: [root@ecs-dev-0003 ~]# java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) [root@ecs-dev-0003 ~]# javac -version javac 1.8.0_181 [root@ecs-dev-0003 ~]# 
2.解壓skywalking壓縮包
tar zxvf apache-skywalking-apm-bin-es7.tar.gz
3.修改配置文件 application.yml
修改配置文件config/application.yml將其中的storage -> selector改為 “elasticsearch7”,本文中用到的就是ES7.8.1
storage:     selector: ${SW_STORAGE:elasticsearch7}

參數說明: 
參數說明
selector存儲選擇器。本文選在ES7
nameSpace命名空間。Elasticsearch實例中,所有索引的命名會使用此參數值作為前綴。本人查了查資料,這裏設置了ES集群的名字
clusterNodes指定Elasticsearch實例的訪問地址。由於實例與SkyWalking不在同一專有網絡VPC(Virtual Private Cloud)下,因此要使用公網訪問地址,獲取方式請參見查看實例的基本信息。由於是測試環境,本人直接設置了本機的ES節點。  
userElasticsearch實例的訪問用戶名,默認為elastic。
password對應用戶的密碼。elastic用戶的密碼在創建實例時指定,如果忘記可重置。重置密碼的注意事項和操作步驟,請參見重置實例訪問密碼。

Note: skywalking啟動後,會啟動兩個服務,一個是skywalking-oap-server,另外一個是skywalking-web-ui:8080。 skywalking-oap-server服務啟動後會暴露兩個端口11800 和12800,分別為收集監控數據的端口11800和接受前端請求的端口12800,修改端口可以修改config/application.yml 4.修改配置文件 webapp/webapp.yml
Skywalking默認使用8080端口,如果該端口被占用,則可以修改webapp/webapp.yml文件,修改Skywalking的端口。
還有12800也是Skywalking使用的端口。

5.支持springcloud gateway :
 skywalking默認不采集sping cloud gateway的數據,怎麼辦呢?
將optional-plugins目錄下的最新版本的jar包 apm-spring-cloud-gateway-3.x-plugin-8.7.0.jar 拷貝到plugins目錄下,然後重啟skywalking

6.啟動Skywalking OAP:
./bin/./oapService.sh
7.啟動Skywalking UI服務:
./bin/webappService.sh
Note: skywalking啟動後,會啟動兩個服務,一個是skywalking-oap-server,另外一個是skywalking-web-ui:8080。 skywalking-oap-server服務啟動後會暴露兩個端口11800 和12800,分別為收集監控數據的端口11800和接受前端請求的端口12800,修改端口可以修改config/application.yml 
3.微服務使用skywalking
skywalking對微服務的代碼是無侵入的,只需要在項目啟動的時候,加入一些啟動參數就可以了
  • -javaagent: 需要指定skywalking-agent.jar,作為client的數據收集器
  • -Dskywalking.agent.service_name:是指注冊到skywalking的微服務名稱
  • -Dskywalking.collector.backend_service:指的是skywalking接收agent(微服務端)發送采集數據的服務及端口

# JAVA_OPTS=.
# appName=.
# skywalkingIpAdress=..
# java   $JAVA_OPTS   -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$appName-${SPRING_PROFILES_ACTIVE:-default} -Dskywalking.collector.backend_service=${skywalkingIpAdress:-10.***.***.101:11800}  -jar tmp/$appName.jar
使用效果:
可以看到微服務都在skywalking中顯示出來。

參考文章:
這兩篇文章寫得不錯,可以參考Centos 7.4搭建es7.12.0+Skywalking7.8.5 - 香菜哥哥 - 博客園 (cnblogs.com)
skywalking原理_40張圖看懂:分布式追蹤系統原理及實踐_weixin_39866487的博客-CSDN博客

熱門文章