Loki 微服務模式組件介紹

目錄

一、簡介

二、架構圖

三、組件介紹

Distributor(分發器)

Ingester(存儲器)

Querier(查詢器)

Query Frontend(查詢前端)

Index Gateway(索引網關)

Compactor(壓縮器)

Table Manager(表管理器)

Ruler(規則引擎)

四、各組件協作流程

五、優勢

一、簡介

? ?Loki 是一個用于日志聚合和查詢的系統,廣泛用于 Kubernetes 和微服務架構中。Loki 的微服務模式將其核心功能拆分為多個獨立的組件,每個組件專注于特定的任務。以下是 Loki 微服務模式下主要組件的功能和作用介紹:

二、架構圖

三、組件介紹

Distributor(分發器)

功能:

  • 接收日志數據(通常通過 push 協議或 Promtail)。

  • 將日志數據分發到 Ingester 組件進行存儲和處理。

  • 通過 hash-ring 算法,根據日志流的標簽(labels)計算分區,并將數據路由到正確的 Ingester

作用:

  • 作為日志數據的入口,負責任務分配和路由。

  • 提供高可用性和水平擴展能力,允許多個 Distributor 節點同時運行。


Ingester(存儲器)

功能:

  • 接收 Distributor 分發的日志數據。

  • 將日志數據暫時存儲在內存中,并以分片的形式寫入持久化存儲(如對象存儲)。

  • 處理讀取請求并提供實時日志查詢能力。

作用:

  • 實現日志的實時存儲和處理。

  • 確保高吞吐量和低延遲的寫入性能。

  • 負責將日志數據以批次的形式寫入持久存儲。


Querier(查詢器)

功能:

  • 處理來自用戶的查詢請求(通過 Loki API 或 Grafana)。

  • Ingester 和持久化存儲中讀取日志數據。

  • 對日志數據進行過濾、聚合和返回。

作用:

  • 提供強大的查詢功能(使用 LogQL)。

  • 同時支持實時日志查詢(從 Ingester 獲取)和歷史日志查詢(從對象存儲獲取)。


Query Frontend(查詢前端)

功能:

  • 接收用戶的查詢請求,并將其分解為多個小查詢任務。

  • 對查詢任務進行緩存以提高性能。

  • 將查詢任務分發到 Querier

作用:

  • 優化查詢性能,尤其是復雜和大范圍查詢。

  • 提供請求分片、聚合以及緩存能力,減少 Querier 的工作負載。


Index Gateway(索引網關)

功能:

  • 管理和寫入日志的索引數據到后端存儲(如對象存儲、Cassandra)。

  • 提供索引的讀取能力,幫助快速定位日志。

作用:

  • 實現高效的日志索引存儲和管理。

  • 減少日志查詢的延遲,通過索引快速找到日志所在的存儲位置。


Compactor(壓縮器)

功能:

  • 定期從對象存儲中讀取分片的日志數據。

  • 對分片日志數據進行合并、去重和優化。

  • 寫入優化后的數據回對象存儲。

作用:

  • 優化日志數據的存儲格式,降低存儲成本。

  • 提升查詢效率,通過壓縮和去重減少查詢的數據量。


Table Manager(表管理器)

功能:

  • 為存儲后端(如 DynamoDB、Bigtable)管理表的生命周期。

  • 創建、刪除和更新索引表。

作用:

  • 提供后端存儲的表管理能力。

  • 確保索引表結構與 Loki 的存儲需求匹配。


Ruler(規則引擎)

功能:

  • 基于日志數據定義和執行規則。

  • 觸發警報規則或生成預聚合的日志查詢結果。

作用:

  • 提供告警功能:允許基于日志數據的實時或周期性告警。

  • 支持基于 LogQL 的規則評估。


四、各組件協作流程

  1. 日志接入

    1. Distributor 接收日志數據,并通過標簽分片分發給對應的 Ingester。

  2. 數據存儲

    1. Ingester 將日志數據暫存內存,并定期將其寫入對象存儲。

    2. Index Gateway 管理日志索引,方便快速查詢。

  3. 數據查詢

    1. 用戶通過 Loki 或 Grafana 發起查詢請求。

    2. Query Frontend 接收請求并優化分片后發送給 Querier。

    3. Querier 從 Ingester(實時數據)或對象存儲(歷史數據)中讀取日志并返回結果。

  4. 優化與維護

    1. Compactor 對存儲中的日志數據進行合并和優化。

    2. Ruler 定期評估規則并觸發告警。


五、優勢

  • 模塊化:每個組件獨立運行,可單獨擴展。

  • 高可用:各組件支持水平擴展,提供更高的吞吐量和容錯能力。

  • 靈活性:可以根據需求調整組件的資源和部署策略。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63705.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63705.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63705.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ OpenGL學習筆記(1、Hello World空窗口程序)

終于抽出時間系統學習OpenGL 教程,同時也一步一步記錄怎樣利用openGL進行加速計算。 目錄 1、環境準備1.1、庫的下載1.2、庫的選擇及安裝 2、OpenGL第一個項目,Hello World!2.1、新建hello world控制臺項目2.2、配置openGL環境2.2.1 包含目錄配置2.2.2 …

Linux系統命令基礎

Linux命令? [pypylinux ~]$ 普通?戶py,登陸后 [rootpylinux ~]# 超級?戶root,登錄后root代表當前登錄的?戶 分隔符pylinux 主機名~ 當前的登錄的位置,此時是家?錄# 超級?戶身份提示符 $ 普通?戶身份提示符操作系統?錄分隔符 Linux目錄…

不同版本的 Redis 的鍵值對內存占用情況示例

不同版本的 Redis 的鍵值對內存占用情況示例 文章目錄 不同版本的 Redis 的鍵值對內存占用情況示例Redis 6.0redisObjectdictEntrysds🍀 數據結構🍀 sdslen() 函數🍀 sdsReqType() 函數🍀 sdsHdrSize() 函數 內存分配 - malloc() …

實現 WebSocket 接入文心一言

目錄 什么是 WebSocket? 為什么需要 WebSocket? HTTP 的局限性 WebSocket 的優勢 總結:HTTP 和 WebSocket 的區別 WebSocket 的劣勢 WebSocket 常見應用場景 WebSocket 握手過程 WebSocket 事件處理和生命周期 WebSocket 心跳機制 …

2024.7 XAI 遇見 LLM:可解釋 AI 與大型語言模型之間關系的調查

https://arxiv.org/pdf/2407.15248 問題 Q1:XAI 技術當前如何與 LLMs 集成?Q2:將 LLMs 與 XAI 方法融合的新興趨勢是什么?Q3:當前相關文獻存在哪些差距,哪些領域需要進一步研究? 挑戰 LLMs …

前端滾動錨點(點擊后頁面滾動到指定位置)

三個常用方案: 1.scrollintoView 把調用該方法的元素滾動到屏幕的指定位置,中間,底部,或者頂部 優點:方便,只需要獲取元素然后調用 缺點:不好精確控制,只能讓元素指定滾動到中間&…

前端筆記——大數據量瀏覽器卡頓優化思路

多任務數據量處理卡頓問題 任務分批次 為避免阻塞,可以將 長時間的單一任務 拆分成多個小任務并分批執行。這樣可以在兩次任務之間讓瀏覽器有時間處理渲染、用戶輸入等操作。兩種常見方法: setTimeout 方法: 使用 setTimeout 將任務分段&a…

數智化轉型是什么?

數智化轉型是指企業通過數字化(Digitalization)和智能化(Intelligentization)技術的結合,推動業務流程、產品服務、組織管理的全面升級,從而提升效率、增強創新能力,并實現更高價值。相比傳統的…

RIP實驗

要求及分析 路由器上分別配置環回 連接路由器的線路網段為12.1.1.0/24、23.1.1.1.0/24 R1和R3連接的網絡地址分別為192.168.1.0/24/192.168.2.0/24 整個網絡使用RIP達到全網可達 配置 先配置路由器各接口ip和環回和pc ip網關掩碼(圖略) 進行 RI…

Oracle 中間件 Webcenter Portal服務器環境搭建

環境信息 服務器基本信息 如下表,本次安裝總共使用2臺服務器,具體信息如下: Webcenter1服務器 歸類 SOA服務器 Ip Address 172.xx.xx.xx.xx HostName wcc01.xxxxxx.com Alias wccprd01 Webcenter2服務器 歸類 OSB服務器 Ip Addr…

macOS 配置 vscode 命令行啟動

打開 vscode 使用 cmd shift p 組合快捷鍵,輸入 install 點擊 Install ‘code’ command in PATH Ref https://code.visualstudio.com/docs/setup/mac

3、交換機IP路由功能

每個用例前自己最好先畫個圖,不然容易繞暈,這篇文章寫好久了,自己都覺得有點繞 一、直連路由 如果一個交換機與另一個交換機時直連著的并且他們用來連接的端口屬于同網段,那么這種情況下他們就屬于直連路由。不需要做任何配置便可…

分層架構 IM 系統之多媒體功能設計與實現

現在 IM 系統已經不僅限于文本消息的通訊了,多媒體數據占據越來越多的比重,比如:文件傳輸、語音通話、視頻通話等。 在前面的文章(《基于需求分析模型來結構化剖析 IM 系統》)中我們分析過,“多媒體消息”…

0.gitlab ubuntu20.04 部署問題解決

安裝依賴: ① sudo apt-get update 出現: 解決方式: 去 /etc/apt/sources.list.d 這個目錄刪除或注釋對應的list文件 第三方軟件的源一般都以list文件的方式放在 /etc/apt/sources.list.d 這個目錄 重新運行sudo apt-get update 安裝…

Next.js v15 - 服務器操作以及調用原理

約定 服務器操作是在服務器上執行的異步函數。它們可以在服務器組件和客戶端組件中調用,用于處理 Next.js 應用程序中的表單提交和數據修改。 服務器操作可以通過 React 的 “use server” 指令定義。你可以將該指令放在 async 函數的頂部以將該函數標記為服務器操…

什么是3DEXPERIENCE SOLIDWORKS,它有哪些角色和功能?

將業界領先的 SOLIDWORKS 3D CAD 解決方案連接到基于單一云端產品開發環境 3DEXPERIENCE 平臺。您的團隊、數據和流程全部連接到一個平臺進行高效的協作工作,從而能快速的做出更好的決策。 目 錄: ★ 1 什么是3DEXPERIENCE SOLIDWORKS ★ 2 3DEXPERIE…

【華為OD-E卷-開心消消樂 100分(python、java、c++、js、c)】

【華為OD-E卷-開心消消樂 100分(python、java、c、js、c)】 題目 給定一個 N 行 M 列的二維矩陣,矩陣中每個位置的數字取值為 0 或 1。矩陣示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 現需要將矩陣中所有的 1 進行反轉為 0&#…

[Unity]【圖形渲染】【游戲開發】Shader數學基礎4-更多矢量運算

在計算機圖形學和著色器編程中,矢量運算是核心的數學工具之一。矢量用于描述空間中的位置、方向、速度等各種物理量,并在圖形變換、光照計算、紋理映射等方面起著至關重要的作用。本篇文章將詳細講解矢量和標量之間的乘法與除法、矢量的加法與減法、矢量的模與單位矢量、點積…

【漏洞復現】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…

Bcrypt在線密碼加密生成器

具體前往:在線Bcrypt加密工具--使用bcrypt及生成salt的迭代次數強度參數計算生成哈希(摘要)