Apache SkyWalking分佈式鏈路追蹤系統安裝部署

目錄

1、環境及介質說明

2、部署ElasticSearch

2.1、ElasticSearch配置文件修改

2.2、ES啓動

2.2.1、添加用戶加入組

2.2.2、切用戶啓動

2.2.3、查看ES服務是否啓動成功

2.2.4、關閉ES服務

3、部署Apache Skywalking

3.1、application.yml

3.2、webapp.xml

3.3、啓動Apache Skywalking

4、Skywalking探針Agent

5、微服務啓動方式

6、部署過程中遇到的問題

6.1、時間一致性

6.2、網絡互通性

6.3、xshell連接服務器斷開連接問題

7、集羣部署


1、環境及介質說明

本次部署採用單機模式,因此只需要一臺機器,部署ES過程中發現ES必須部署在/root/usr/local目錄下,否則無法啓動。

注意:JDK版本必須爲1.8,ES版本爲5.X,本次採用ES5.6.13版本。

部署服務路徑:

ES-5.6.13:/opt/elasticsearch/elasticsearch-5.6.13

Apache Skywalking 5.0.0-GA:/root/apache/apache-skywalking-apm-incubating

2、部署ElasticSearch

2.1、ElasticSearch配置文件修改

文件位置:\elasticsearch-5.6.13\config\elasticsearch.yml

vim elasticsearch.yml 打開elasticsearch.yml修改爲如下:

#cluster.name集羣名稱
cluster.name: CollectorDBCluster
#node名稱
node.name: node-1

##########推薦配置,請勿修改############
network.host: 0.0.0.0
network.publish_host: 26.47.30.127
network.bind_host: 0.0.0.0

#線程池隊列大小
thread_pool.bulk.queue_size: 1000

2.2、ES啓動

說明:ES的啓動不能使用root賬號啓動,需要新建用戶,並修改es目錄權限。詳細步驟見下。

2.2.1、添加用戶加入組

#1)添加一個用戶:elasticsearch
    useradd elasticsearch

#2)給用戶elasticsearch設置密碼,連續輸入2次
    passwd elasticsearch

#3)創建一個用戶組 es
    groupadd es

#4)分配 elasticsearch 到 es 組
    usermod -G elasticsearch es

#5)這裏注意下,如果提示用戶“es”不存在,那麼是因爲服務器版本問題,你可以換成 
    usermod -G es  elasticsearch ,也就是用戶和用戶組對調一下使用。

#6)在elasticsearch 根目錄下,給定用戶權限。-R表示逐級(N層目錄), * 表示 任何文件
    chown -R elasticsearch.es *

2.2.2、切用戶啓動

elasticsearch@pub1:/opt/elasticsearch/elasticsearch-5.6.13/bin# ./elasticsearch

#1) 切換到elasticsearch用戶
    su elasticsearch

#2) 切到elasticsearch-5.6.13目錄下執行命令
    elasticsearch@ch3:~/elasticsearch-5.6.13$ chmod +x bin/elasticsearch   

#3) 切到bin目錄下執行
    ./elasticsearch -d

若啓動報錯參考:https://blog.csdn.net/weixin_38447578/article/details/84293526

2.2.3、查看ES服務是否啓動成功

方式1:執行以下命令

ps aux | grep elasticsearch

方式2:瀏覽器訪問 http://192.168.98.1:9200

看返回結果是否爲以下值,build_date 時間根據實際時間顯示。

http:192.168.98.1:9200
{
  "name" : "node-1",
  "cluster_name" : "CollectorDBCluster",
  "cluster_uuid" : "0PjTNtPEQrCfb2bd0Xzysw",
  "version" : {
    "number" : "5.6.13",
    "build_hash" : "4d5320b",
    "build_date" : "2018-10-30T19:05:08.237Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

2.2.4、關閉ES服務

查看進程號,然後殺死進程。

3、部署Apache Skywalking

3.1、application.yml

文件位置:\apache-skywalking-apm-incubating\config\application.yml

注:application.yml中所有host節點的值都配置爲真實的IP地址。

3.2、webapp.xml

文件位置:\apache-skywalking-apm-incubating\webapp\webapp.xml

修改訪問ip:listOfServers: 192.168.98.1:10800

配置用戶名和密碼,訪問skywalking UI界面時候登陸時候需要輸入。默認用戶名:admin,密碼:admin。

3.3、啓動Apache Skywalking

root@pub1:~/apache-skywalking-apm-incubating/bin# ./startup.sh

切到\apache-skywalking-apm-incubating的bin目錄下,執行./statup.sh

UI使用8080端口,收集器使用10800端口

啓動後查看8080和10800端口占用情況

netstat -nlp|grep 8080、netstat -nlp|grep 10800

web地址,IP:8080(有時機器自帶tomcat,佔用了8080,需要換一個端口,在webapp.xml中)

4、Skywalking探針Agent

配置文件位置:\apache-skywalking-apm-incubating\agent\config\agent.config

#1)agent.namespace名稱,這裏需要注意,相關聯的微服務需要配置成同一個名稱,否則會導致調用鏈斷開,例如項目中有六個微服務,則統一配置成xxx-namespace。
agent.namespace=xxx-namespace

#2)微服務應用名稱(該名稱就是顯示在skywalking界面上的)
agent.application_code=application1

#3)Skywalking收集器server的端口
collector.servers=192.168.98.1:10800

5、微服務啓動方式

以以下demo爲例,紅色部分爲探針應用於微服務中。

java -javaagent:/root/microservice/spring-cloud-department/agent/skywalking-agent.jar -jar depart-micro-0.0.1-SNAPSHOT

6、部署過程中遇到的問題

6.1、時間一致性

如果ES和Skywalking分開部署,需要保證服務器的時間完全一致,否則回導致服務調用鏈滯後顯示。假設ES時間比Sky walking時間晚了5分鐘,調用請求鏈在2019-12-10 10:00, ES的時間爲2019-12-10 10:00,skywalking服務器爲2019-12-10 10:05。UI界面上是看不到本次調用信息的,5分鐘後才能看到。

6.2、網絡互通性

需要保證ES服務器和Skywalking服務器之間網絡是互通的,否則調用鏈信息無法寫入ES中,可以查看探針agent的日誌。

6.3、xshell連接服務器斷開連接問題

如果是使用xshell登陸遠程機器執行,防止xshell窗口關閉導致應用down掉,比如以下命令(根據實際情況修改skywalking-agent.jar位置,微服務jar名稱)

nohup java -javaagent:/opt/soft/apache-skywalking-apm-incubating/agent/skywalking-agent.jar  -jar service-registry-0.0.1-SNAPSHOT.jar  >> registry.log 2>&1 &

7、集羣部署

參考官網部署方案:

https://github.com/apache/incubator-skywalking/blob/v5.0.0-GA/docs/en/Deploy-backend-in-cluster-mode.md

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章