偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

十分鐘三個(gè)步驟集成使用SkyWalking

開(kāi)發(fā)
本文主要從三個(gè)方面入手:原理、搭建、使用,介紹如何快速集成使用SkyWalking。

隨著業(yè)務(wù)發(fā)展壯大,微服務(wù)越來(lái)越多,調(diào)用鏈路越來(lái)越復(fù)雜,需要快速建立鏈路跟蹤系統(tǒng),以及建立系統(tǒng)的可觀測(cè)性,以便快速了解系統(tǒng)的整體運(yùn)行情況。此時(shí)就非常推薦SkyWalking了,SkyWalking不僅僅是一款鏈路跟蹤工具,還可以作為一個(gè)系統(tǒng)監(jiān)控工具,還具有告警功能。使用簡(jiǎn)便、上手又快。真可謂快、準(zhǔn)、狠。

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

一、原理

1.概括

SkyWalking整體分為4個(gè)部分:探針采集層、數(shù)據(jù)傳輸和邏輯處理層、數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)展示層。

2.探針采集層

所謂探針,實(shí)際上是一種動(dòng)態(tài)代理技術(shù),只不過(guò)不是我們常用的Java代理類(lèi),而是在類(lèi)加載時(shí),就生成了增強(qiáng)過(guò)的代理類(lèi)的字節(jié)碼,增強(qiáng)了數(shù)據(jù)攔截和采集上報(bào)的功能。

探針技術(shù)是在項(xiàng)目啟動(dòng)時(shí)通過(guò)字節(jié)碼技術(shù)(比如JavaAgent、ByteBuddy)進(jìn)行類(lèi)加載和替換,生成新的增強(qiáng)過(guò)的Class文件,對(duì)性能的影響是一次性的。

探針技術(shù),因?yàn)樵陬?lèi)加載時(shí)進(jìn)行轉(zhuǎn)換,增強(qiáng)了部分功能,所以會(huì)增加項(xiàng)目啟動(dòng)時(shí)間,同時(shí)也會(huì)增加內(nèi)存占用量和線程數(shù)量。但是對(duì)性能影響不大,官方介紹在5% ~ 10%之間。

探針層在類(lèi)轉(zhuǎn)換時(shí),通過(guò)各種插件對(duì)原有的類(lèi)進(jìn)行增強(qiáng),之后在運(yùn)行時(shí)攔截請(qǐng)求,然后將攔截的數(shù)據(jù)上報(bào)給Skywalking服務(wù)端。同時(shí)再加上一些定時(shí)任務(wù),去采集應(yīng)用服務(wù)器的基礎(chǔ)數(shù)據(jù),比如JVM信息等。

3.數(shù)據(jù)傳輸和邏輯處理層

SkyWalking探針層使用了GRPC作為數(shù)據(jù)傳輸框架,將采集的數(shù)據(jù)上報(bào)到SkyWalking服務(wù)端。

SkyWalking服務(wù)端接收數(shù)據(jù)后,利用各種插件來(lái)進(jìn)行數(shù)據(jù)的分析和邏輯處理。比如:JVM相關(guān)插件,主要用于處理上報(bào)上來(lái)的JVM信息,數(shù)據(jù)庫(kù)插件用來(lái)分析訪問(wèn)數(shù)據(jù)庫(kù)的信息。然后在將數(shù)據(jù)存入到數(shù)據(jù)存儲(chǔ)層。

4.數(shù)據(jù)存儲(chǔ)層

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

5.數(shù)據(jù)展示層

SkyWalking 通過(guò) Rocketbot 進(jìn)行頁(yè)面UI展示??梢栽陧?yè)面的左上角看到這個(gè)可愛(ài)的Rocketbot。

二、搭建

知道了原理,搭建就很輕松了,使用SkyWalking其實(shí)就3個(gè)步驟:

  • 搭建數(shù)據(jù)存儲(chǔ)部件。
  • 搭建SkyWalking服務(wù)端。
  • 應(yīng)用通過(guò)agent探針技術(shù)將數(shù)據(jù)采集上報(bào)給SkyWalking服務(wù)端。

1.搭建數(shù)據(jù)存儲(chǔ)部件

SkyWalking支持多種存儲(chǔ)方式,此處推薦采用Elasticsearch作為存儲(chǔ)組件,存儲(chǔ)的數(shù)據(jù)量較大,搜索響應(yīng)快。

快速搭建Elasticsearch:

  • 安裝java:yum install java-1.8.0-openjdk-devel.x86_64
  • 下載Elasticsearch安裝包:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-17-1
  • 修改elasticsearch.yml文件的部分字段:cluster.name,node.name,path.data,path.logs,network.host,http.port,discovery.seed_hosts,cluster.initial_master_nodes。將字段的值改成對(duì)應(yīng)的值。
  • 在Elasticsearch的bin目錄下執(zhí)行./elasticsearch啟動(dòng)服務(wù)。
  • 訪問(wèn)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.搭建SkyWalking服務(wù)端

搭建SkyWalking服務(wù)端只需要4步:

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

(2) 進(jìn)入到安裝目錄下的修改配置文件:config/apllication.yaml。將存儲(chǔ)修改為elasticsearch。

(3)進(jìn)入到安裝目錄下的bin目錄,執(zhí)行./startup.sh啟動(dòng)SkyWalking服務(wù)端。

(4)此時(shí)使用jps命令,應(yīng)該可以看到如下2個(gè)進(jìn)程。一個(gè)是web頁(yè)面進(jìn)程,一個(gè)是接受和處理上報(bào)數(shù)據(jù)的進(jìn)程。如果沒(méi)有jps命令,那自行查看下是否配置了Java環(huán)境變量。同時(shí)訪問(wèn)http://ip:8080應(yīng)該可以看到如下界面。

3.應(yīng)用采集上報(bào)數(shù)據(jù)

應(yīng)用采集并且上報(bào)數(shù)據(jù),直接使用agent探針?lè)绞?。分為以?步:

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

(2)添加啟動(dòng)參數(shù)

應(yīng)用如果是jar命令啟動(dòng),則直接添加啟動(dòng)參數(shù)即可:

java -javaagent:/自定義path/skywalking-agent.jar -Dskywalking.collector.backend_service={{agentUrl}} -jar xxxxxx.jar 

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

應(yīng)用如果是Docker鏡像的部署方式,則需要將skywalking-agent.jar打到鏡像里,類(lèi)似下圖:

(3)啟動(dòng)項(xiàng)目后,即可看到監(jiān)控?cái)?shù)據(jù),如下圖:

三、UI頁(yè)面使用

原理和搭建已經(jīng)介紹完畢,接下來(lái)快速介紹UI頁(yè)面的功能。下圖標(biāo)紅的部分是重點(diǎn)關(guān)注區(qū)域:

1.儀表盤(pán)

  • APM:以全局(Global)、服務(wù)(Service)、服務(wù)實(shí)例(Instance)、端點(diǎn)(Endpoint)的維度展示各項(xiàng)指標(biāo)。
  • Database:展示數(shù)據(jù)庫(kù)的各項(xiàng)指標(biāo)。

  • 服務(wù)(Service):某個(gè)微服務(wù),或者某個(gè)應(yīng)用。
  • 服務(wù)實(shí)例(Instance):某個(gè)微服務(wù)或者某個(gè)應(yīng)用集群的一臺(tái)實(shí)例或者一臺(tái)負(fù)載。
  • 端點(diǎn)(Endpoint):某個(gè)Http請(qǐng)求的接口,或者 某個(gè)接口名+方法名。

2.拓?fù)鋱D

3.追蹤

總結(jié)

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

  • SkyWalking其實(shí)就4部分組成:探針采集上報(bào)、數(shù)據(jù)分析和邏輯處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)展示。安裝使用簡(jiǎn)單、易上手。
  • 探針技術(shù)是SkyWalking的基石,說(shuō)白了就是:在類(lèi)加載時(shí)進(jìn)行字節(jié)碼轉(zhuǎn)換增強(qiáng),然后去攔截請(qǐng)求,采集上報(bào)數(shù)據(jù)。
  • UI頁(yè)面的使用,多用用就熟悉了。
責(zé)任編輯:趙寧寧 來(lái)源: 微服務(wù)
相關(guān)推薦

2023-10-12 11:48:18

SkyWalking工具

2024-04-01 00:55:51

Canvas前端項(xiàng)目

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負(fù)載均衡服務(wù)器網(wǎng)絡(luò)

2009-10-09 14:45:29

VB程序

2024-06-19 09:58:29

2022-06-16 07:31:41

Web組件封裝HTML 標(biāo)簽

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎

2023-04-12 11:18:51

甘特圖前端

2024-01-29 00:20:00

GolangGo代碼

2012-07-10 01:22:32

PythonPython教程

2015-09-06 09:22:24

框架搭建快速高效app

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫(kù)

2025-03-18 12:20:00

編程

2019-09-16 09:14:51

2022-08-26 09:01:07

CSSFlex 布局

2023-07-15 18:26:51

LinuxABI

2024-11-07 16:09:53

2023-11-09 14:44:27

Docker鏡像容器
點(diǎn)贊
收藏

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