精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲爆乳无码精品aaa片蜜桃| 久久精品国产欧美亚洲人人爽| 欧美黄网站在线观看| 东凛在线观看| 福利电影一区二区| 国产精品久久一区| 精品一区免费观看| 欧美日韩水蜜桃| 精品久久久久久亚洲综合网| 成年人网站大全| 日本在线观看大片免费视频| 久久久精品日韩欧美| 999精品视频一区二区三区| 无码人妻丰满熟妇区bbbbxxxx| 亚洲九九在线| 一区二区三区在线播放欧美| jjzz黄色片| 香蕉久久一区| 在线看不卡av| 男人添女人下面高潮视频| 免费网站免费进入在线| 成人国产在线观看| 91在线短视频| 在线观看免费黄色小视频| 亚洲伊人网站| 久久琪琪电影院| 人妻久久一区二区| 成人综合一区| 亚洲免费福利视频| 免费看黄色片的网站| 精品中文字幕一区二区三区四区| 欧洲av一区二区嗯嗯嗯啊| 欧美三级一级片| 久草在线视频网站| 亚洲激情五月婷婷| 一本二本三本亚洲码| 好男人免费精品视频| 91毛片在线观看| 国产女人水真多18毛片18精品 | 91精品国产一区二区三区动漫| 日韩不卡高清视频| 日韩精品欧美精品| 国产精品激情av电影在线观看| www.日本精品| 亚洲美女网站| 97精品在线观看| 日韩精品一区二区三区国语自制| 国产一区亚洲| 欧美极品欧美精品欧美视频 | 日韩欧美在线字幕| 日本精品www| 中文在线最新版地址| 日韩欧美极品在线观看| 男人操女人免费软件| 天天综合av| 日本久久电影网| 国产九九在线视频| 欧美网站免费| 91精品国产色综合久久不卡电影| 日本黄色的视频| www.久久爱.com| 欧美不卡一二三| 日本道中文字幕| 偷窥自拍亚洲色图精选| 亚洲欧美日韩天堂| www.日本高清视频| 自拍偷拍欧美专区| 久久人人97超碰精品888| 午夜毛片在线观看| 日韩成人一区二区三区在线观看| 国产人妖伪娘一区91| 国产激情视频在线播放| 99久久99久久久精品齐齐| 欧洲一区二区在线| 免费av在线网址| 亚洲一区二区成人在线观看| 日韩欧美一区二| 成人黄色免费短视频| 欧美乱妇20p| 国产一卡二卡三卡四卡| 精品国产乱码久久久久久1区2匹| 国产精品精品国产一区二区| 久久久精品中文字幕| 青青草在线观看视频| 一级毛片视频在线观看| 亚洲国产成人午夜在线一区| 日本黄xxxxxxxxx100| 国产在线看片免费视频在线观看| 在线视频一区二区三区| 免费高清视频在线观看| 青青视频一区二区| 精品国产欧美成人夜夜嗨| 精品深夜av无码一区二区老年| 欧美亚洲一级| 91九色偷拍| 欧美在线一卡| 伊人色综合久久天天| 国产婷婷一区二区三区| 欧美黄页在线免费观看| 日韩成人久久久| 粉嫩av性色av蜜臀av网站| 久久久久久夜| 国产传媒一区二区| 成人性爱视频在线观看| 亚洲一区二区欧美| 999久久久精品视频| 婷婷综合福利| 久久久久久成人| 国产又粗又猛又爽又黄91| 91一区二区在线| 国产911在线观看| 日韩av首页| 亚洲精品成人久久久| 国产一区二区三区在线视频观看| 日韩精品成人一区二区在线| 国产视频一区二区三区四区| 免费网站黄在线观看| 在线看不卡av| 欧洲美一区二区三区亚洲 | 久久综合久久综合久久综合| 男女爱爱视频网站| 久久精品xxxxx| 亚洲欧美制服综合另类| 一区二区三区视频免费看| 国产精品91xxx| 中文一区一区三区免费| 黄色精品视频| 亚洲视频综合网| 久久久精品免费看| 成人看片黄a免费看在线| 亚洲黄色网址在线观看| 日韩成人综合网站| 日韩网站免费观看高清| 亚洲午夜激情视频| 国产农村妇女毛片精品久久麻豆| www.com毛片| 欧美人成在线观看ccc36| 欧美极度另类性三渗透| 黄色成人一级片| 一区二区日韩av| gogo亚洲国模私拍人体| 欧美在线看片| 亚洲影院在线看| 亚洲综合伊人久久大杳蕉| 欧美日韩不卡在线| 日本成人精品视频| 老司机精品视频一区二区三区| 色综合久久av| 国产精品第一| 日韩亚洲成人av在线| 夜夜爽8888| 亚洲女人小视频在线观看| 日韩va在线观看| 51精产品一区一区三区| 亚洲最大的成人网| 久久久久黄久久免费漫画| 日韩欧美国产电影| 日韩av一二三区| 26uuu精品一区二区在线观看| 免费观看精品视频| 成人久久一区| 91夜夜未满十八勿入爽爽影院| a级网站在线播放| 精品国产伦一区二区三区观看体验| 亚洲综合一二三| 国产日产欧美一区二区三区| 色播五月激情五月| 欧美日韩免费| 裸模一区二区三区免费| 国内自拍亚洲| 欧美黑人xxxx| 欧美孕妇性xxxⅹ精品hd| 欧美午夜精品一区| 久久r这里只有精品| 99国产欧美另类久久久精品| 日本免费观看网站| 永久亚洲成a人片777777| 国产在线精品一区二区三区| 午夜精品成人av| 欧美成人国产va精品日本一级| 少妇人妻一区二区| 欧美在线免费观看亚洲| 欧美国产日韩在线观看成人| 97精品国产露脸对白| 日本高清久久久| 99xxxx成人网| 中文字幕一区二区三区乱码 | 精品国产区一区| 黄色片视频免费| 一区二区三区久久| 手机免费看av| 成人性生交大片免费看中文网站| 色婷婷综合久久久久中文字幕| 伊人色**天天综合婷婷| 欧洲久久久久久| 国产精品久av福利在线观看| 国产精品视频一| 涩涩视频在线免费看| 久久天天躁狠狠躁老女人| 青青青草原在线| 日韩免费性生活视频播放| 青青草视频在线观看免费| 亚洲国产日韩在线一区模特| 五月天婷婷丁香网| 91丨九色porny丨蝌蚪| xxx中文字幕| 日韩影院免费视频| 男人日女人视频网站| 香蕉综合视频| 手机看片福利永久国产日韩| 日本午夜精品| 97在线资源站| 国产美女亚洲精品7777| 国产精品678| 国内激情视频在线观看| 欧美风情在线观看| 国内外激情在线| 一区二区在线免费视频| 完全免费av在线播放| 国产99999| 欧美日韩在线综合| 国产又粗又猛又黄视频| 岛国av午夜精品| 日本一区二区不卡在线| 啊啊啊久久久| 麻豆一区二区在线观看| 日韩大片在线永久免费观看网站| 亚洲欧洲在线播放| 天天干天天插天天操| 精品噜噜噜噜久久久久久久久试看| 一级黄色短视频| 精品视频一区 二区 三区| 人人草在线观看| 色欧美日韩亚洲| 好吊色在线视频| 91成人国产精品| av首页在线观看| 欧美在线看片a免费观看| 91久久国产综合久久91| 色婷婷亚洲综合| 少妇高潮av久久久久久| 色婷婷国产精品| www亚洲视频| 色香色香欲天天天影视综合网| 欧美日韩精品区| 色婷婷精品久久二区二区蜜臂av | 91动漫免费网站| 国产精品伦一区二区三级视频| 天堂久久精品忘忧草| 国产精品日日摸夜夜摸av| 亚洲精品成人av久久| 中文字幕一区二区在线播放| 五月天色婷婷丁香| 亚洲精品一二三区| 免费在线一区二区三区| 午夜伊人狠狠久久| 国产精品视频免费播放| 在线观看91精品国产入口| 中文字幕一区二区三区波野结 | 国产日产欧美一区二区三区 | 国产日产一区| 日韩欧美在线一区二区| 成人免费看片39| 中文字幕一区二区三区精彩视频 | 久久av免费| 亚洲国产激情一区二区三区| 99久久久久| 国产一线二线三线女| 香蕉亚洲视频| 日韩精品视频一二三| 高清成人免费视频| 人妻丰满熟妇aⅴ无码| 国产农村妇女毛片精品久久麻豆 | 久久精品导航| 中文字幕国产高清| av成人老司机| 国产精品久久免费观看| 亚洲嫩草精品久久| 五月婷婷中文字幕| 欧美日韩精品久久久| 亚洲国产精品无码久久| 亚洲日本中文字幕| 国产传媒在线播放| 2024亚洲男人天堂| www.欧美| 免费日韩av电影| 91九色精品| 日韩av片在线看| 国内一区二区在线| 国产伦精品一区二区三区妓女| 国产精品久久777777| av资源免费观看| 91精品啪在线观看国产60岁| 天堂中文在线视频| 久久久精品久久久| 桃花岛成人影院| 国产精品视频在线免费观看 | 久色视频在线播放| 国产一区亚洲一区| 国产美女免费网站| 亚洲第一福利一区| 国产精品无码久久av| 亚洲天堂免费在线| 丁香花在线影院| 国产精品久久久久久亚洲调教| 第四色在线一区二区| 一本色道久久99精品综合| 亚洲在线播放| 国产乱淫av片| 亚洲精品国产成人久久av盗摄 | 精品国产免费人成电影在线观看四季| www.久久热.com| 日本成熟性欧美| 国产主播性色av福利精品一区| 国产树林野战在线播放| 美女视频第一区二区三区免费观看网站| bl动漫在线观看| 亚洲在线免费播放| 99精品视频在线播放免费| 中文字幕日韩有码| 秋霞国产精品| 日本福利一区二区三区| 国产精品日本| bl动漫在线观看| 午夜精品久久久久久不卡8050| 精品国产999久久久免费| 久久久精品一区| 成人豆花视频| 懂色av一区二区三区四区五区| 欧美aⅴ一区二区三区视频| 免费视频91蜜桃| 在线免费观看日本欧美| 成人精品一区二区三区免费| 国产成人欧美在线观看| 五月综合久久| 国产99久久九九精品无码| 久久亚洲一级片| 国产一级淫片a视频免费观看| 亚洲国产精品字幕| 成人免费网站观看| 免费看成人av| 日本系列欧美系列| 性爱在线免费视频| 欧美精品自拍偷拍| 综合图区亚洲| 国产精品久久精品视| 亚洲日本久久| 国产黄色网址在线观看| 欧美在线色视频| 日韩美女网站| 亚洲一区二区三区四区视频 | 亚洲视频在线观看三级| 国产视频aaa| 久久久久日韩精品久久久男男| 超碰成人97| 日本成年人网址| 欧美国产亚洲另类动漫| 亚洲手机在线观看| 久久电影一区二区| 国产精品调教视频| 日韩 欧美 高清| 国产精品三级电影| 国产黄色大片网站| 欧美一级黑人aaaaaaa做受| 国产欧美日韩影院| 午夜av中文字幕| 亚洲国产精品精华液网站| 你懂得在线网址| 成人免费观看a| 在线精品观看| 蜜桃无码一区二区三区| 制服丝袜亚洲网站| 国产精品186在线观看在线播放| 另类小说综合网| 精品一区二区三区视频| 日韩欧美视频在线免费观看| 亚洲视频免费一区| 免费看一区二区三区| 国产a级一级片| 亚洲乱码国产乱码精品精可以看| 欧美一级做性受免费大片免费| 人人澡人人澡人人看欧美| 羞羞色午夜精品一区二区三区| 中文字幕天堂网| 欧美亚洲国产bt| sm在线观看| 亚洲一卡二卡三卡四卡无卡网站在线看| 国产精品自产自拍| 精产国品一区二区| 久久91超碰青草是什么| 国产免费久久| 超碰caoprom| 欧美日韩激情一区| 最新日韩精品| 成人小视频在线观看免费| 国产欧美视频在线观看| 日本高清视频免费看| 成人午夜在线影院| 日韩高清不卡一区二区| 毛片aaaaa|