×

您可以使用集群上的内部 Loki 或 Elasticsearch 日志存储来存储日志,也可以使用ClusterLogForwarder自定义资源 (CR) 将日志转发到外部存储。

日志存储类型

Loki 是一款水平可扩展、高可用、多租户日志聚合系统,作为 Red Hat OpenShift 日志记录的 GA 日志存储提供,可以使用 OpenShift 可观测性 UI 进行可视化。OpenShift Logging 提供的 Loki 配置是一个短期日志存储,旨在使用户能够使用收集到的日志快速进行故障排除。为此,Red Hat OpenShift 的日志记录配置的 Loki 具有短期存储,并针对最近的查询进行了优化。对于长期存储或长时间段的查询,用户应查找集群外部的日志存储。

Elasticsearch 在摄取过程中完全索引传入的日志记录。Loki 只在摄取过程中索引几个固定的标签,并将更复杂的解析推迟到日志存储之后。这意味着 Loki 可以更快地收集日志。

关于 Elasticsearch 日志存储

日志 Elasticsearch 实例经过优化和测试,用于短期存储,大约七天。如果您想长期保留日志,建议您将数据移动到第三方存储系统。

Elasticsearch 将来自 Fluentd 的日志数据组织到数据存储(或*索引*)中,然后将每个索引细分为多个称为*分片*的部分,并将其分布到 Elasticsearch 集群中的一组 Elasticsearch 节点中。您可以配置 Elasticsearch 以创建分片的副本(称为*副本*),Elasticsearch 也将其分布在 Elasticsearch 节点中。ClusterLogging 自定义资源 (CR) 允许您指定如何复制分片以提供数据冗余和故障恢复能力。您还可以使用 ClusterLogging CR 中的保留策略指定保留不同类型日志的时间长度。

索引模板的主分片数等于 Elasticsearch 数据节点数。

Red Hat OpenShift Logging Operator 和配套的 OpenShift Elasticsearch Operator 确保每个 Elasticsearch 节点都使用包含其自身存储卷的唯一部署进行部署。您可以根据需要使用 ClusterLogging 自定义资源 (CR) 来增加 Elasticsearch 节点数。有关配置存储的相关注意事项,请参阅Elasticsearch 文档

高可用性 Elasticsearch 环境至少需要三个 Elasticsearch 节点,每个节点位于不同的主机上。

应用于 Elasticsearch 索引的基于角色的访问控制 (RBAC) 允许开发人员控制访问日志。管理员可以访问所有日志,而开发人员只能访问其项目中的日志。

查询日志存储

您可以使用LogQL 日志查询语言 查询 Loki。