Ceph Dashboard 通過 Loki 配置集中日志
?我們要解決什么問題?
Ceph作為一個分布式系統,通常會產生大量的日志。這些日志可以來自 MON、MGR、OSD 或 Ceph 的任何其他客戶端。
在大多數情況下,Ceph 都能很好地處理其問題。自我修復是 Ceph 的特性之一。除此之外,Ceph Dashboard 對集群的可觀察性做的也是非常好的。它通過使用 alertmanager 對告警進行通知。
我們還可以利用 grafana 和 prometheus 等監控工具,以直觀的圖標方式查看 Ceph 集群的健康狀態。
最后,如果我們發現集群中發生異常情況,我們可以通過日志獲取集群的詳細情況,這些日志可以來自 Ceph 集群的每個地方。
Loki
Loki 是 Grafana Labs 團隊最新的開源項目,是一個水平可擴展,高可用性,多租戶的日志聚合系統。它的設計非常經濟高效且易于操作,因為它不會為日志內容編制索引,而是為每個日志流配置一組標簽。
項目受 Prometheus 啟發,官方的介紹就是:Like Prometheus, but for logs,類似于 Prometheus 的日志系統。
Promtail 是為 Loki 量身定做的。它的主要工作模式是發現存儲在磁盤上的日志文件,并將其與一組標簽關聯的日志文件轉發到 Loki。
Promtail 可以為在同一節點上運行的 Kubernetes Pods 做服務發現,作為 Docker 日志驅動,從指定的文件夾中讀取日志,并對 systemd 日志不斷獲取。
下面。我們將在 Ceph Dashboard 上配置日志,將日志轉接到 Loki中。
如何配置?
首先,我們必須確保在我們的集群上配置了 Grafana。
然后,轉到Cluster > Services頁面,并創建兩個服務 - Loki 和 Promtail。
如果成功,我們可以看到所有守護進程都在運行。
Loki 守護進程的狀態
Promtail 守護進程的狀態
現在我們需要啟用對文件的日志記錄。為此,我們可以轉到Cluster > Configurations,在搜索區域中搜索log_to_file和mon_cluster_log_to_file
只需選擇并編輯選項。并選擇global的值為true
我們也對mon_cluster_log_to_file做同樣的配置。
如果您找不到您搜索的項目,那么您可以清除過濾器,它會為您帶來您搜索的配置選項。
查看日志
轉到Cluster > Logs并轉到Daemon Logs選項卡。這就是我們找到集中日志的地方。
如果您看到如下圖所示的內容,則必須登錄 Grafana 并重新加載頁面。
如果您已登錄,則可以直接查看日志視圖。
我們可以使用日志瀏覽器來查看日志。
選擇文件并點擊Show logs后,它將顯示該文件的整個日志。
實時監控日志
Loki 中有一個選項可以實時查看日志。該選項稱為Live,當我們將其設置為 Live 時,我們可以立即實時監控日志。
此外,如果我們想查看調試日志,則需要使用 CLI 顯式啟用調試日志
此功能在最新的 quincy (v17.2.z) 版本中可用。
要了解有關集中式日志記錄的更多信息,請查看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/)?