精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenTelemetry在企業內部應用所需要的技術棧

開發 前端
OpenObserve在 SigNoz 的基礎上做的更加極致一些,它提供了一個統一的存儲可以存放日志、Trace、Metrics 等數據。這樣我們就可以只使用一個數據庫存放所有的數據,同時它也提供了完整的 UI,并且也全面兼容 OpenTelemetry。

可觀測性概念

當一個軟件或系統出于運行狀態時,如果我們不對他加以觀測,那它的運行狀態對我們來說就是一個黑盒。

如上圖所示。

我們只能通過業務的表象來判斷它是否正常運行,無法在故障發生前進行預判,從而只能被動解決問題。

這類問題在微服務時代體現的更加明顯,即便是業務已經出現問題,在沒有可觀測性系統的前提下想要定位問題更是難上加難。

好在可觀測性這個概念由來已久,已經由一些業界大佬抽象出幾個基本概念:

  • Logs:離散的日志信息
  • Metrics:聚合的指標
  • Trace:請求基本的鏈路追蹤

結合這三個指標,我們排查問題的流程一般如下:

首先根據 metrics 來判斷是否有異常,這點可以通過在 Prometheus 的 AlertManager 配置一些核心的告警指標。

比如當 CPU、內存使用率超過 80% 或者某個應用 Down 機后就發出告警。

groups:
- name: AllInstances
  rules:
  - alert: InstanceDown
    # Condition for alerting
    expr: up == 0
    for: 1m
    # Annotation - additional informational labels to store more information
    annotations:
      title: 'Instance {{ $labels.instance }} down'
      description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minute.'
    # Labels - additional labels to be attached to the alert
    labels:
      severity: 'critical'

這可以讓我們盡早發現故障。

之后我們可以通過鏈路信息找到發生故障的節點。

然后通過這里的 trace_id 在應用中找到具體的日志:

mdc.trace_id:4a686dedcdf4e95b1a83b36e62563a96

再根據日志中的上下文確定具體的異常原因。

這就是一個完整的排查問題的流程。

OpenTelemetry 發展歷史

在 OpenTelemetry 開始之前還是先回顧下可觀測性的發展歷史,其中有幾個重要時間點:

  • 2010 年 Google 發布了 Dapper 論文,給業界帶來了實現分布式追蹤的理論支持,之后的許多分布式鏈路追蹤實現都有它的影子
  • kubernetes 的發布奠定了后續云原生社區的基礎
  • Jaeger 發布后成為了主流的鏈路存儲系統
  • 2019 年 OpenTracing 和 OpenCensus 合并為 OpenTelemetry
  • 2021 年底 OpenTelemetry 發布第一個 GA release 版本

OpenTelemetry 是什么?

以前我們所接觸到的類似于阿里的ARMS、美團的 CAT、Pinpoint 這類系統大多都有一個公司在背后進行驅動,與廠商綁定的非常緊密。

而 OpenTelemetry 則相反,它主要由社區驅動,參與的公司眾多;同時它定義和提供了一套可觀測性的標準(包括 API、SDK、規范等數據)。

使用它你可以靈活的選擇和搭配任意的開源或商業產品來組成你的可觀測性技術棧。

因為社區非常活躍,所以當前也幾乎支持主流的開發語言。

OpenTelemetry 的架構

OpenTelemetry 的架構主要分為三個部分:

  • 左側的客戶端 Agent,用于采集客戶端的數據,通常就是我們的應用。
  • 中間的是 Collector-Service,用于接受客戶端的數據、內部處理、導出數據到各種存儲
  • 右側的則是各種存儲層,用于存儲 Metrics、Logs、Traces 這些數據。

我們基于官方推薦的技術架構選型了我們的技術棧:

主要的區別就是使用 VictoriaMetrics 存儲指標、StackRocks 存儲 Trace,ElasticSearch 存儲日志。

只是目前我們的日志鏈路還沒有完全切換到 OpenTelemetry 的鏈路,依然是在 Pod 中掛載了一個 sidecar,在這個 sidecar 中通過 filebeat 采集日志輸出到 elasticsearch,后續也會逐步遷移。

核心項目

Collecotor

OpenTelemetry 社區的項目眾多,其中大部分都是各種語言的 SDK 和 API,其中最為關鍵的應該就是 opentelemetry-collector

也就是剛才架構圖中的中間部分,我們可以把它理解為類似 APIGateway 的角色,所有上報的 OTel 數據都得經過它的處理。

主要由以下三部分組成:

  • Receiver:用于接受客戶端上報的數據
  • Process:內部的數據處理器
  • Exporter:將數據導出到不同的存儲

由于 OpenTelemetry 社區非常的活躍,所以這里支持的 Receiver、Processor 和 Exporter 類型非常多。

其他核心項目

我們以 Java 為例,對業務開發最重要的庫就是 opentelemetry-java-instrumentation

它可以打包一個 javaagent 給我們使用:

# Java example
java -javaagent:path/to/opentelemetry-javaagent.jar \  
     -jar myapp.jar

同時也支持了我們日常開發的絕大多數框架和中間件。

支持的庫與框架列表

如果我們需要在應用中自定義打樁一些 Span、Metrics ,就還需要 opentelemetry-java 這個項目。

它提供了具體的 SDK 可以方便的創建 Span 和 Metrics。

Trace

之后來看看 OpenTelemetry 中具體的三個維度的概念和應用,首先是 Trace。

Trace 這個概念首先是 Google Dapper 論文中提到。

如上圖所示:一次用戶請求經歷了 4 次 PRC 調用,分別也屬于不同的系統。

每一次 RPC 調用就會產生一個 Span,將這些 span 串聯起來就能形成一個調用鏈路。

這個 Span 主要包含以下信息:

  • SpanName
  • ParentID
  • SpanID

當我們將一個 Span 放大后會看到更加具體的信息:

  • TraceId
  • SpanName
  • ParentID
  • SpanID
  • 開始時間
  • 結束時間 在 Dapper 論文中使用 Annotations 來存放 span 的屬性,當然也可以自定義存放一些數據,比如圖中的 "foo"

在 OpenTelemetry 的 SDK 中稱為  attribute,而在 Jaeger 的 UI 中又稱為 tag,雖然叫法不同,但本質上是一個東西。

最終就會形成上圖中的樹狀結構的調用關系。

Span Kind

Span 中還有一個非常重要的概念,就是 Span Kind,也就是 Span 的類型,這個類型可以在排查問題時很容易得知該服務的類型。

圖片按照官方的定義,Span 的類型分為:

  • Client
  • Server
  • Internal
  • Producer
  • Consumer

對于 RPC 的客戶端和服務端自然就對應 Client 和 Server,而使用了消息隊列的生產者消費者對應的就是 Produce 和 Consumer。

除此之外發生在應用內部的一些關鍵 Span 的類型就是 Internal,比如我們需要對業務的某些關鍵函數生成 Span 時,此時的 Span 類型通常也都是 Internal。

上下文傳遞

在 Trace 中有一個關鍵技術問題需要被解決,也就是 Context 的上下文傳遞。

這個特別是在分布式系統中必須要解決,我們可以簡單把它理解為如何把上游生成的 trace_id 傳遞到下游,這樣才能在追蹤的鏈路追蹤系統中串聯起來。

這個關鍵的技術名詞在 OpenTelemetry 中稱為:Context Propagation.

在分布式系統中,數據都是通過網絡傳遞的,所以這里的本質問題依然是如何將上下文數據序列化之后,在下游可以反序列化到 Context 中。

聰明的小伙伴應該已經想到,我們可以將 trace_id 寫入到跨進程調用的元數據中:

  • http 可以存放在 http header 中
  • gRPC 可以存放在 meta 中
  • Pulsar 可以存放在消息的 properties 中
  • 其余的中間件和框架也是同理

然后在遠程調用之前使用 Inject 將數據注入到這些元數據里,下游在接收到請求后再通過一個Extract 函數將元數據解析到 Context 中,這樣 trace_id 就可以串聯起來了。

上圖就是 Pulsar 和 gRPC 傳遞 trace_id 的過程,數據都是存放在元數據中的,這里的 traceparent 的值本質上就是 trace_id.

具體的代碼細節我會在下一篇繼續分析。

Metrics

Metrics 相對于 Trace 來說則是要簡單許多,OpenTelemetry 定義了許多命名規范和標準,這樣大家在復用社區的一些監控模板時就要更加容易一些。

Metrics Exemplars

Metrics 還提供了一個 Exemplar 的功能,它的主要作用是可以將 Metrics 和 Trace 關聯在一起,這樣在通過 Metrics 發現問題時,就可以直接跳轉到鏈路系統。

因為 trace_id 可以通過 MDC 和日志關聯,所以我們可以直接通過 Metrics 定位具體應用的日志,這樣排查問題的效率將會非常高。

擴展信息

以上就是關于 OpenTelemetry 的整體架構,下面來擴展一些內容。

eBPF

eBPF 是一個運行在 Linux 內核中的虛擬機,它提供一套特殊的指令集并允許我們在不重新編譯內核、也不需要重啟應用的情況下加載自定義的邏輯。

eBPF 技術具有三大特點:

  • 第一是無侵入,動態掛載,目標進程無需重啟,而且因為是 Linux 內核提供功能,所以與語言無關,任何語言都可以支持。
  • 第二是高性能,eBPF 字節碼會被 JIT 成機器碼后執行,效率非常高;
  • 第三是更加安全,它會運行在自己的沙箱環境中,不會導致目標進程崩潰。

eBPF 雖然有很多優點,同時也有一些局限性,比如我想監控業務代碼中的某個具體指標(訂單創建數量),此時它就難以實現了,所以還得看我們的應用場景。更適合一些云平臺,或者更偏向底層的應用。

目前 eBPF 的應用場景還不夠廣泛,但假以時日一定會成為可觀測領域的未來之星。

SigNoz

不知道大家發現沒有,如果我們直接 OpenTelemetry 技術棧會需要為 Trace、Metrics、Logs 選擇不同的存儲,而且他們的查詢界面也分散在不同的地方。

那有沒有一個統一的平臺可以給我們提供完整的可觀測體驗呢?

有這樣的需求那就有對應的廠商實現了:

SigNoz 就是這樣的平臺,它將 OpenTelemetry-collector 和數據存儲全部整合在了一起,同時全面兼容  OpenTelemetry;可以說它就是基于 OpenTelemetry 構建的一個可觀測產品。

對于一些中小廠商,不想單獨維護這些組件時是非常有用的。

OpenObserve

OpenObserve在 SigNoz 的基礎上做的更加極致一些,它提供了一個統一的存儲可以存放日志、Trace、Metrics 等數據。

這樣我們就可以只使用一個數據庫存放所有的數據,同時它也提供了完整的 UI,并且也全面兼容 OpenTelemetry。

這樣對于運維來說會更加簡單,只是可能帶來的副作用就是需要與它完全綁定。

總結

以上就是 OpenTelemetry 在企業的應用,大家可以根據自己的情況選擇自建 OTel 的技術棧,還是選擇 SigNoz 和 OpenObserve 這類的標準化產品。

責任編輯:姜華 來源: crossoverJie
相關推薦

2017-02-22 11:13:20

架構存儲云企業

2024-06-20 11:59:12

2016-07-06 16:41:43

云計算

2022-12-05 10:32:39

IT人才IT團隊

2012-11-07 16:14:11

2010-05-04 21:52:26

2020-02-17 16:25:52

平安云GitHub企業

2012-07-13 10:37:53

云計算部署

2013-10-18 15:03:08

私有云

2019-08-06 11:31:29

2014-11-05 09:27:14

BQ企業即時通

2024-03-06 13:30:26

2018-04-10 14:04:52

2017-11-27 15:16:24

大數據數據科學培訓

2009-02-27 13:33:00

2011-05-25 18:15:39

鼎普燈下黑泄密事件

2016-08-04 16:02:34

云計算

2013-01-17 15:39:23

統一通信通信網絡

2013-12-04 14:35:48

點贊
收藏

51CTO技術棧公眾號

国产精品成人久久久久| 日韩午夜激情电影| 亚洲成人蜜桃| 91国在线视频| 亚洲激情自拍| 中文字幕亚洲色图| 精品国产aⅴ一区二区三区东京热| 美女露胸视频在线观看| 中日韩av电影| 国产欧美日韩一区二区三区| 国产91av在线播放| 亚洲午夜一区| 色偷偷88888欧美精品久久久| 欧洲熟妇的性久久久久久| 蜜桃视频成人m3u8| 午夜精品福利视频网站| 亚洲一区bb| 日韩美女一级视频| 国产乱子轮精品视频| 国产精品成人va在线观看| 不卡的免费av| 亚洲成av人片一区二区密柚| 亚洲女同性videos| 国产国语老龄妇女a片| 黄色精品视频网站| 一本大道久久精品懂色aⅴ| 美女av免费观看| 日本在线免费看| 国产日韩三级在线| 精品久久精品久久| 亚洲女人18毛片水真多| 久久狠狠亚洲综合| 国产精品爽爽ⅴa在线观看| 91在线看视频| 激情综合久久| 久久99精品视频一区97| 五月天色婷婷丁香| 日韩在线欧美| 在线亚洲午夜片av大片| 丰满少妇一区二区三区| a级日韩大片| 日韩色在线观看| 想看黄色一级片| 男人亚洲天堂| 欧美美女网站色| 天天操天天爱天天爽| 亚洲成av在线| 欧美图区在线视频| 日日躁夜夜躁aaaabbbb| 成人亚洲视频| 欧美嫩在线观看| 日韩av一卡二卡三卡| 婷婷激情成人| 欧美一卡在线观看| 美女又黄又免费的视频| 最新精品在线| 亚洲二区中文字幕| 大乳护士喂奶hd| jizz18欧美18| 亚洲国产精品成人精品| 朝桐光av一区二区三区| 偷拍亚洲色图| 亚洲一区二区久久| 91ts人妖另类精品系列| 91精品国产麻豆国产在线观看 | 日本69式三人交| 日本欧美三级| 一区二区三欧美| 乱老熟女一区二区三区| 欧美91大片| 欧美黑人xxxx| 国产午夜性春猛交ⅹxxx| 久久精品一区二区国产| 国产精品免费观看在线| av网站在线免费看| 白白色 亚洲乱淫| 欧美精品二区三区四区免费看视频 | 日本一区二区三区视频在线| 欧美日韩激情在线| 日本一级大毛片a一| 杨幂一区二区三区免费看视频| 亚洲天堂影视av| 欧美肥妇bbwbbw| 日韩一级大片| 国产精品中文在线| 午夜精品无码一区二区三区| 91在线云播放| 伊人久久青草| 高清毛片在线观看| 欧美日韩一级大片网址| 在线观看免费看片| 要久久电视剧全集免费| 久久久极品av| av资源免费观看| 精品一二三四区| 国产一区二区久久久| 成人免费在线视频网| 一区二区在线观看免费视频播放| 国产视频九色蝌蚪| 亚洲热av色在线播放| 亚洲精品国产电影| 三上悠亚作品在线观看| 久久99伊人| 91亚洲国产精品| 国产精品久久一区二区三区不卡 | 亚洲精品国产精品乱码| 精品中文字幕一区二区小辣椒| 国内精品久久国产| 国产日产一区二区| 欧美在线观看视频在线| 亚洲欧美高清在线| 性xxxx欧美老肥妇牲乱| 日韩免费av在线| 六月婷婷综合网| 国产精品久久综合| 欧美日韩激情视频在线观看| 精品视频在线播放一区二区三区| 日韩精品视频免费专区在线播放| 亚洲色婷婷一区二区三区| 日韩和欧美一区二区| 国产精品国产一区二区| 国产欧美久久久久久久久| 欧美性猛交xxxx黑人交| 国产精品无码网站| 亚洲视频高清| 成人羞羞国产免费| av在线日韩国产精品| 欧美日韩一区二区三区| 最新国产精品自拍| 一区二区中文字| 国产女人精品视频| www日韩tube| 色婷婷亚洲婷婷| 国产又爽又黄无码无遮挡在线观看| 欧美三级黄美女| 亚洲一区中文字幕在线观看| 在线观看h片| 欧美中文字幕一区二区三区| 亚洲午夜久久久久久久久红桃| 亚洲大片在线| 狠狠色狠狠色综合人人| 91九色porn在线资源| 精品久久久网站| 久久人人爽人人爽人人| 国产ts人妖一区二区| 欧洲金发美女大战黑人| 91精品一区| 久久夜色精品国产亚洲aⅴ| 一级爱爱免费视频| 国产精品色噜噜| 日本三级黄色网址| 99久久精品国产亚洲精品 | 国产av人人夜夜澡人人爽| 米奇777超碰欧美日韩亚洲| 66m—66摸成人免费视频| 香港一级纯黄大片| 日韩欧美精品免费在线| 丰腴饱满的极品熟妇| 日本午夜精品视频在线观看| 婷婷精品国产一区二区三区日韩 | 99国产精品视频免费观看一公开| 韩国成人一区| 暖暖成人免费视频| 一区二区三区精品99久久| 乱子伦一区二区三区| 亚洲国产岛国毛片在线| 国产黄色一区二区三区| 激情视频一区二区三区| 欧美18视频| 久久青草免费| 欧美成人免费全部| 欧美亚洲精品在线观看| 色综合久久久网| 亚洲精品国产精品国自| 国产精品一区三区| 鲁一鲁一鲁一鲁一澡| 国产精品欧美日韩一区| 国产综合色香蕉精品| 青青青国内视频在线观看软件| 日韩成人av在线| 中文字幕一区二区三区四区免费看 | 国产精品久久精品国产| 天堂中文在线播放| 最近日韩中文字幕中文| 亚洲国产av一区二区| 色丁香久综合在线久综合在线观看| 成人免费视频入口| 波波电影院一区二区三区| 无码aⅴ精品一区二区三区浪潮 | 性做久久久久久免费观看| 尤物视频最新网址| 国产成人免费视频精品含羞草妖精 | 欧美狂猛xxxxx乱大交3| 久久精品99国产国产精| 免费观看美女裸体网站| 青青草国产成人a∨下载安卓| 97av自拍| 丁香婷婷久久| 97在线视频一区| 免费日本一区二区三区视频| 亚洲精品videossex少妇| 在线观看一二三区| 欧美日韩午夜激情| 日韩女优一区二区| 国产日产欧美一区| 在线看黄色的网站| 国产主播一区二区| 99热成人精品热久久66| 亚洲欧美亚洲| 亚洲在线视频一区二区| 五月综合久久| 成人看片在线| 国产一区二区久久久久| 国产精品人成电影| 色吧亚洲日本| 欧美激情在线一区| 国产激情小视频在线| 中文字幕日韩av| 久青草国产在线| 亚洲国产成人一区| 国产黄色片av| 欧美一区二区不卡视频| 国产一区二区波多野结衣| 91精品福利在线| 国产又黄又爽又色| 亚洲高清中文字幕| 男女羞羞免费视频| 亚洲女与黑人做爰| a一级免费视频| 国产精品激情偷乱一区二区∴| 加勒比一区二区| 99在线精品视频| 日批在线观看视频| 成人小视频在线| 人妻 丝袜美腿 中文字幕| 国产成人自拍在线| 九九九久久久久久久| 国产一区91精品张津瑜| 91pony九色| 国产一区二区在线影院| 爱豆国产剧免费观看大全剧苏畅| 免费人成在线不卡| av在线网址导航| 精品亚洲免费视频| 特级西西444www| 国产不卡视频在线播放| 亚洲精品鲁一鲁一区二区三区| 国产一区二区三区久久悠悠色av| www.国产视频.com| 精品一区二区三区不卡| 一级黄色大片儿| 国产aⅴ综合色| 精品人妻一区二区三区日产| 99久久国产免费看| 男生草女生视频| 国产精品美女一区二区| 日韩精品123区| 一区二区三区在线观看网站| 欧美日韩精品在线观看视频| 亚洲成人免费在线观看| 日韩av在线播| 日韩欧美成人网| 中文文字幕一区二区三三| 欧美久久一二区| 亚洲国产成人一区二区 | 成人性生活免费看| 2017欧美狠狠色| 午夜黄色福利视频| 樱花草国产18久久久久| 成年免费在线观看| 欧美中文字幕不卡| 国产日韩一级片| 亚洲成人av资源网| 国产对白叫床清晰在线播放| 久久久精品电影| 鲁鲁在线中文| 国产日韩欧美另类| 91精品入口| 欧洲成人一区二区| 一区二区电影| 国产视频一视频二| 久久99精品国产.久久久久| 日韩av成人网| 久久久久久久久久久久久女国产乱| 日日操免费视频| 亚洲国产wwwccc36天堂| 中文有码在线播放| 欧美变态凌虐bdsm| 粉嫩av一区| 久久久久中文字幕| 久久99久久久精品欧美| 国产精品av一区| 91综合久久| 日韩在线视频在线观看| 国产美女在线精品| 女~淫辱の触手3d动漫| 亚洲精品va在线观看| 色老头在线视频| 精品日韩99亚洲| 香港伦理在线| 日本韩国欧美精品大片卡二| 视频国产精品| 特级西西444www大精品视频| 欧美国产专区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 午夜精品久久久久| 国产女同91疯狂高潮互磨| 亚洲欧美另类人妖| 密臀av在线| 成人亚洲欧美一区二区三区| 精品美女视频| 每日在线更新av| 国产成人精品亚洲午夜麻豆| 精品一区二区三区蜜桃在线| 午夜视频一区二区三区| 国产精品久久久久久久成人午夜| 日韩国产中文字幕| hd国产人妖ts另类视频| 97超碰资源| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 亚洲欧美日韩人成在线播放| 91porny九色| 亚洲毛片一区二区| 白浆视频在线观看| 高清视频一区| 欧美+亚洲+精品+三区| 久久6免费视频| 国产欧美精品在线观看| 亚洲图片在线视频| 日韩av最新在线| 超碰在线公开| 国产日产精品一区二区三区四区| 亚洲综合小说| 污视频在线观看免费网站| 国产精品成人免费精品自在线观看| 波多野结衣家庭主妇| 国产午夜精品视频| 色综合一本到久久亚洲91| 欧美在线一二三区| 久久男女视频| 国产精品成人无码免费| 欧美性xxxxx极品少妇| 久久久久久女乱国产| 奇米影视亚洲狠狠色| 国产精品密蕾丝视频下载| 能在线观看的av网站| 久久精品视频一区| 日韩黄色一级视频| 日韩在线视频播放| 成人在线精品| 美女av免费观看| 成人a免费在线看| 中文字幕亚洲精品在线| 亚洲伦理中文字幕| 九色成人搞黄网站| 亚洲午夜高清视频| 韩国一区二区视频| 国产第100页| 日韩激情视频在线播放| japanese23hdxxxx日韩 | 欧美1级日本1级| 亚洲美女在线播放| 色婷婷综合五月| 日韩黄色影院| 国产精品二区三区| 另类天堂av| 午夜精品久久久久99蜜桃最新版| 91精品国产综合久久精品app| 午夜激情在线| 久久国产精品亚洲va麻豆| 日日夜夜免费精品| 成人涩涩小片视频日本| 精品国产一区久久| 成人影院入口| 91制片厂免费观看| 成人福利视频在线| 毛片在线免费播放| 欧美日韩福利视频| 久久av影视| 午夜大片在线观看| 欧美日韩色婷婷| 成人午夜在线影视| 精品国产一区二区三区日日嗨| 日韩成人av影视| 欧美久久久久久久久久久久| 国产手机视频精品| 粉嫩av国产一区二区三区| 六月婷婷在线视频| 国产精品久久久久久久久免费桃花| jizz国产视频| 国产精品第1页| 亚洲私人影院| 手机免费观看av| 亚洲精品国产精品国自产在线 | 99久久一区三区四区免费| 免费在线成人| 538精品在线观看| 中文精品99久久国产香蕉| 国产精东传媒成人av电影| 视色视频在线观看|