成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何定位微服務(wù)異常之鏈路跟蹤APM工具

網(wǎng)絡(luò) 通信技術(shù)
微服務(wù)框架落地后,分布式部署架構(gòu)帶來的問題就會迅速凸顯出來。尤其線上出現(xiàn)問題,不知道如何排查,問題出現(xiàn)在哪個服務(wù)?如何快速定位問題?如何跟蹤業(yè)務(wù)調(diào)用鏈路?如何分析解決業(yè)務(wù)瓶頸?今天老顧來跟小伙伴們看看如何解決以上問題。

 [[335812]]

目錄

  • 前言
  • 什么是鏈路跟蹤
  • 技術(shù)架構(gòu)
  • 下載啟動SkyWalking
  • JavaAgent服務(wù)器探針
  • ServiceTopology監(jiān)控
  • Trace監(jiān)控
  • Jvm監(jiān)控
  • 服務(wù)告警
  • 總結(jié)

前言

微服務(wù)框架落地后,分布式部署架構(gòu)帶來的問題就會迅速凸顯出來。尤其線上出現(xiàn)問題,不知道如何排查,問題出現(xiàn)在哪個服務(wù)?如何快速定位問題?如何跟蹤業(yè)務(wù)調(diào)用鏈路?如何分析解決業(yè)務(wù)瓶頸?今天老顧來跟小伙伴們看看如何解決以上問題。

什么是鏈路追蹤

微服務(wù)架構(gòu)是通過業(yè)務(wù)來劃分服務(wù)的,使用REST調(diào)用。對外暴露的一個接口,可能需要很多個服務(wù)協(xié)同才能完成這個接口功能,如果鏈路上任何一個服務(wù)出現(xiàn)問題或者網(wǎng)絡(luò)超時,都會形成導(dǎo)致接口調(diào)用失敗。隨著業(yè)務(wù)的不斷擴(kuò)張,服務(wù)之間互相調(diào)用會越來越復(fù)雜。

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

上圖中,user調(diào)用A,A會調(diào)用C,C再調(diào)用E;這條調(diào)用鏈路,我們還能夠看清楚;但是一旦微服務(wù)很多,調(diào)用依賴復(fù)雜就看不清楚了,如下圖

 

[[335813]]

 

上圖是不是看到后,有密集恐懼癥,像個線團(tuán),一團(tuán)亂麻;如果這個時候出現(xiàn)了調(diào)用異常,那我們依據(jù)調(diào)用接口入口,一步步、一個服務(wù)一個服務(wù)的去跟蹤調(diào)試;這個流程會把人搞瘋的,也許1個小時后,也不知道什么問題;就像我們以前找線頭,然后一步步的去重新卷圈。

面對以上情況,我們就需要一些可以幫助理解系統(tǒng)行為、用于分析性能問題的工具,以便發(fā)生故障的時候,能夠快速定位和解決問題,這就是所謂的 APM(應(yīng)用性能管理)。

什么是 SkyWalking

Skywalking是一款國內(nèi)開源的應(yīng)用性能監(jiān)控工具,支持對分布式系統(tǒng)的監(jiān)控、跟蹤和診斷。目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking。SkyWalking也是Apache的孵化項目之一,擁有頂級二級域名。

它提供了如下的主要功能特性:

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

功能特性:

  • 多種監(jiān)控手段,語言探針和服務(wù)網(wǎng)格(Service Mesh)
  • 多語言自動探針,Java,.NET Core 和 Node.JS
  • 輕量高效,不需要大數(shù)據(jù)
  • 模塊化,UI、存儲、集群管理多種機(jī)制可選
  • 支持告警
  • 優(yōu)秀的可視化方案

技術(shù)架構(gòu)

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

上圖看了是不是比較亂,其實Skywalking總體可以分為四部分:

1、Skywalking Agent:使用Javaagent做字節(jié)碼植入,無侵入式的收集,并通過HTTP或者gRPC方式發(fā)送數(shù)據(jù)到Skywalking Collector。

2、Skywalking Collector :鏈路數(shù)據(jù)收集器,對agent傳過來的數(shù)據(jù)進(jìn)行整合分析處理并落入相關(guān)的數(shù)據(jù)存儲中。

3、Storage:Skywalking的存儲,在6.x版本中支持以ElasticSearch(推薦)、Mysql、TiDB、H2、作為存儲介質(zhì)進(jìn)行數(shù)據(jù)存儲。

4、UI :Web可視化平臺,用來展示落地的數(shù)據(jù)。

下載并啟動 SkyWalking

官方已經(jīng)為我們準(zhǔn)備好了編譯過的服務(wù)端版本,現(xiàn)在最新版本為6.4.0

下載地址為 http://skywalking.apache.org/downloads/

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

配置 SkyWalking

下載完成后解壓縮

  1. # tar -xvf apache-skywalking-apm-6.4.0.tar 
  2. # mv apache-skywalking-apm-bin /usr/local/skywalking 
  3. # cd /usr/local/skywalking 

修改配置

  1. # cd config 

# vim application.yml@

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

配置存儲方式,默認(rèn)H2,官方推薦elasticsearch

這里需要做三件事:

  1. 注釋 H2 存儲方案
  2. 啟用 ElasticSearch 存儲方案
  3. 修改 ElasticSearch 服務(wù)器地址
  1. clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} 

啟動 SkyWalking

修改完配置后,進(jìn)入 skywalking\bin 目錄,運行startup.bat啟動服務(wù)端

通過瀏覽器訪問 http://localhost:8080 出現(xiàn)如下界面即表示啟動成功

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

默認(rèn)的用戶名密碼為:admin/admin,登錄成功后,效果如下圖

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

Java Agent 服務(wù)器探針

agent簡單的理解就是放一個插件,隨著應(yīng)用程序啟動,監(jiān)控數(shù)據(jù)、收集數(shù)據(jù)、發(fā)送數(shù)據(jù)的作用。

探針文件在skywalking/agent目錄下

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

啟動方式

在以前啟動應(yīng)用程序時,加上一些參數(shù)

  1. java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar  
  2.  -Dskywalking.agent.service_name=shop-goods-provider  
  3.  -Dskywalking.collector.backend_service=localhost:11800  
  4.  -jar yourApp.jar 

參數(shù)含義:

  • -javaagent:用于指定探針路徑
  • -Dskywalking.agent.service_name:用于重寫 agent/config/agent.config 配置文件中的服務(wù)名
  • -Dskywalking.collector.backend_service:用于重寫 agent/config/agent.config 配置文件中的服務(wù)地址

啟動后,訪問鏈接,就會發(fā)現(xiàn) Service 與 Endpoint 已經(jīng)成功檢測到了

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

表示 SkyWalking 鏈路追蹤配置成功。

Service Topology監(jiān)控

調(diào)用鏈路監(jiān)控可以從兩個角度去看待。我們先從整體上來認(rèn)識一下我們所監(jiān)控的系統(tǒng)。

通過給服務(wù)添加探針并產(chǎn)生實際的調(diào)用之后,我們可以通過Skywalking的前端UI查看服務(wù)之間的調(diào)用關(guān)系。

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

從圖中可以看到:

有兩個服務(wù)節(jié)點:provider & consumer

有一個數(shù)據(jù)庫節(jié)點:localhost【mysql】

consumer消費了provider提供出來的接口。

一個系統(tǒng)的拓?fù)鋱D讓我們清晰的認(rèn)識到系統(tǒng)之間的應(yīng)用的依賴關(guān)系以及當(dāng)前狀態(tài)下的業(yè)務(wù)流轉(zhuǎn)流程。

細(xì)心的小伙伴們可能發(fā)現(xiàn)圖示節(jié)點consumer上有一部分是紅色的,紅色是什么意思呢?

紅色代表當(dāng)前流經(jīng)consumer節(jié)點的請求有一斷時間內(nèi)是響應(yīng)異常的。當(dāng)節(jié)點全部變紅的時候證明服務(wù)現(xiàn)階段內(nèi)就徹底不可用了。運維人員可以通過Topology迅速發(fā)現(xiàn)某一個服務(wù)潛在的問題,并進(jìn)行下一步的排查并做到預(yù)防。

Skywalking Trace監(jiān)控

Skywalking通過業(yè)務(wù)調(diào)用監(jiān)控進(jìn)行依賴分析,提供給我們了服務(wù)之間的服務(wù)調(diào)用拓?fù)潢P(guān)系、以及針對每個endpoint的trace記錄。

我們在之前看到consumer節(jié)點服務(wù)中發(fā)生了錯誤,讓我們一起來定位下錯誤是發(fā)生在了什么地方又是什么原因呢?

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

在每一條trace的信息中都可以看到當(dāng)前請求的時間、GloableId、以及請求被調(diào)用的時間。我們分別看一看正確的調(diào)用和異常的調(diào)用。

Trace調(diào)用鏈路監(jiān)控

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

上圖展示的是一次正常的響應(yīng),這條響應(yīng)總耗時19ms;可以詳細(xì)點擊每個span查看詳細(xì)信息

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

Service JVM信息監(jiān)控

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

Skywalking還可以監(jiān)控到Service運行時的CPU、堆內(nèi)存、非堆內(nèi)存使用率、以及GC情況。這些信息來源于JVM。

Skywalking 服務(wù)告警

上面我們提到了通過查看拓?fù)鋱D以及調(diào)用鏈路可以定位問題,可是運維人員又不可能一直盯著這些數(shù)據(jù),那么我們就需要告警能力,在異常達(dá)到一定閾值的時候主動的提示我們?nèi)ゲ榭聪到y(tǒng)狀態(tài)。

在Sywalking 6.x版本中新增了對服務(wù)狀態(tài)的告警能力。它通過webhook的方式讓我們可以自定義我們告警信息的通知方式。諸如:郵件通知、微信通知、短信通知等。

告警的規(guī)則配置。在alarm-settings.xml中可以配置告警規(guī)則,告警規(guī)則支持自定義。

 

如何定位微服務(wù)異常之鏈路跟蹤APM工具

 

1、service_resp_time_rule:告警規(guī)則名稱 ***_rule (規(guī)則名稱可以自定義但是必須以’_rule’結(jié)尾

2、indicator-name:指標(biāo)數(shù)據(jù)名稱: 定義參見http://t.cn/EGhfbmd

3、op: 操作符: > , < , = 【當(dāng)然你可以自己擴(kuò)展開發(fā)其他的操作符】

4、threshold:目標(biāo)值:指標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù) 如sample中的1000就是服務(wù)響應(yīng)時間,配合上操作符就是大于1000ms的服務(wù)響應(yīng)

5、period: 告警檢查周期:多久檢查一次當(dāng)前的指標(biāo)數(shù)據(jù)是否符合告警規(guī)則

6、counts: 達(dá)到告警閾值的次數(shù)

7、silence-period:忽略相同告警信息的周期

8、message:告警信息

文件結(jié)尾有最后一個webhooks屬性:服務(wù)告警通知服務(wù)地址

  1. webhooks: 
  2. # - http://127.0.0.1/notify/ 
  3. # - http://127.0.0.1/go-wechat/ 

總結(jié)

本文簡單了介紹了Skywalking簡單的知識,可以通過Skywalking,可以讓我們方便的查看微服務(wù)架構(gòu)中系統(tǒng)瓶頸以及性能問題等。小伙伴們可以去嘗試操作一下哦,謝謝!!!

 

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2020-05-26 11:59:30

日志鏈路微服務(wù)架構(gòu)

2023-12-15 09:57:13

微服務(wù)鏈路服務(wù)

2023-07-07 07:27:14

全鏈路虎牙APM

2023-08-24 22:13:31

2023-11-09 15:06:13

微服務(wù)開發(fā)工具

2023-11-21 09:35:49

全量部署微服務(wù)

2020-09-11 09:44:04

微服務(wù)分布式鏈路

2018-07-12 09:59:39

microServicmockautoTest

2022-02-15 17:56:19

SpringBoot日志

2023-08-02 11:39:11

鏈路追蹤技術(shù)微服務(wù)

2018-03-13 16:42:26

分布式服務(wù)跟蹤

2023-04-18 17:24:08

光纖網(wǎng)絡(luò)

2022-07-06 19:00:00

微服務(wù)框架鏈路

2023-06-01 10:34:14

2011-03-30 16:22:15

POS接口路由器

2024-07-02 10:58:53

2021-03-06 08:05:54

工具DevOpsLighthouse

2022-09-24 13:21:34

Java服務(wù)異常

2009-07-07 17:22:34

光纖鏈路測試故障
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美一级免费看 | 一级欧美| 美女在线一区二区 | 日本h片在线观看 | 久久男女视频 | 久久综合av| 亚洲精品久久久一区二区三区 | 亚洲一区 中文字幕 | 亚洲精品日韩在线观看 | 欧美亚洲国产一区二区三区 | 一区二区三区日韩 | 国产一区二区日韩 | a级在线免费观看 | 亚洲精品久久久久国产 | 国产在线对白 | 在线视频一区二区三区 | 一区二区av | 性色av香蕉一区二区 | 在线免费激情视频 | 久草资源在线视频 | 亚洲综合区 | 欧美成人一区二免费视频软件 | 一区二区三区在线 | 欧美一级网站 | 国产精品a久久久久 | 日韩在线播放网址 | 不卡视频一区 | 精品久久久久久 | 97超碰人人草 | 99热都是精品 | 国产一区二区在线免费观看 | 欧美久久久久久久久 | 玩丰满女领导对白露脸hd | 日韩字幕一区 | 久久精品毛片 | 精品视频一区二区三区在线观看 | 国产成人精品久久二区二区 | 在线免费看91 | 91精品国产一区二区三区 | 狠狠综合久久av一区二区老牛 | 韩国毛片一区二区三区 |