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

10分鐘三個步驟集成使用SkyWalking

開發 開發工具
隨著業務發展壯大,微服務越來越多,調用鏈路越來越復雜,需要快速建立鏈路跟蹤系統,以及建立系統的可觀測性,以便快速了解系統的整體運行情況。

隨著業務發展壯大,微服務越來越多,調用鏈路越來越復雜,需要快速建立鏈路跟蹤系統,以及建立系統的可觀測性,以便快速了解系統的整體運行情況。此時就非常推薦SkyWalking了,SkyWalking不僅僅是一款鏈路跟蹤工具,還可以作為一個系統監控工具,還具有告警功能。使用簡便、上手又快。真可謂快、準、狠。

本文主要介紹如何快速集成使用SkyWalking,從3個方面入手:原理、搭建、使用。

1、原理

1.1、概括

SkyWalking整體分為4個部分:探針采集層、數據傳輸和邏輯處理層、數據存儲層、數據展示層。

1.2、探針采集層

所謂探針,實際上是一種動態代理技術,只不過不是我們常用的Java代理類,而是在類加載時,就生成了增強過的代理類的字節碼,增強了數據攔截和采集上報的功能。

探針技術是在項目啟動時通過字節碼技術(比如JavaAgent、ByteBuddy)進行類加載和替換,生成新的增強過的Class文件,對性能的影響是一次性的。

探針技術,因為在類加載時進行轉換,增強了部分功能,所以會增加項目啟動時間,同時也會增加內存占用量和線程數量。但是對性能影響不大,官方介紹在5% ~ 10%之間。

探針層在類轉換時,通過各種插件對原有的類進行增強,之后在運行時攔截請求,然后將攔截的數據上報給Skywalking服務端。同時再加上一些定時任務,去采集應用服務器的基礎數據,比如JVM信息等。

1.3、數據傳輸和邏輯處理層

SkyWalking探針層使用了GRPC作為數據傳輸框架,將采集的數據上報到SkyWalking服務端。

SkyWalking服務端接收數據后,利用各種插件來進行數據的分析和邏輯處理。比如:JVM相關插件,主要用于處理上報上來的JVM信息,數據庫插件用來分析訪問數據庫的信息。然后在將數據存入到數據存儲層。

1.4、數據存儲層

SkyWalking的數據存儲層支持多種主流數據庫,可以自行到配置文件里查閱。我推薦使用ElasticSearch,存儲量大,搜索性能又好。

1.5、數據展示層

SkyWalking 通過 Rocketbot 進行頁面UI展示。可以在頁面的左上角看到這個可愛的Rocketbot。

2、搭建

知道了原理,搭建就很輕松了,使用SkyWalking其實就3個步驟:

  1. 搭建數據存儲部件。
  2. 搭建SkyWalking服務端。
  3. 應用通過agent探針技術將數據采集上報給SkyWalking服務端。

2.1、搭建數據存儲部件

SkyWalking支持多種存儲方式,此處推薦采用Elasticsearch作為存儲組件,存儲的數據量較大,搜索響應快。

快速搭建Elasticsearch:

  1. 安裝java:yum install java-1.8.0-openjdk-devel.x86_64
  2. 下載Elasticsearch安裝包:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-1
  3. 修改elasticsearch.yml文件的部分字段:cluster.name,node.name,path.data,path.logs,network.host,http.port,discovery.seed_hosts,cluster.initial_master_nodes。將字段的值改成對應的值。
  4. 在Elasticsearch的bin目錄下執行./elasticsearch啟動服務。
  5. 訪問http://es-ip:9200,看到如下界面就代表安裝成功。
{
  "name": "node-1",
  "cluster_name": "my-application",
  "cluster_uuid": "GvK7v9HhS4qgCvfvU6lYCQ",
  "version": {
    "number": "7.17.1",
    "build_flavor": "default",
    "build_type": "rpm",
    "build_hash": "e5acb99f822233d6ad4sdf44ce45a454xxxaasdfas323ab",
    "build_date": "2023-02-23T22:20:54.153567231Z",
    "build_snapshot": false,
    "lucene_version": "8.11.1",
    "minimum_wire_compatibility_version": "6.8.0",
    "minimum_index_compatibility_version": "6.0.0-beta1"
  },
  "tagline": "You Know, for Search"
}

2.2、搭建SkyWalking服務端

搭建SkyWalking服務端只需要4步:

1、下載并解壓skywalking:https://archive.apache.org/dist/skywalking/8.9.0/

2、進入到安裝目錄下的修改配置文件:config/apllication.yaml。將存儲修改為elasticsearch。

3、進入到安裝目錄下的bin目錄,執行./startup.sh啟動SkyWalking服務端。

4、此時使用jps命令,應該可以看到如下2個進程。一個是web頁面進程,一個是接受和處理上報數據的進程。如果沒有jps命令,那自行查看下是否配置了Java環境變量。同時訪問http://ip:8080應該可以看到如下界面。

2.3、應用采集上報數據

應用采集并且上報數據,直接使用agent探針方式。分為以下3步:

1、下載解壓agent:https://archive.apache.org/dist/skywalking/java-agent/8.9.0/,找到skywalking-agent.jar

2.4、添加啟動參數

  • 應用如果是jar命令啟動,則直接添加啟動參數即可:
java -javaagent:/自定義path/skywalking-agent.jar -Dskywalking.collector.backend_service={{agentUrl}} -jar xxxxxx.jar

此處的{{agentUrl}}是SkyWalking服務端安裝的地址,再加上11800端口。比如:10.20.0.55:11800。

  • 應用如果是Docker鏡像的部署方式,則需要將skywalking-agent.jar打到鏡像里,類似下圖:

3、啟動項目后,即可看到監控數據,如下圖:

3、UI頁面使用

原理和搭建已經介紹完畢,接下來快速介紹UI頁面的功能。下圖標紅的部分是重點關注區域:

3.1、儀表盤

  • APM:以全局(Global)、服務(Service)、服務實例(Instance)、端點(Endpoint)的維度展示各項指標。
  • Database:展示數據庫的各項指標。

  • 服務(Service):某個微服務,或者某個應用。
  • 服務實例(Instance):某個微服務或者某個應用集群的一臺實例或者一臺負載。
  • 端點(Endpoint):某個Http請求的接口,或者 某個接口名+方法名。

3.2、拓撲圖

3.3、追蹤

關于UI界面的使用,還可以參考這個鏈接:https://juejin.cn/post/7106307197763584030,這里寫的比較詳細。

總結

本文主要從3個方面入手:原理、搭建、使用,介紹如何快速集成使用SkyWalking。核心重點:

  • SkyWalking其實就4部分組成:探針采集上報、數據分析和邏輯處理、數據存儲、數據展示。安裝使用簡單、易上手。
  • 探針技術是SkyWalking的基石,說白了就是:在類加載時進行字節碼轉換增強,然后去攔截請求,采集上報數據。
  • UI頁面的使用,多用用就熟悉了。
責任編輯:華軒 來源: 不焦躁的程序員
相關推薦

2023-10-12 09:31:27

SkyWalking微服務

2024-09-18 23:50:24

Python內存生成器

2024-04-01 00:55:51

Canvas前端項目

2021-07-15 06:43:11

Bash調試腳本

2013-09-13 14:08:01

2020-10-13 18:22:58

DevOps工具開發

2014-08-08 09:30:04

android scrollview

2021-04-23 09:50:41

topLinux命令

2021-02-17 00:08:53

Windows 10Windows微軟

2021-05-28 07:38:20

內存溢出場景

2021-05-17 20:13:50

數倉操作型數據庫

2022-08-29 15:02:53

遠程桌面

2018-11-28 11:20:53

Python函數式編程編程語言

2021-08-01 21:38:07

網頁點燈網關

2020-10-29 08:28:42

Java NIO異步非阻塞

2009-11-17 12:47:05

PHP配置

2024-05-16 11:13:16

Helm工具release

2020-08-17 10:50:29

Python代碼get

2009-11-09 12:55:43

WCF事務

2024-12-18 10:24:59

代理技術JDK動態代理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区久久久久久 | 国产精品视频一区二区三区 | av免费网| 日日做夜夜爽毛片麻豆 | 日韩国产黄色片 | 亚洲综合五月天婷婷 | 美女久久久| 亚洲第一成年免费网站 | 精品一区二区久久久久久久网精 | 日日操av | 91精品国产777在线观看 | 国产 日韩 欧美 在线 | 国产亚洲一区二区三区在线观看 | 亚洲精品电影网在线观看 | 亚洲一二三区在线观看 | 中文字幕一区二区三区精彩视频 | 精品一级电影 | av中文在线观看 | 真人女人一级毛片免费播放 | 久久综合伊人 | 久久里面有精品 | 国产第1页 | 日韩一区不卡 | 香蕉视频1024| 久久99深爱久久99精品 | 精品免费视频一区二区 | 中文字幕精品一区 | 99久久99| 久久国产成人精品国产成人亚洲 | 国产一区二区三区四区区 | 成人在线亚洲 | 亚洲国产成人在线观看 | 久久国产精品久久久久久 | 欧美激情欧美激情在线五月 | 久久国产精品视频 | 青青草社区 | 成人黄色av| 欧洲国产精品视频 | 精品乱码一区二区三四区 | 国产91丝袜在线播放 | 日韩精品一区二区三区免费视频 |