1.2.1 SkyWalking相關包下載這里筆者將結合CentOS 7系統,向大家介紹SkyWalking的環境搭建過程。從SkyWalking官網可下載的版本中,您會發現其提供了多個針對不同類型數據庫和不同版本的包,這里我們選擇目前最新的針對ElasticSearch 6的8.6.0版本。 其操作步驟如下:
圖1-3 圖1-4 圖1-5 1.2.2 ElasticSearch環境配置結合上一小節下載的SkyWalking版本需要ElasticSearch 6版本,所以這里筆者下載一個6.8.3版本的包,并將其同樣拷貝到“/usr/local/skywalking”目錄下,如圖1-6所示。 圖1-6 接下來,我們一起來進行ElasticSearch環境的安裝與配置,其操作步驟如下: 解壓“elasticsearch-6.8.3.tar.gz”壓縮包,操作命令為 tar -zxvf elasticsearch-6.8.3.tar.gz 為了保證ElasticSearch可以正常啟動,您需要修改Linux系統的一些限制性配置。Linux默認情況下,一般限制應用最多創建65535個文件,但ElasticSearch至少需要65536個文件創建數的權限。同時還要修改非root用戶可開始1024個線程的限制,因為ElasticSearch的啟動要求為非root用戶啟動,且ElasticSearch至少需要4096的線程池預備。編輯“limits.conf”配置文件,其操作命令為 vim /etc/security/limits.conf 或 vi /etc/security/limits.conf 在“limits.conf”配置文件的末尾加入如下4行配置,如圖1-7所示,保存并退出該文件。 圖1-7 ElasticSearch需要一個65536以上字節的虛擬內存空間,所以需要修改“sysctl.conf”文件,其操作命令為
在其文件的末尾,加入1行配置內容,如圖1-8所示,保存并退出該文件。 圖1-8 與配置“limits.conf”文件不同,“sysctl.conf”文件在修改后,需要執行“sysctl -p”命令,重新加載配置文件,新的配置項內容才會生效,如圖1-9所示。需要說明的是如果在-p參數后不指定文件則默認加載“sysctl.conf”文件。 圖1-9 ElasticSearch強制要求在Linux中不能使用root用戶啟動,所以必須使用其他的用戶來啟動它,這里我們為其創建一個新的用戶,對應的命令操作為
相關命令的操作過程及執行結果如圖1-10所示。 圖1-10 進入到elasticsearch-6.8.3的bin子目錄并以es用戶執行“elasticsearch”,其命令操作為
相關命令的操作過程及執行結果如圖1-11所示。 圖1-11 驗證elasticsearch-6.8.3是否可以正常訪問,進入CentOS虛擬機,打開瀏覽器并輸入“http://localhost:9200”,若出現圖1-12所示界面則說明ElasticSearch安裝配置正常,環境搭建成功。 圖1-12 1.2.3 SkyWalking環境配置ElasticSearch環境配置完成后,接下來就可以進行SkyWalking的環境配置了,具體操作過程如下:切換為root用戶,進入CentOS虛擬機的“/usr/local/skywalking”目錄,解壓SkyWalking壓縮包,其命令操作為
相關命令的操作過程及執行結果如圖1-13所示。 圖1-13 查看解壓后的目錄名稱,并進入到該目錄,如圖1-14所示。 圖1-14 使用vim或者vi命令,編輯config子目錄下的application.yml文件,將該文件的第112行內容由“selector: ${SW_STORAGE:h2}”,參見圖1-15所示,替換為“selector: ${SW_STORAGE:elasticsearch}”,如圖1-16所示。即:將以前默認連接H2數據源替換為連接ElasticSearch數據源。無需修改該文件的其他內容。 圖1-15 圖1-16 SkyWalking提供了一個非常友好美觀的界面供使用者查看服務鏈路的拓撲圖、鏈路追蹤等,其默認使用的端口為8080,如果8080端口已經被其他應用占用,您就必須要修改webapp目錄下的webapp.yml文件的port參數為與其他應用不沖突的其他端口,如圖1-17所示。這里由于筆者沒有其他應用使用8080端口,故不做修改。 圖1-17 上述配置操作完成后,您就可以切換到bin子目錄下,執行startup.sh來啟動SkyWalking了,如圖1-18所示。 startup.sh啟動包括2部分內容,啟動SkyWalking后臺服務(用于收集探針發送回來的數據,并將這些數據存儲在ElasticSearch中)和啟動SkyWalking可視化界面(用于查看格式化輸出的數據內容)。 圖1-18 您就可以在CentOS虛擬機的瀏覽器中輸入“http://localhost:8080”來訪問SkyWalking提供的可視化界面,查看探針搜集回來的數據內容。因為目前沒有數據,所以儀表盤等內容為空,如圖1-19所示。 圖1-19 1.2.4 SkyWalking AgentSkyWalking通過加載探針(Agent),以非侵入式 的方式收集應用上使用到的組件動態進行監控,將采集的調用鏈路數據信息發送到SkyWalking后端OAP(即:Observability Analysis Platform);然后進行分析并存儲到外部存儲器(這里存儲到ElasticSearch ),最終提供給使用者通過SkyWalking提供的Web界面來查詢鏈路、拓撲結構等功能。 Agent探針在Java中使用Java Agent技術實現,不需要更改任何源代碼,其會通過虛機機接口在運行期更改代碼。SkyWalking探針所有的文件均在其agent子目錄下,如圖1-20所示。 圖1-20 從tree命令顯示的SkyWalking的Agent子目錄樹形結構圖可以看到其主要包含了plugins、optional-plugins、config等子目錄。這里筆者重點介紹plugins、optional-plugins、config這3個子目錄。plugins目錄下主要存放目前可用的所有探針插件,而optional-plugins目錄下的探針插件如果您需要使用,則要移動到plugins目錄下其才會生效。config目錄存放著探針的配置文件,有的時候我們要修改被偵測的服務名稱等內容可以對該目錄下的agent.config文件進行相關配置項的修改。 |
|