中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Loki怎么配置使用

發布時間:2021-12-30 14:50:19 來源:億速云 閱讀:465 作者:iii 欄目:云計算

本篇內容主要講解“Loki怎么配置使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Loki怎么配置使用”吧!

Loki誕生背景

Kubernetes已經成為編排領域事實上的標準,同時Prometheus也成為基于Kubernetes平臺之上、監控領域的標配。Prometheus能夠收集業務metrics數據,Grafana界面展示,AlertManager告警,一站式的監控框架就此誕生。通過這一套框架可以在線監控服務運行狀態,如果不正常,能夠通過各種途徑通知給相關人員;相關人員通過查看告警信息,通過日志分析出現問題具體原因。

如何查看日志?

我們可以進入Pod中查詢,如果Pod進程已經崩潰,那么將無法進入容器內部,沒關系,Pod所在宿主機掛載的日志文件,你不得不查詢已經崩潰Pod所在宿主機,然后通過命令行進入宿主機中查詢日志,這樣的話如果碰到一個服務多個副本運行在同一個節點上,那么可能會出現日志交叉打印的情況,服務崩潰還沒有解決,你已經崩潰了,其實出現這種問題的真正原因是Kubernetes超強的自動橫向擴容能力,你可能無法準確預測到服務副本數量和所在節點,大多數公司是基于ELK(日志收集解決方案)搭建一套日志收集和查看平臺,就這一套平臺不僅耗費資源,而且需要KibinaGrafana兩套平臺之間頻繁切換,影響工作效率,為了解決此問題Loki問世。

Loki怎么配置使用從此,一站式的監控、告警、日志分析平臺解決了我們不用頻繁切換系統的麻煩。

 

Loki架構設計思路

Loki怎么配置使用基于Loki的完整的日志收集框架需要三部分完成

  • Promtail:日志收集客戶端,以DaemonSet方式運行在各個計算節點上、當然也可以通過sidercar方式運行在Pod內部。Promtail本身可以替換為fluent-bit或者fluentd

  • Loki:日志收集服務端,接收來自Promtail發送的日志

  • Grafana:日志展示

Loki是一個高可用、可擴展、多租戶的日志收集系統,受Prometheus啟發而出現,但Loki側重點在于日志并且通過客戶端推送獲取日志信息,Prometheus更多在于監控指標并且通過拉取獲取指標信息,相比于其它日志系統具有以下優勢:

  • 非常節省資源,提供日志壓縮功能。

  • 沒有把全文添加到索引中,而是把標簽加入到索引中,對于用過Prometheus的人來說,使用起來非常順手。

  • 非常適合存儲和搜索Kubernetes Pod的日志,因為它能夠把Pod所在的節點信息、容器信息、命名空間、標簽添加到索引中。

  • 原生支持Grafana 6.0以上版本。

 

Loki內部組件介紹

Loki怎么配置使用  
  • Distributor

它的主要功能是接收來自客戶端的日志,Distributor接收到日志之后,首先會校驗正確性,校驗通過之后會把它劃分為多個批次,并發送給Ingester。每個發送過來的流都對應一個Ingester,當日志發送到Distributor之后,Distributor會根據hash和元數據算法計算應該路由到那個Ingester上。

Loki怎么配置使用  

其中DistributorIngester之間是通過gRPC通信,都是無狀態應用,支持橫向擴展。

  • Ingester

它的主要功能是接收來自Distributor發送的日志并寫入到后端存儲中,其中后端存儲可以是DynamoDB、 S3、 Cassandra、FS等等。其中需要注意,ingester會嚴格驗證接收到的日志行是以時間戳升序接收的(即,每個日志的時間戳都比之前的日志晚一些)。

Loki怎么配置使用  
Loki怎么配置使用  

ingester收到不遵循此順序的日志時,日志行將被拒絕,并返回錯誤(Entry out of order)。

總結起來說,首先distributor會接受來自外部數據流請求發送,每個數據流都有自己的一致性hash,然后distributor通過計算hash,把數據流發送到正確的ingester上面;ingester會創建chunk或者或者追加數據到已存在chunk上面(必須保證租戶和標簽唯一),最后完成數據存儲。

  • Chunks和index

ChunksLoki長期數據存儲,旨在提供查詢和寫入操作,支持DynamoDB、Bigtable、 Cassandra、S3、FS(單機)。index是根據chunks中元數據生成的索引,支持DynamoDB、Bigtable、 Apache Cassandra、BoltDB(單機)。默認情況下Chunks使用FS本地文件系統存儲,文件系統存儲存在一定的限制,大約可以存儲550Wchunk,超過這個限制可能會有問題。

Loki怎么配置使用  

Index使用BoltDB存儲,BoltDB是相當出名的Go實現的KV讀寫引擎, 用戶有etcd等。如果需要支持高可用部署,則需要引入大數據組件

  • Query
    主要負責調度前端的查詢請求,首先會     Ingesters內存中查詢數據,然后再回退到后端存儲中查詢數據,支持并行化查詢和數據緩存。
 

Loki配置

Loki的配置比較多,配置在/etc/loki/loki.yaml中,如果需要優化存儲或者日志接收出現異常問題時可能需要修改配置。比如Loki在接收客戶端發送日志可能會出現發送速率超過限制,這個時候可能需要修改ingestion_rate_mbLoki怎么配置使用

 
 

Loki使用建議

使用Loki的過程中,可能會疑惑,為了提升查詢速度,是不是應該使用盡可能多的標簽,因為Loki本身的索引是由標簽生成的,使用其它日志系統的情況下,可以通過添加盡可能多的索引解決查詢速度慢的問題,這是常見的思維方式。然而Loki數據存儲設計思想是使用盡可能少的索引,因為Loki本身會把數據存儲為多個數據塊,并通過標簽中的索引匹配數據塊。如果你覺得查詢速度慢,可以重新配置分片大小和間隔,也可以通過配置的方式使用盡可能多的查詢器并行查詢。較小的索引和并行蠻力查詢與較大/較快的全文本索引之間的這種權衡使Loki與其他系統相比可以節省成本。操作大索引的成本和復雜性很高,而且索引一旦建立,通常是固定的,如果您要查詢或不查詢,則全天24小時付費,這種設計的優點意味著您可以決定要擁有查詢要求是什么,可以根據需要進行更改,同時數據被大量壓縮并存儲在低成本對象存儲中,以將固定的運營成本降至最低,同時仍然具有令人難以置信的快速查詢功能,Loki跟云原生思想也是契合的。

 

Loki安裝

Loki的安裝方式大致有四種,TK(官方推薦)、helm、docker、二進制部署,我是通過k8s statefulset方式編排運行的。具體請參考:

https://github.com/grafana/loki/blob/v1.5.0/docs/installation/README.md
 
 

Promtail

看到這個名字就會想到Prometheus,其實它們設計思想也是相通的,它作為一個客戶端端代理運行在計算節點上,當然也可以通過邊車模式運行在Pod中,主要功能是收集日志、為日志流添加標簽、推送日志。

 

功能配置

  • clients:用于配置Loki服務端地址

  • positions:收集日志文件位置,在Kubernetes中服務以Pod形式運行,Pod生命周期有可能隨時結束,所以需要記錄日志收集位置并掛載到宿主機,通過位置記錄方便下次繼續收集。

  • scrape_configs:日志文件收集配置,支持收集syslog、jouanl、docker、Kubernetes、以及日志文件。根據收集需求,自行配置。


 
 

安裝部署

推薦使用DaemonSet方式運行,具體參考官方yaml編排示例:

https://github.com/grafana/loki/blob/v1.5.0/docs/clients/promtail/installation.md
 

不在贅述。

 

Grafana配置

Grafana版本應該使用6.0以上版本。

  • admin賬號登錄     Grafana實例
  • 左側菜單欄點擊     Configuration > Data Sources
  • 點擊     + Add data source按鈕
    輸入     Loki服務地址,如果在本地輸入     http://localhost:3100或者     Loki svc地址:     https://loki:3100
  • Loki怎么配置使用
  • 點擊右側     Explore,會提示     Log labels搜索按鈕,點擊即可搜索。

Loki怎么配置使用

到此,相信大家對“Loki怎么配置使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳西县| 大英县| 苍南县| 西充县| 韩城市| 互助| 甘泉县| 百色市| 浦城县| 米泉市| 鹤峰县| 墨玉县| 丹东市| 云梦县| 广汉市| 桃园市| 中山市| 大邑县| 股票| 宝应县| 濮阳市| 修武县| 陆河县| 色达县| 崇信县| 日土县| 阳东县| 石棉县| 孙吴县| 永仁县| 玉环县| 凌海市| 高台县| 济南市| 密云县| 博乐市| 仙居县| 平远县| 安多县| 丹阳市| 龙海市|