天天看點

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

Skywalking的安裝與簡單使用

Skywalking:國産APM系統。

官網位址:http://skywalking.apache.org/

github位址:https://github.com/apache/skywalking/tree/master/docs

功能

服務、執行個體、端點分析;

服務拓撲圖分析;

慢查詢檢測;

告警;

核心概念

先來一張官方圖。

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

Agent(探針):Agent 運作在各個服務執行個體中,負責采集服務執行個體的 Trace 、Metrics 等資料,然後通過 gRPC 方式上報給 SkyWalking 後端。

OAP:SkyWalking 的後端服務,其主要責任有兩個。

一個是負責接收 Agent 上報上來的 Trace、Metrics 等資料,交給 Analysis Core (涉及 SkyWalking OAP 中的多個子產品)進行流式分析,最終将分析得到的結果寫入持久化存儲中。SkyWalking 可以使用 ElasticSearch、H2、MySQL 等作為其持久化存儲,一般線上使用 ElasticSearch 叢集作為其後端存儲。

另一個是負責響應 SkyWalking UI 界面發送來的查詢請求,将前面持久化的資料查詢出來,組成正确的響應結果傳回給 UI 界面進行展示。

UI 界面:SkyWalking 前後端進行分離,該 UI 界面負責将使用者的查詢操作封裝為 GraphQL 請求送出給 OAP 後端觸發後續的查詢操作,待拿到查詢結果之後會在前端負責展示。

搭建

版本關系

Skywalking 6.X需要使用Elasticsearch 6.X,5.X或7.X的Elasticsearch存在相容性問題。

Skywalking官方下載下傳路徑:http://skywalking.apache.org/downloads/。

本機測試版本:

Skywalking:6.5.0

https://archive.apache.org/dist/skywalking/6.5.0/

Elasticsearch:6.8.6

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz

Kibana:6.6.1

https://artifacts.elastic.co/downloads/kibana/kibana-6.6.1-darwin-x86_64.tar.gz(mac版本,其他環境選擇其他版本)

安裝步驟

ES安裝

解壓ES安裝包

tar -zxf elasticsearch-6.8.6.tar.gz
           

進入bin目錄下,執行elasticsearch。 -d指令可背景執行。

./bin/elasticsearch
           

根目錄下會生成logs檔案,其中elasticsearch.log為日志檔案。

也可修改config目錄下elasticsearch.yml檔案制定日志、資料存儲位置,ES相關配置不再贅述。

tail -f logs/elasticserach.log 
           

檢視背景日志,若無報錯資訊,則說明啟動成功。

浏覽器輸入:localhost:9200,界面展示如下,說明安裝成功。

{
  "name" : "dKPueZZ",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yriBScj_QfmnDiUwSkdyQA",
  "version" : {
    "number" : "6.8.6",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "3d9f765",
    "build_date" : "2019-12-13T17:11:52.013738Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.2",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
           
Kibana安裝

kibana是為了檢視ES資料,非必要。

加壓kibana安裝包

tar -zxf  kibana-6.6.1-darwin-x86_64.tar.gz
           

修改kibana配置檔案,指定elasticsearch叢集。

配置檔案路徑config/kibana.yml檔案

elasticsearch.hosts: ["http://127.0.0.1:9200"]
           

啟動kibana

./bin/kibana
           

啟動後通路localhost:5602,檢視kibana位址。

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

界面正常表示啟動成功。

skywalking安裝

解壓安裝包

tar -zxf apache-skywalking-apm-6.5.0.tar.gz
           

修改配置檔案,指定ES位址

配置檔案目錄:config/application.yml

預設使用h2,将storage下h2節點全部注釋,放開storage下elasticsearch,并調整clusterNodes為實際ES位址。若為設定密碼,保留預設配置即可。

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

skywalking分為OAP、webApp、agent三部分,執行bin目錄下startup.sh (mac、linux系統,windows執行.bat),會啟動OAP和WebApp兩個服務。APP是前端界面,預設端口為8080,若端口沖突,可至webapp目錄下,修改webapp.yml中server.port配置實作修改端口。

12800端口為監聽OAP端口,預設即可,端口沖突情況下也可修改。

webapp、OAP日志在/logs下。

webapp:webapp.log

OAP:skywalking-oap-server.log

若無error日志,則說明啟動成功。通路localhost:8080,可進入webApp UI界面。

至此,Skywalking安裝成功。

使用

下面說一下如何使用。

skywalking是通過agent的方式實作,比較較zipkin和cat來說,skywalking更加友好,對代碼是零侵入性。

隻需要在啟動jar的時候指定agent路徑即可。

如下為idea中配置啟動參數:

-javaagent:/yourpath/apache-skywalking-apm-bin/agent/skywalking-agent.jar
-Dskywalking.collector.backend_service=127.0.0.1:11800
-Dskywalking.agent.service_name=your_app_name
           

java -jar啟動:

java -javaagent:/yourpath/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar   your_app.jar
           
UI說明

儀表盤

通路localhost:8080,進入ui界面。

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

1:控制台主菜單,分為儀表盤,拓撲圖,追蹤,告警,名額對比五個界面。儀表盤下有包含Service和DataBase。

2:目前服務可選擇要檢視的服務,目前端點下拉可選擇目前服務下所有端點,目前執行個體下拉可選擇所有執行個體。

3:不同次元的小菜單。

Global:全局視圖;Service:服務詳細視圖;Endpoint:端點詳細視圖;Instance:服務詳細視圖。

4:Global Heatmap:熱力圖,某個時間段内請求熱度,9處為具體時間段,可任意更換時間段。

5:Global Response Time Percentile:時間段p50、p75、p90、p95、p99名額;

6:Global Brief:skywalking所感覺到的具體服務數量;

7:Global Top Throughput:吞吐量排名;

8:Global Top Slow Endpoint:耗時排名的Endpoint。

Service視圖

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

1:Servoce Avg ResponseTime:指定服務的平均耗時;Service ResponseTime:圖。

2:Service Avg Throughput:指定服務平均吞吐量;Service Throughput:圖。

3:Service Avg SLA:指定服務的平均SLA(服務等級協定);Service SLA:圖。

4:Global Percent Response :全局響應時間的分位數;

5:Service Percent Response :指定服務響應時間的分位數;

6:Service Slow Endpoint :指定服務中耗時比較長的 Endpoint 資訊。

7:Running ServiceInstance :指定服務下的執行個體資訊。

Endpoint視圖

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

此界面展示指定Endpoint視圖,與Service雷同,不再贅述。

Instance視圖

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

此界面主要是指定執行個體資訊,平均響應時間、請求次數、SLA名額、JVM資訊、GC使用頻次與耗時、CPU使用率等等。

拓撲圖

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

此處可以看到具體的調用鍊路。

追蹤

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

此處展示指定Endpoint的調用資訊,包含DB調用等。

可具體檢視某一階段資訊。

Skywalking的安裝與簡單使用Skywalking的安裝與簡單使用

告警需要配置具體政策,此處略。

名額對比是不同服務端點相關對比,此處略。