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

淺析 Grafana Loki 日志聚合系統

開發 前端
Loki 的設計就是推薦使用并行化 (parallelization) 來實現最佳性能,將查詢分解成小塊,并將其并行調度,這樣就可以在小時間內查詢大量的日志數據。

Loki 是一個水平可擴展、高可用、多租戶的日志存儲與查詢系統。受 Prometheus 啟發,Loki 不對日志內容進行索引,而是采用標簽(Label)作為索引,從而降低存儲成本。

Like Prometheus, but for logs.

架構設計

Loki 采用讀寫分離架構,由多個微服務構建而成,被設計成一個水平可擴展的分布式系統。

圖片圖片

其中寫組件有:

1、Distributor 分發器:分發器通過 HTTP 接收到日志后,會進行驗證(驗證日志時間或日志行大小等是否滿足規則)、預處理(對 labels 按照 key 以字典順序排序,方便后續進行一致性 hash 算法來將日志發往 Ingester 接收器),同時還負責限速功能,流量過大時可以拒絕額外的請求。

2、Ingester 接收器:接收器是一個有狀態的組件,在日志流進入時對其進行 gzip/snappy 壓縮操作,并負責構建和刷新日志 chunk ,當內存中的 chunk 達到一定的數量或者時間后,就會刷新 chunk 和對應的 index 索引存儲到本地文件系統或對象存儲中。接收器默認會啟用 WAL 功能,防止數據丟失。

讀組件有:

1、Query Frontend 查詢前端:查詢前端是一個可選的組件,具有查詢拆分、緩存的作用。一個查詢可以拆解成多個小查詢,并行在多個 Querier 組件上進行查詢,最終合并返回給前端展示。查詢前端內部有一個內存隊列,還可以將其移出作為一個 Query Scheduler 查詢調度器的單獨進程運行。

2、Querier 查詢器:接收一個時間范圍和標簽選擇器,Querier 查詢器根據 index 索引來確定哪些日志 chunk 匹配,然后將結果顯示出來。在查詢數據時,優先查詢所有 Ingester 接收器中的內存數據,沒查到再去查存儲。如果開啟了數據副本,數據可能重復,因此 Querier 還有數據去重的功能。

另外還有一些其它組件:

1、Ruler 規則器:負責日志告警功能,可以持續查詢一個 rule 規則,并將超過閾值的事件推送給 AlertManager 或者其它告警 Webhook 服務。

2、Compactor 壓縮器:負責定時對索引進行壓縮合并,同時負責日志的刪除功能。

3、Memcaches 緩存:這部分屬于外部第三方組件,支持的緩存類型有 in-memory、redis 和 memcached ,可以在 Ingester 、Query Frontend 、Querier 和 Ruler 上配置 Results 查詢結果緩存、Index 索引緩存或 Chunks 塊緩存。

組件之間的交互流程大致如下:

圖片圖片

一致性哈希環設計

Loki 的分布式架構源自 https://github.com/cortexproject/cortex 項目,對于各組件服務狀態和數據的通信均采用一致性哈希環設計,哈希環的配置支持 consul、etcd、inmemory 或 memberlist :

common:
  ring:
    kvstore:
      # 支持切換為 consul、etcd、inmemory
      store: memberlist

在 Loki 中定義了很多哈希環:IngesterRing、RulerRing 和 CompactorRing 等,以分發器(Distributor)和接收器(Ingester)組件為例,借助 IngesterRing 哈希環,Distributor 就可以確定日志流應該發往哪個 Ingester 實例,具體流程如下:

1、日志流的唯一性計算:每個日志流由租戶 ID 及其所有標簽的 key/value 組合唯一確定,并由此計算出日志流的 hash key —— 一個無符號的 32 位整數。

2、Ingester 的注冊:每個 Ingester 實例會在哈希環(IngesterRing)上注冊自身,并分配一組 token(每個 token 為隨機生成的無符號 32 位整數),用于確定其在哈希環中的位置。

圖片圖片

3、日志流的分配:當 Distributor 需要分發日志時,它會在哈希環上找到第一個大于日志流 hash key 的 token,并將該 token 所屬的 Ingester 實例視為目標存儲節點。

a. 副本機制:若數據副本數(replication_factor) 大于 1(默認為 3),則繼續順時針查找,找到下一個 token 對應的不同 Ingester 實例,確保日志的多副本存儲,提高容錯能力。

b. 狀態約束:僅當目標 Ingester 處于 JOINING 或 ACTIVE 狀態時,才能接收日志寫入請求;僅當 Ingester 處于 ACTIVE 或 LEAVING 狀態時,才能處理日志讀取請求。

其動態演示效果如下:

圖片圖片

但在這種機制下,若單個日志流中的數據量過大,就容易導致 Ingester 實例負載不均衡,如下:

圖片圖片

此時,可以啟用自動分片流功能,通過在現有日志流中自動添加 __stream_shard__ 標簽及其值,以控制日志流速保持在 desired_rate 以下,達到負載均衡的效果:

limits_config:
  shard_streams:
    enabled: true
    desired_rate: 1536KB

圖片圖片

存儲設計

在 Loki 中,標簽(label)實際就是在提取日志時分配給日志的一組任意 key/value,既是 Loki 對傳入數據進行分塊的鍵,也是查詢時用于查找日志的索引。

每個標簽的 key 和 value 的組合會唯一定義成一個日志流(stream),哪怕僅有一個標簽值發生了變化,都會重新創建一個新的日志流。

不同的日志流會在 Ingester 實例的內存中構建出不同的日志 chunk ,滿足規則(達到 chunk_target_size 、max_chunk_age 或 chunk_idle_period上限)就會刷新到對象存儲或本地文件系統中:

圖片圖片

因此,Loki 需要存儲兩種不同類型的數據:塊(chunk)和索引(index)。

  • chunk:即日志本身,一個 chunk 包含很多 block ,進行壓縮后存儲
  • index:即日志索引,key/value 結構,key 是日志 label 的哈希,value 則包含日志存在哪個 chunk 上、chunk 大小、日志的時間范圍等信息

其中 chunk 的存儲可以直接上傳到配置的存儲系統中(例如本地文件系統或 S3),而 index 的存儲處理稍微麻煩些。

在 2.0 之前,chunk 和 index 的存儲是分開的,意味著需要配置兩個存儲系統。而 2.0 開始,推行一種叫單一存儲架構的設計,實現了 “boltdb-shipper” 索引存儲,這種機制下只需要一個共享存儲,例如 S3,就可以同時用于 chunk 和 index 的存儲。到了 Loki 2.8 ,再次推出了更高效的 “tsdb-shipper” 索引存儲,這也是目前 3.x 版本所推薦的索引存儲方式。

這兩種索引存儲的原理大致上是相似的,工作可以分為 uploadsManager 和 downloadsManager 兩部分:

  • uploadsManager:負責上傳 active_index_directory 內的索引分片到配置的共享存儲中,同時負責定期清理工作
  • downloadsManager:負責從共享存儲下載索引到本地緩存目錄 cache_location,同時負責定期同步和清理工作

簡單來理解就是,一個是把本地 boltdb 文件當作索引存儲,另一個把本地 tsdb 文件當作索引存儲,但這兩種索引存儲都有 “shipper” 的能力,可以把自身上傳到配置的共享存儲中,并保持同步。如此一來,我們就可以利用 S3 同時存儲 chunk 和 index 了。

隨著版本的迭代,不可避免會出現很多不同的存儲模式,好在 Loki 允許通過日期起點來定義不同時間段使用不同的存儲模式:

schema_config:
  configs:
    -from:2024-01-01
      store:boltdb-shipper
      object_store:s3
      schema:v12
      index:
        prefix:index_
        period:24h
    -from:2025-01-01
      store:tsdb
      object_store:s3
      schema:v13
      index:
        prefix:index_
        period:24h

需要注意的是:

  1. 升級架構,始終將新模式中的 from 日期設置為未來的日期,要注意是從 UTC 00:00:00 開始。
  2. 全新部署,from 日期需要設置為以前的日期,才可以接收處理日志。
  3. 架構變更是無法撤銷或回滾的,使用什么架構寫入的數據只能由該架構讀取。

查詢設計

Loki 第一次查詢時,Querier 查詢器會從共享存儲中下載查詢時間范圍內的索引并解壓到本地緩存目錄 cache_location ,并按 resync_interval 周期同步,該索引緩存有效期受 cache_ttl 配置控制。這部分工作由之前介紹的索引存儲的 downloadsManager 完成,這也是為什么 Loki 的第一次查詢會比較慢。

拋開拉取索引耗時這部分因素,在 Loki 中,查詢從快到慢分別為:

圖片圖片

  • Label matchers 標簽匹配器(最快):直接基于索引匹配到塊,查找出滿足 limit 的日志條數
  • Line filters 行過濾器(中等):把滿足標簽匹配器匹配到的塊,再進行過濾,直到查找出滿足 limit 的日志條數
  • Label filters 標簽過濾器(最慢):把滿足標簽匹配器匹配到的塊,進行二次標簽,然后再進行過濾,直到查找出滿足 limit 的日志條數

以行過濾器的查詢流程為例:

1、時間范圍拆分:Query Frontend 首先根據 split_queries_by_interval 將查詢拆分為多個較小的時間段。例如,一個跨度為 4 小時的查詢可能被拆分為 4 個獨立的 1 小時子查詢,這種拆分可以并行處理不同時間段的數據。

圖片圖片

2、動態分片:Query Frontend 繼續將每個時間段的子查詢進行進一步的動態分片。分片數量取決于數據量,數據量大的子查詢可能拆分為更多分片,而數據量小的可能僅少量分片。分片的目的是將 chunk 按日志流的標簽進一步細分,從而提升并行處理效率。

圖片圖片

3、任務隊列與并行處理:Query Frontend 將拆分后的分片任務提交至 Query Scheduler 任務隊列中,根據公平調度策略將任務分配給空閑的 Querier 工作節點并行處理。Querier 會從 Ingester 中的內存數據或對象存儲中拉取對應的數據塊,解析并過濾日志內容,最終返回匹配的結果。

圖片圖片

4、結果合并:所有子查詢和分片的結果會被匯總到  Query Frontend  組件,進行排序、去重和合并,最終返回完整的查詢結果。

完整的查詢流程如下:

圖片圖片

所以 Loki 的設計就是推薦使用并行化 (parallelization) 來實現最佳性能,將查詢分解成小塊,并將其并行調度,這樣就可以在小時間內查詢大量的日志數據。

本文中的部分動圖和圖片引用自以下官方博客,推薦閱讀:

  1. https://grafana.com/blog/2023/12/11/open-source-log-monitoring-the-concise-guide-to-grafana-loki/
  2. https://grafana.com/blog/2023/12/20/the-concise-guide-to-grafana-loki-everything-you-need-to-know-about-labels/
  3. https://grafana.com/blog/2023/12/28/the-concise-guide-to-loki-how-to-get-the-most-out-of-your-query-performance/
  4. https://grafana.com/blog/2020/12/08/how-to-create-fast-queries-with-lokis-logql-to-filter-terabytes-of-logs-in-seconds/
責任編輯:武曉燕 來源: gopher云原生
相關推薦

2022-06-28 08:40:16

LokiPromtail日志報警

2021-05-18 07:30:36

開發Spring Boot日志

2024-02-04 00:00:00

Loki性能查詢

2022-06-29 07:45:53

LogQLLoki日志流選擇器

2024-12-16 13:00:00

JavaELK開發

2021-09-13 08:20:13

Loki日志系統

2022-06-20 14:59:14

讀寫分離模Loki

2022-11-03 08:02:06

KEDA自動縮放云平臺

2021-01-06 18:10:22

ShellLoki系統運維

2021-06-02 06:02:50

Loki 源碼分析日志

2022-12-29 08:00:26

Loki網絡設備

2022-05-24 07:39:09

MySQL數據庫日志

2023-01-04 08:21:02

Loki配置日志

2024-03-11 00:01:00

PromtailLoki服務器

2024-02-01 09:48:17

2018-09-27 11:25:07

開源日志聚合

2009-07-20 13:22:47

iBATIS.Net日

2017-05-16 16:53:03

2009-07-07 14:00:25

JDK日志Handler

2024-07-26 10:28:51

點贊
收藏

51CTO技術棧公眾號

成人黄页在线观看| 神马影视一区二区| 亚洲国产成人91porn| 国产日韩二区| 中文字幕 国产精品| 日韩大片在线播放| 亚洲高清免费观看高清完整版| 无码精品a∨在线观看中文| 啊v视频在线| 大白屁股一区二区视频| 日韩男女性生活视频| 日本爱爱小视频| 欧美理伦片在线播放| 欧美性视频一区二区三区| 成人黄色片免费| 国产精品视频二区三区| 国产成人亚洲综合a∨婷婷 | 欧美三级电影精品| 草草视频在线免费观看| 在线日本视频| 久久青草欧美一区二区三区| 亚洲一区二区三区sesese| 超碰超碰超碰超碰| 激情婷婷久久| 精品国产视频在线| 国产成人精品无码免费看夜聊软件| 精品视频国内| 欧美精品日韩一本| 欧美日韩亚洲一二三| 成人高潮aa毛片免费| 国产精品日产欧美久久久久| 国产一区免费视频| 亚洲国产视频一区二区三区| 美美哒免费高清在线观看视频一区二区 | 日韩一区二区麻豆国产| www.日日操| 中文字幕乱码中文乱码51精品| 一区二区三区在线看| 日日骚一区二区网站| 天天操天天干天天舔| 国产成人精品三级| 成人h猎奇视频网站| 伊人成年综合网| 久久大逼视频| 奇米一区二区三区四区久久| 日本一区二区三区免费视频| 欧美激情1区2区| 久久这里有精品视频| 国产精品综合激情| 日本电影一区二区| 一本色道久久综合狠狠躁篇的优点| 黄色国产在线观看| 色爱av综合网| 日韩成人性视频| 国产精品一级黄片| 亚洲老女人视频免费| 亚洲国产毛片完整版| 亚洲av无码一区东京热久久| 亚洲小说春色综合另类电影| 日韩一区二区不卡| www.黄色网| 美女视频亚洲色图| 日韩av网站在线| 双性尿奴穿贞c带憋尿| 午夜a一级毛片亚洲欧洲| 日韩高清av在线| 日本少妇高潮喷水xxxxxxx| 国产最新精品| 色偷偷av亚洲男人的天堂| ass极品国模人体欣赏| 日韩欧美网址| 欧美成人合集magnet| 国产亚洲精品久久久久久无几年桃| 欧美69视频| 久久久久免费视频| 9i看片成人免费看片| 免费日韩av片| 国产日韩欧美日韩大片| 国产特级黄色片| 波多野结衣视频一区| 蜜桃91精品入口| 天天在线视频色| 一区av在线播放| 国产主播在线看| 欧美午夜三级| 精品国产污污免费网站入口| 精品无码国产一区二区三区51安| 免费视频亚洲| 久久精品人人做人人爽| 国产亚洲欧美精品久久久www| 国产视频一区三区| 国产主播喷水一区二区| 色欲av伊人久久大香线蕉影院| 91色九色蝌蚪| 桥本有菜av在线| 性爽视频在线| 666欧美在线视频| 国产精品久久久免费观看| 精品理论电影| 久久免费国产视频| 中文字幕一区二区三区四区视频| 国产99久久久精品| 日韩欧美在线电影| 国产盗摄一区二区| 欧美日韩免费一区二区三区视频| 亚洲最大视频网| 日韩欧美三级| 欧美最猛性xxxx| 精品久久久久久亚洲综合网站| 久久亚洲综合av| 大片在线观看网站免费收看| 欧美电影网站| 亚洲精品一线二线三线无人区| 久久久久99精品成人| 99热免费精品| 亚洲影院高清在线| av中文天堂在线| 欧美日韩午夜视频在线观看| 亚欧精品在线视频| 欧美一区二区三| 88xx成人精品| 丰满人妻熟女aⅴ一区| 国产精品久久久久久久久免费丝袜 | 亚洲一区欧美激情| av电影成人| 蜜桃视频在线观看www社区 | 57pao成人永久免费视频| 国产青青草视频| 中文字幕免费不卡| 国产成人久久777777| 白嫩白嫩国产精品| 欧美精品在线免费观看| 亚洲天天综合网| 国产欧美一区二区精品秋霞影院| 日本福利视频在线| 激情小说一区| 久久久久久久久国产| 国产叼嘿视频在线观看| 中文字幕视频一区二区三区久| 久久黄色免费看| 九九视频精品全部免费播放| 国产69久久精品成人看| 亚洲三级黄色片| 婷婷综合久久一区二区三区| 男女性杂交内射妇女bbwxz| 欧美日一区二区三区在线观看国产免| 成人在线播放av| 毛片在线看片| 91精品国产麻豆| 永久免费看黄网站| 国产 欧美在线| 999在线观看视频| 老牛精品亚洲成av人片| 97精品一区二区三区| 无码精品在线观看| 欧美性少妇18aaaa视频| 中文字幕免费高清| 日韩av网站免费在线| 亚洲欧美国产一区二区| 亚洲一区av| 久久99精品久久久久久青青91| www.麻豆av| 精品国产999| 90岁老太婆乱淫| 奇米影视7777精品一区二区| 夜夜爽99久久国产综合精品女不卡| 日韩漫画puputoon| 久久精品中文字幕电影| 亚洲va欧美va| 日韩欧美精品网址| 后入内射无码人妻一区| 国产精品资源在线| 国产av天堂无码一区二区三区| 性欧美lx╳lx╳| 国产精品女主播| 色女人在线视频| 国产视频欧美视频| 在线观看免费观看在线| 一区二区三区四区不卡视频 | 国产剧情久久久| 亚洲午夜久久久久| 日韩乱码人妻无码中文字幕久久| 麻豆视频观看网址久久| 青青草综合视频| 日韩激情毛片| 国产在线播放不卡| 136福利第一导航国产在线| 日韩激情在线视频| 国产精品一区二区黑人巨大| 亚洲大片免费看| 2019男人天堂| 成人在线综合网| 亚洲免费看av| 亚洲欧洲日本mm| 亚洲一区二区三区免费观看| 91精品啪在线观看国产手机| 日韩av成人在线观看| 国产在线高清理伦片a| 日韩国产欧美区| 国产视频一二三四区| 日韩欧美在线一区| 欧美国产日韩综合| 日本一区二区三区dvd视频在线| 国产探花一区二区三区| 天堂影院一区二区| 国产日本在线播放| 91成人看片| 日本欧美色综合网站免费| 久久伊人精品| 国产精品一区久久| 成人爽a毛片免费啪啪| 成人444kkkk在线观看| 国产在线中文字幕| 亚洲丁香久久久| 精品人妻无码一区二区| 在线免费不卡视频| 天堂网av手机版| 一区二区三区成人| 五月综合色婷婷| 中文字幕欧美日本乱码一线二线| 一区二区免费在线观看视频| 国产制服丝袜一区| 日本激情视频在线播放| 亚洲欧美日韩国产一区二区| 日韩精品一区二区免费| 天天射综合网视频| 亚洲欧美丝袜| 欧美在线免费看视频| 久久99国产精品99久久| 高清一区二区三区| 97在线资源站| 亚洲啊v在线免费视频| 91免费版网站入口| 亚洲精品成人一区| 国产一区视频在线播放| 成人在线中文| 国产精品久久久久影院日本| 欧美电影免费观看高清完整| 欧美在线视频网站| 英国三级经典在线观看| 91成人天堂久久成人| 成年女人在线看片| 97视频在线观看免费| 成人bbav| 青青久久aⅴ北条麻妃| 麻豆蜜桃在线观看| 欧美亚洲成人xxx| 在线天堂资源www在线污| 26uuu另类亚洲欧美日本一| 岛国av在线网站| 国产69久久精品成人| 婷婷六月国产精品久久不卡| 日本精品中文字幕| av免费在线一区| 国产一区欧美二区三区| 精品欧美视频| 国产伦视频一区二区三区| 国产精伦一区二区三区| 久久国产精品一区二区三区四区 | 亚洲跨种族黑人xxx| 欧美18xxxxx| 正在播放国产一区| 黄av在线播放| 欧美激情视频一区二区| 91资源在线观看| 庆余年2免费日韩剧观看大牛| 奇米777日韩| 国产中文欧美精品| 91精品国产乱码久久久竹菊| 国产亚洲一区二区三区在线播放| 久久亚洲黄色| 日韩欧美精品在线不卡| 久久在线免费| 欧美这里只有精品| 亚洲欧美网站| 色啦啦av综合| 成人高清免费观看| 欧美图片第一页| 亚洲欧洲av色图| 国产精品第72页| 在线亚洲欧美专区二区| 国产麻豆精品一区| 亚洲精品videossex少妇| www.在线视频.com| 欧美大片免费观看| 六月丁香婷婷激情| 欧美日韩国产免费观看| 91免费视频网站在线观看| 久久精品免费看| 波多野结衣视频播放| 国产精品乱子久久久久| 国产一级片免费| 欧美视频日韩视频在线观看| a级片在线播放| 亚洲日本aⅴ片在线观看香蕉| 黄色网页在线看| 91大神福利视频在线| 亚洲人成网站在线在线观看| 久久久久久九九| 欧美aa国产视频| 免费黄色一级网站| 岛国一区二区三区| 男人的午夜天堂| 色偷偷88欧美精品久久久| 丰满少妇高潮在线观看| 色诱女教师一区二区三区| 美女av在线免费看| 91在线视频一区| 精品美女久久久| 国产极品在线视频| 国产成人综合在线播放| 国产精品无码无卡无需播放器| 五月天丁香久久| 国产三级按摩推拿按摩| 一区二区三区精品99久久| h片在线观看视频免费免费| 91九色国产社区在线观看| 伊人久久大香线蕉综合网蜜芽| 97在线免费视频观看| 看片网站欧美日韩| 91成人在线免费视频| 亚洲成人免费看| 精品人妻伦一二三区久久| 日韩视频欧美视频| 久久麻豆视频| 日韩欧美亚洲精品| 麻豆9191精品国产| 激情综合丁香五月| 亚洲国产cao| 丰满少妇被猛烈进入| 欧美富婆性猛交| 日韩免费精品| 女同性恋一区二区| 国内欧美视频一区二区| 亚洲AV成人无码网站天堂久久| 日本丶国产丶欧美色综合| 日本ー区在线视频| 欧美专区福利在线| 九九免费精品视频在线观看| 欧美日韩在线中文| 26uuu亚洲婷婷狠狠天堂| 日本特黄特色aaa大片免费| 精品国产乱码久久久久久免费 | 久久久久久久久久av| 88久久精品| 成人黄色大片网站| 成人av在线播放网站| 97免费在线观看视频| 亚洲国产日韩精品在线| 欧美少妇精品| 欧美精品成人一区二区在线观看 | 日韩免费视频在线观看| 国产乱码精品一区二区亚洲 | 日日夜夜综合网| 亚洲欧美日韩久久久久久| 伊人久久国产| 日本一区二区三区视频在线播放 | 欧美日韩国产不卡| 黄网页在线观看| 成人黄动漫网站免费| 在线精品一区| 中文字幕av网址| 久久电影天堂| 欧美lavv| 蜜臀av一级做a爰片久久| 2017亚洲天堂| 日韩午夜精品电影| 精精国产xxxx视频在线播放| 欧美精品久久| 久久www免费人成看片高清| 农村妇女精品一区二区| 精品sm在线观看| 成人美女大片| 国产一二三四五| 99视频在线精品| 中文精品久久久久人妻不卡| 欧美成人亚洲成人| 日本亚洲不卡| 午夜免费福利视频在线观看| 一区二区三区精密机械公司| 少妇人妻偷人精品一区二区 | 高清不卡一区| 亚洲人成无码网站久久99热国产 | 免费成人在线网站| 欧产日产国产v| 亚洲美女www午夜| 自拍偷拍亚洲图片| 蜜臀av色欲a片无码精品一区 | 伊人久久在线| 97超碰免费观看| 久久综合久久综合久久| 国产精品无码久久av| 97在线观看免费| 国产精品久久久久久久久久10秀 | 国内精品视频久久| 精品视频99| 一边摸一边做爽的视频17国产 | 综合av第一页| 欧美孕妇孕交| 成人免费视频视频在|