Ceph Dashboard 通過 Loki 配置集中日志
?我們要解決什么問題?
Ceph作為一個(gè)分布式系統(tǒng),通常會(huì)產(chǎn)生大量的日志。這些日志可以來自 MON、MGR、OSD 或 Ceph 的任何其他客戶端。
在大多數(shù)情況下,Ceph 都能很好地處理其問題。自我修復(fù)是 Ceph 的特性之一。除此之外,Ceph Dashboard 對(duì)集群的可觀察性做的也是非常好的。它通過使用 alertmanager 對(duì)告警進(jìn)行通知。
我們還可以利用 grafana 和 prometheus 等監(jiān)控工具,以直觀的圖標(biāo)方式查看 Ceph 集群的健康狀態(tài)。
最后,如果我們發(fā)現(xiàn)集群中發(fā)生異常情況,我們可以通過日志獲取集群的詳細(xì)情況,這些日志可以來自 Ceph 集群的每個(gè)地方。
Loki
Loki 是 Grafana Labs 團(tuán)隊(duì)最新的開源項(xiàng)目,是一個(gè)水平可擴(kuò)展,高可用性,多租戶的日志聚合系統(tǒng)。它的設(shè)計(jì)非常經(jīng)濟(jì)高效且易于操作,因?yàn)樗粫?huì)為日志內(nèi)容編制索引,而是為每個(gè)日志流配置一組標(biāo)簽。
項(xiàng)目受 Prometheus 啟發(fā),官方的介紹就是:Like Prometheus, but for logs,類似于 Prometheus 的日志系統(tǒng)。
Promtail 是為 Loki 量身定做的。它的主要工作模式是發(fā)現(xiàn)存儲(chǔ)在磁盤上的日志文件,并將其與一組標(biāo)簽關(guān)聯(lián)的日志文件轉(zhuǎn)發(fā)到 Loki。
Promtail 可以為在同一節(jié)點(diǎn)上運(yùn)行的 Kubernetes Pods 做服務(wù)發(fā)現(xiàn),作為 Docker 日志驅(qū)動(dòng),從指定的文件夾中讀取日志,并對(duì) systemd 日志不斷獲取。
下面。我們將在 Ceph Dashboard 上配置日志,將日志轉(zhuǎn)接到 Loki中。
如何配置?
首先,我們必須確保在我們的集群上配置了 Grafana。
然后,轉(zhuǎn)到Cluster > Services頁面,并創(chuàng)建兩個(gè)服務(wù) - Loki 和 Promtail。
如果成功,我們可以看到所有守護(hù)進(jìn)程都在運(yùn)行。
Loki 守護(hù)進(jìn)程的狀態(tài)
Promtail 守護(hù)進(jìn)程的狀態(tài)
現(xiàn)在我們需要啟用對(duì)文件的日志記錄。為此,我們可以轉(zhuǎn)到Cluster > Configurations,在搜索區(qū)域中搜索log_to_file和mon_cluster_log_to_file
只需選擇并編輯選項(xiàng)。并選擇global的值為true
我們也對(duì)mon_cluster_log_to_file做同樣的配置。
如果您找不到您搜索的項(xiàng)目,那么您可以清除過濾器,它會(huì)為您帶來您搜索的配置選項(xiàng)。
查看日志
轉(zhuǎn)到Cluster > Logs并轉(zhuǎn)到Daemon Logs選項(xiàng)卡。這就是我們找到集中日志的地方。
如果您看到如下圖所示的內(nèi)容,則必須登錄 Grafana 并重新加載頁面。
如果您已登錄,則可以直接查看日志視圖。
我們可以使用日志瀏覽器來查看日志。
選擇文件并點(diǎn)擊Show logs后,它將顯示該文件的整個(gè)日志。
實(shí)時(shí)監(jiān)控日志
Loki 中有一個(gè)選項(xiàng)可以實(shí)時(shí)查看日志。該選項(xiàng)稱為L(zhǎng)ive,當(dāng)我們將其設(shè)置為 Live 時(shí),我們可以立即實(shí)時(shí)監(jiān)控日志。
此外,如果我們想查看調(diào)試日志,則需要使用 CLI 顯式啟用調(diào)試日志
此功能在最新的 quincy (v17.2.z) 版本中可用。
要了解有關(guān)集中式日志記錄的更多信息,請(qǐng)查看cephadm 文檔(https://docs.ceph.com/en/quincy/cephadm/services/monitoring/#cephadm-monitoring-centralized-logs)。
*原文鏈接:Ceph.io — Centralized Logging on Ceph Dashboard (https://ceph.io/en/news/blog/2022/centralized_logging/)?