這是我參與8月更文挑戰的第6天,活動詳情查看:8月更文挑戰java
微服務體系下須要對各個服務進行監控,或者在對服務進行壓測的時候都須要觀察服務性能,咱們選擇使用skywalking來完成這個功能,skywalking簡單操做就可使用,也方便監控服務運行狀況。mysql
官網:skywalking.apache.org/docs/git
中文文檔:skyapm.github.io/github
基於Skywalking,提供分佈式服務鏈路追蹤,服務依賴拓撲繪製,慢端點、慢SQL等面板展現能力,以及服務告警能力,同時自帶顯示面板,能夠提供先後端調用鏈整合能力。支持多種語言:如 Java, C# , Node.js , Go , PHP 以及 Nginx LUA。sql
SkyWalking 爲 服務(service) , 服務實例(service instance) , 以及 端點(endpoint) 提供了可觀測能力。apache
SkyWalking 邏輯上分爲四部分: 探針, 平臺後端, 存儲和用戶界面.後端
須要的jdk和elasticsearch的下載安裝自行百度服務器
下載對應的apm包,skywalking下載地址:skywalking.apache.org/downloads/ 安裝:markdown
jdk1.8
elasticsearch-7.8.1
apache-skywalking-apm-es7-8.3.0
複製代碼
存儲有多種方式:elasticsearch6,7/h2/mysql/tidb/influxdb網絡
配置以下
storage:
selector: ${SW_STORAGE:elasticsearch7}
elasticsearch7:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
複製代碼
啓動以前確認elasticsearch已經啓動且正常運行
在bin目錄下執行 startup.sh腳本啓動
訪問localhost:8080便可打開UI界面
jar啓動:(包含skywalking-agent.jar完整路徑,並且不能移動jar)
java -javaagent:/developSoftware/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.namespace=ajisun-dev -Dskywalking.agent.service_name=ajisun-dev:ajisun-platform -Dskywalking.collector.backend_service=localhost:11800 -jaryourApp.jar
複製代碼
idea中啓動:(在VM options中寫入)
-javaagent:/developSoftware/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.namespace=ajisun-dev -Dskywalking.agent.service_name=ajisun-dev:ajisun-platform -Dskywalking.collector.backend_service=localhost:11800
複製代碼
如圖:
啓動後效果:
p99
, p95
, p90
, p75
, p50
.監控數據彙總:
服務維度的數據:
拓撲圖用指標顯示服務和實例之間的關係.,點擊服務顯示監控數據
跟蹤查詢是與skywalk提供的分佈式代理同樣的典型特性.
一個交互特性。提供了方法級的性能診斷.
一旦配置文件完成,配置的跟蹤段就會顯示出來。你能夠要求分析任意張成的空間。 一般,咱們分析跨度具備較長的自持續時間,若是跨度及其子跨度都具備較長的持續時間,則能夠進行選擇 「包括子跨度」或「排除子跨度」來設定分析界限。
選擇正確的跨度後,單擊「analysis」按鈕,您將看到基於堆棧的分析結果。最慢的方法 已被高亮顯示