打开网易新闻 查看精彩图片

新钛云服已累计为您分享717篇技术干货

打开网易新闻 查看精彩图片

我们要解决什么问题?

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_filemon_cluster_log_to_file

打开网易新闻 查看精彩图片

只需选择并编辑选项。并选择global的值为true

打开网易新闻 查看精彩图片

我们也对mon_cluster_log_to_file做同样的配置。

打开网易新闻 查看精彩图片

如果您找不到您搜索的项目,那么您可以清除过滤器,它会为您带来您搜索的配置选项。

查看日志

转到Cluster > Logs并转到Daemon Logs选项卡。这就是我们找到集中日志的地方。

如果您看到如下图所示的内容,则必须登录 Grafana 并重新加载页面。

打开网易新闻 查看精彩图片

如果您已登录,则可以直接查看日志视图。

打开网易新闻 查看精彩图片

我们可以使用日志浏览器来查看日志。

打开网易新闻 查看精彩图片

选择文件并点击Show logs后,它将显示该文件的整个日志。

打开网易新闻 查看精彩图片

实时监控日志

Loki 中有一个选项可以实时查看日志。该选项称为Live,当我们将其设置为 Live 时,我们可以立即实时监控日志。

打开网易新闻 查看精彩图片

此外,如果我们想查看调试日志,则需要使用 CLI 显式启用调试日志

ceph config set mgr mgr/cephadm/log_to_cluster_level debug

此功能在最新的 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/)

*本文部分图片来源于网络,如有侵权请联系删除