您可以使用集群上的内部 Loki 或 Elasticsearch 日志存储来存储日志,也可以使用ClusterLogForwarder
自定义资源 (CR) 将日志转发到外部存储。
Loki 是一款水平可扩展、高可用、多租户日志聚合系统,作为 Red Hat OpenShift 日志记录的 GA 日志存储提供,可以使用 OpenShift 可观测性 UI 进行可视化。OpenShift Logging 提供的 Loki 配置是一个短期日志存储,旨在使用户能够使用收集到的日志快速进行故障排除。为此,Red Hat OpenShift 的日志记录配置的 Loki 具有短期存储,并针对最近的查询进行了优化。对于长期存储或长时间段的查询,用户应查找集群外部的日志存储。
Elasticsearch 在摄取过程中完全索引传入的日志记录。Loki 只在摄取过程中索引几个固定的标签,并将更复杂的解析推迟到日志存储之后。这意味着 Loki 可以更快地收集日志。
日志 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。