电竞比分网-中国电竞赛事及体育赛事平台

分享

初探 Loki,我決定把ELK替掉!

 520jefferson 2021-11-25
Image

哈嘍哈嘍大家好,初探Loki之后,我決定把ELK下掉!

Loki開源日志解決方案已經(jīng)開源有一段時間了,對標(biāo)EFK/ELK,由于其輕量的設(shè)計(jì),備受歡迎

Loki相比EFK/ELK,它不對原始日志進(jìn)行索引,只對日志的標(biāo)簽進(jìn)行索引,而日志通過壓縮進(jìn)行存儲,通常是文件系統(tǒng)存儲,所以其操作成本更低,數(shù)量級效率更高

于Loki的存儲都是基于文件系統(tǒng)的,所以它的日志搜索時基于內(nèi)容即日志行中的文本,所以它的查詢支持LogQL,在搜索窗口中通過過濾標(biāo)簽的方式進(jìn)行搜索和查詢

Loki分兩部分,Loki是日志引擎部分,Promtail是收集日志端,然后通過Grafana進(jìn)行展示

Image

Loki的官方文檔很全

https:///docs/loki/latest/installation
Loki·安裝
GENERAL TITLE

從官方文檔看,Loki支持源碼安裝、DockerHelm、LocalTanka

我選擇local,就是編譯好的二進(jìn)制可執(zhí)行文件

安裝步驟:
下載:https://github.com/grafana/loki/releases/

curl -O -L

'https://github.com/grafana/loki/releases/download/v2.2.1/loki-linux-amd64.zip'

通過unzip解壓得到可執(zhí)行文件

下載配置文件

wget https://raw./grafana/loki/master/cmd/loki/loki-local-config.yaml

Loki·配置
GENERAL TITLE

Loki的配置文件是loki-local-config.yaml,支持YAML語法

Image

loki提供httpgrpc兩種接口,在配置文件中可以看到對應(yīng)端口,分別是31009096,啟動后,就可以通過http接口看到數(shù)據(jù)

配置完成后,就可以啟動loki了,二進(jìn)制可執(zhí)行文件,通過--config.file指定配置文件啟動即可

promtail·安裝
GENERAL TITLE

Promtail安裝也很簡單

下載可執(zhí)行文件

curl -O -L https://github.com/grafana/loki/releases/download/v2.2.1/promtail-linux-amd64.zip

通過unzip解壓得到可執(zhí)行文件即可

同樣下載配置文件

wget https://raw./grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml

之后,就可以直接可執(zhí)行文件指定配置文件啟動了Image

Image
promtail·配置
GENERAL TITLE

promtail也是YAML語法,配置很簡單

Image

前面三部分很簡單,server部分定義監(jiān)聽端口,positions定義讀取的文件偏移量存儲位置,clients定義loki接口地址,最后一部分scrape_configs是重點(diǎn)部分

  • promtail通過scrape_configs部分配置收集日志的相關(guān)信息,以測試配置文件為例:

  • job_name  用來區(qū)分日志組

  • static_configs  收集日志的靜態(tài)配置

  • targets  收集日志的節(jié)點(diǎn),這個參數(shù)其實(shí)是在自動發(fā)現(xiàn)的時候使用的

  • labels  定義一個要收集的日志文件和一組可選的附加標(biāo)簽

  • job  標(biāo)簽名稱,在grafana索引的時候用到的標(biāo)簽名稱

  • __path__  定義日志收集的文件或路徑,支持正則

配置文件修改完成后,就可以啟動promtail了,和loki啟動方法一樣,通過--config.file指定配置文件啟動

Image
promtail,類似于tail,它只監(jiān)聽新增日志,不會像filebeat一樣,讀取日志所有內(nèi)容,這是和filebeat的一個區(qū)別
Grafana·展示
GENERAL TITLE

好了,promtail和Loki都配置好了,需要展示,6.0以上版本的grafana就支持loki的展示了,我這邊直接用docker啟動grafana

Image

grafana配置很簡單,登錄后,在設(shè)置——數(shù)據(jù)源中,選擇添加數(shù)據(jù)源,下來列表中直接選擇Loki即可
Image
接著配置數(shù)據(jù)源,只需要修改URL即可,其他可以根據(jù)自己的需要
Image
因?yàn)槲业膌oki是沒有做認(rèn)證的,所以這里不需要認(rèn)證配置,直接填寫loki的地址即可,完成后保存
保存完成后,在Explore中查看日志
Image
這里支持LogQL語法,默認(rèn)情況下,如果不添加規(guī)則,是沒有日志展示的,在Log browser中添加query,根據(jù)在promtail中定義的label,比如我的promtail的job是nginx,我這里填寫{job='nginx'},然后run query
Image
就可以看到nginx的日志

日志界面很清爽,保留了日志原有的樣子,通過顏色區(qū)分日志級別,這里info是綠色,error是紅色,可以很直觀的看到日志的類別,也可以通過點(diǎn)擊日志級別,只展示該級別的日志

總結(jié):

相對于EFK/ELK,專為日志而生的Loki,結(jié)合Grafana生態(tài),對于中小企業(yè),或者說只是作為日志系統(tǒng)而言,我更傾向于選擇Loki代替EFK/ELK

來源:運(yùn)維研習(xí)社,點(diǎn)擊查看原文。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多