自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從 ELK/EFK 到 PLG,是時(shí)候換個(gè)日志框架了

開發(fā) 開發(fā)工具
隨著分布式系統(tǒng)復(fù)雜性的不斷增加和云原生解決方案的不斷增長(zhǎng),監(jiān)控和可觀察性成為了解系統(tǒng)行為的一個(gè)非常重要的方面。這就需要可擴(kuò)展的工具來收集所有服務(wù)的數(shù)據(jù),并為開發(fā)人員提供性能、錯(cuò)誤、日志和組件可用性的統(tǒng)一視圖。

隨著分布式系統(tǒng)復(fù)雜性的不斷增加和云原生解決方案的不斷增長(zhǎng),監(jiān)控和可觀察性成為了解系統(tǒng)行為的一個(gè)非常重要的方面。這就需要可擴(kuò)展的工具來收集所有服務(wù)的數(shù)據(jù),并為開發(fā)人員提供性能、錯(cuò)誤、日志和組件可用性的統(tǒng)一視圖。這些工具還需要具有成本效益和高性能。在本文中,我們將介紹兩種流行的日志記錄堆?!狤FK (Elasticsearch) 和 PLG (Loki),并了解它們的架構(gòu)和差異。

什么是 EFK 堆棧?

你可能聽說過非常流行的 ELK 或 EFK 堆棧。它是一組監(jiān)控工具——Elastic search(對(duì)象存儲(chǔ))、Logstash 或 FluentD(日志路由和聚合)以及用于可視化的 Kibana。

典型的工作流程如下:

Elasticsearch是一個(gè)實(shí)時(shí)、分布式對(duì)象存儲(chǔ)、搜索和分析引擎。它擅長(zhǎng)對(duì)日志等半結(jié)構(gòu)化數(shù)據(jù)進(jìn)行索引。信息被序列化為 JSON 文檔并實(shí)時(shí)索引并分布在集群中的節(jié)點(diǎn)上。Elasticsearch 使用倒排索引列出所有唯一單詞及其相關(guān)文檔進(jìn)行全文搜索,該索引基于 Apache Lucene 搜索引擎庫(kù)。

FluentD是一個(gè)數(shù)據(jù)收集器,它將數(shù)據(jù)收集和消費(fèi)統(tǒng)一起來,以便更好地使用。FluentD 嘗試盡可能將數(shù)據(jù)構(gòu)造為 JSON,具有插件架構(gòu),并受到數(shù)百個(gè)社區(qū)提供的插件支持。

Kibana是 Elasticsearch 數(shù)據(jù)的可視化引擎,具有時(shí)間序列分析、機(jī)器學(xué)習(xí)、圖形和位置分析等功能。

Elasticsearch架構(gòu)

通常在 Elasticsearch 集群中,數(shù)據(jù)存儲(chǔ)在跨節(jié)點(diǎn)的分片中。集群由許多節(jié)點(diǎn)組成,以提高可用性和彈性。任何節(jié)點(diǎn)都能夠執(zhí)行所有角色,但在大規(guī)模部署中,節(jié)點(diǎn)可以被分配特定的職責(zé)。

集群中有以下類型的節(jié)點(diǎn):

  1. 主節(jié)點(diǎn) – 控制集群,至少需要 3 個(gè),其中一個(gè)始終處于活動(dòng)狀態(tài)
  2. 數(shù)據(jù)節(jié)點(diǎn) – 保存索引數(shù)據(jù)并執(zhí)行與數(shù)據(jù)相關(guān)的任務(wù)
  3. 攝取節(jié)點(diǎn) – 用于攝取管道,在索引之前轉(zhuǎn)換和豐富數(shù)據(jù)
  4. 協(xié)調(diào)節(jié)點(diǎn) – 路由請(qǐng)求、處理搜索縮減階段、協(xié)調(diào)批量索引
  5. 警報(bào)節(jié)點(diǎn) – 運(yùn)行警報(bào)作業(yè)
  6. 機(jī)器學(xué)習(xí)節(jié)點(diǎn) – 運(yùn)行機(jī)器學(xué)習(xí)作業(yè)

下圖顯示了數(shù)據(jù)如何存儲(chǔ)在主分片和副本分片中,并以跨節(jié)點(diǎn)分散負(fù)載并提高數(shù)據(jù)可用性。

每個(gè)分片中的數(shù)據(jù)都存儲(chǔ)在倒排索引中。下圖顯示了數(shù)據(jù)如何存儲(chǔ)在倒排索引中。

什么是 PLG(Promtail、Loki 和 Grafana)?

如果你沒有找到這個(gè)縮寫詞,請(qǐng)不要感到驚訝,它通常被稱為 Grafana Loki。Grafana實(shí)驗(yàn)室設(shè)計(jì)了Loki,這是一個(gè)受Prometheus啟發(fā)的水平可擴(kuò)展、高可用、多租戶日志聚合系統(tǒng)。它僅索引元數(shù)據(jù),不索引日志內(nèi)容。這種設(shè)計(jì)決策使其非常具有成本效益且易于操作。

Promtail是一個(gè)將日志從本地系統(tǒng)發(fā)送到 Loki 集群的代理。

Grafana是一種可視化工具,它使用來自 Loki 數(shù)據(jù)源的數(shù)據(jù)。

Loki基于Prometheus相同的設(shè)計(jì)原理構(gòu)建,因此非常適合存儲(chǔ)和分析日志。

Loki 架構(gòu)

Loki 可以在單進(jìn)程模式或多進(jìn)程模式下運(yùn)行,提供獨(dú)立的水平可擴(kuò)展性。單進(jìn)程模型有利于本地開發(fā)和小型監(jiān)控設(shè)置。對(duì)于生產(chǎn)和可擴(kuò)展的工作負(fù)載,建議使用微服務(wù)模型。Loki 中的寫入路徑和讀取路徑是解耦的,因此它具有高度可調(diào)性,并且可以根據(jù)需要獨(dú)立擴(kuò)展。

下面是 Loki(微服務(wù)模型)的架構(gòu):

組件:

Promtail – 這是安裝在節(jié)點(diǎn)上的代理(作為 Daemonset),它從作業(yè)中提取日志并與 Kubernetes API 服務(wù)器通信以獲取元數(shù)據(jù)并使用此信息來標(biāo)記日志。然后它將日志轉(zhuǎn)發(fā)到 Loki 中央服務(wù)。代理支持與 Prometheus 相同的標(biāo)簽規(guī)則,以確保元數(shù)據(jù)匹配。

Distributor– Promtail將日志發(fā)送到分發(fā)器,該分發(fā)器充當(dāng)緩沖區(qū)。為了處理數(shù)百萬條寫入,它將流入的日志批量處理,并在數(shù)據(jù)到達(dá)時(shí)按塊進(jìn)行壓縮。存在多個(gè)攝取者(ingesters),屬于每個(gè)流的日志將在同一塊中的所有相關(guān)條目中進(jìn)入相同的攝取者。這是通過使用攝取者環(huán)和一致性哈希來完成的。為了提供彈性和冗余性,它會(huì)進(jìn)行n(默認(rèn)為3)倍的復(fù)制。

Ingester – 當(dāng)塊進(jìn)入時(shí),它們被壓縮并附加日志。一旦塊填滿,該塊就會(huì)刷新到數(shù)據(jù)庫(kù)。元數(shù)據(jù)進(jìn)入索引,日志塊數(shù)據(jù)進(jìn)入塊(通常是對(duì)象存儲(chǔ))。日志刷完后,Ingester會(huì)創(chuàng)建一個(gè)新塊并向其中添加新條目。

下面是一個(gè)示例儀表板,顯示來自 Prometheus 的 ETCD 指標(biāo)數(shù)據(jù)和 Loki 的 ETCD Pod 日志數(shù)據(jù)。

EFK (Elasticsearch) 與 PLG (Loki) 技術(shù)棧的比較:

查詢語言

Elasticsearch 使用 Query DSL 和 Lucene 查詢語言提供全文搜索功能。它是一個(gè)成熟強(qiáng)大的搜索引擎,擁有廣泛的運(yùn)營(yíng)商支持。它可以搜索內(nèi)容并使用相關(guān)性分?jǐn)?shù)對(duì)其進(jìn)行排序。另一方面,Loki 使用的是 LogQL,它使用日志標(biāo)簽來過濾和選擇日志數(shù)據(jù)。Loki 可以使用一些運(yùn)算符和算術(shù),但它不像 Elastic Search 那樣成熟。

可擴(kuò)展性

兩者都是水平可擴(kuò)展的,但 Loki 由于其解耦的讀寫路徑以及使用基于微服務(wù)的架構(gòu)而具有更多優(yōu)勢(shì)。它可以根據(jù)具體需求進(jìn)行定制,并可用于處理大量日志數(shù)據(jù)。

多租戶

在共享集群中擁有多個(gè)租戶是降低運(yùn)營(yíng)成本的常見主題。這兩種技術(shù)都提供了托管多個(gè)租戶的方法。使用elasticsearch,有多種方法可以將租戶分開——每個(gè)租戶一個(gè)索引、基于租戶的路由、使用唯一的租戶字段以及使用搜索過濾器。

在 Loki 中,通過在 HTTP 標(biāo)頭請(qǐng)求中使用 X-Scope-OrgId支持多租戶 。

成本

Loki 是一種極具成本效益的解決方案,因?yàn)樗脑O(shè)計(jì)決策是避免對(duì)實(shí)際日志數(shù)據(jù)建立索引。僅對(duì)元數(shù)據(jù)建立索引,因此可以節(jié)省存儲(chǔ) 和內(nèi)存(緩存)。與 Elasticsearch 集群所需的塊存儲(chǔ)相比,對(duì)象存儲(chǔ)更便宜。

結(jié)論

由于元數(shù)據(jù)發(fā)現(xiàn)機(jī)制,Loki 技術(shù)棧在 Kubernetes 生態(tài)系統(tǒng)中非常有用??梢暂p松地將 grafana 中基于時(shí)間序列的數(shù)據(jù)與日志關(guān)聯(lián)起來,以實(shí)現(xiàn)可觀察性。

當(dāng)涉及成本和長(zhǎng)時(shí)間存儲(chǔ)日志時(shí),Loki 是云原生解決方案日志記錄的絕佳選擇。

因此,不妨考慮一下 PLG 。

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

2023-10-16 07:39:02

ELKpod日志

2020-12-31 10:48:17

ELKEFKLinux

2020-12-22 09:17:49

日志Loki服務(wù)

2022-06-13 11:33:59

RedoMySQL

2020-09-25 09:37:20

云計(jì)算IT技術(shù)

2022-10-13 08:48:09

戰(zhàn)略CIO業(yè)務(wù)

2024-04-29 08:42:23

2025-03-26 02:00:00

2023-12-18 10:24:59

2023-12-13 16:28:02

2023-09-27 23:08:08

Web前端Vue.jsVue3.0

2011-02-25 11:13:17

邊緣網(wǎng)絡(luò)千兆以太網(wǎng)網(wǎng)絡(luò)升級(jí)

2013-01-28 17:33:42

2011-06-21 10:06:48

2023-09-13 08:56:51

2020-05-18 14:55:34

監(jiān)控系統(tǒng)架構(gòu)技術(shù)

2019-08-15 10:56:10

WebServletSpring mvc

2014-11-20 17:06:27

阿里巴巴DT

2025-01-06 07:10:00

2017-05-27 09:23:10

IOS框架APP框架代碼
點(diǎn)贊
收藏

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