×

仅支持本文档中描述的日志记录配置选项。

请勿使用任何其他配置选项,因为它们不受支持。配置模式可能会在AWS上的Red Hat OpenShift Service版本之间发生变化,并且只有在控制所有配置可能性时才能优雅地处理此类情况。如果您使用本文档中未描述的配置,您的更改将被覆盖,因为Operator旨在协调任何差异。

如果您必须执行Red Hat OpenShift Service on AWS文档中未描述的配置,则必须将Red Hat OpenShift Logging Operator设置为Unmanaged。非托管日志记录实例不受支持,并且在您将其状态返回到Managed之前不会接收更新。

日志记录作为可安装组件提供,具有与AWS核心Red Hat OpenShift Service不同的发布周期。 Red Hat OpenShift Container Platform生命周期策略概述了版本兼容性。

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

对于长期存储或长时间段的查询,用户应查找集群外部的日志存储。Loki大小仅针对短期存储(最长30天)进行了测试和支持。

Red Hat OpenShift的日志记录是对应用程序、基础设施和审计日志的明确收集器和规范器。它旨在用于将日志转发到各种受支持的系统。

日志记录不是

  • 高规模日志收集系统

  • 符合安全信息和事件监控 (SIEM)

  • 历史或长期日志保留或存储

  • 保证的日志接收器

  • 安全存储 - 默认情况下不存储审计日志

受支持的API自定义资源定义

LokiStack正在开发中。目前并非所有API都受支持。

表1. Loki API支持状态
自定义资源定义 (CRD) ApiVersion 支持状态

LokiStack

lokistack.loki.grafana.com/v1

在5.5中受支持

RulerConfig

rulerconfig.loki.grafana/v1

在5.7中受支持

AlertingRule

alertingrule.loki.grafana/v1

在5.7中受支持

RecordingRule

recordingrule.loki.grafana/v1

在5.7中受支持

不受支持的配置

您必须将Red Hat OpenShift Logging Operator设置为Unmanaged状态才能修改以下组件

  • Elasticsearch自定义资源 (CR)

  • Kibana部署

  • fluent.conf文件

  • Fluentd守护程序集

您必须将OpenShift Elasticsearch Operator设置为Unmanaged状态才能修改Elasticsearch部署文件。

明确不受支持的情况包括

  • 配置默认日志轮换。您无法修改默认日志轮换配置。

  • 配置收集的日志位置。您无法更改日志收集器输出文件的位置,默认位置为/var/log/fluentd/fluentd.log

  • 限制日志收集。您无法降低日志收集器读取日志的速度。

  • 使用环境变量配置日志收集器。您无法使用环境变量来修改日志收集器。

  • 配置日志收集器如何规范化日志。您无法修改默认日志规范化。

非托管Operator的支持策略

Operator的管理状态决定了Operator是否按照设计主动管理集群中与其相关组件相关的资源。如果Operator设置为非托管状态,它不会响应配置更改,也不会接收更新。

虽然这在非生产集群或调试期间可能很有用,但处于非托管状态的Operator不受支持,集群管理员负责完全控制各个组件的配置和升级。

可以使用以下方法将Operator设置为非托管状态

  • 单个Operator配置

    单个Operator在其配置中有一个managementState参数。可以根据Operator的不同以不同的方式访问它。例如,Red Hat OpenShift Logging Operator通过修改它管理的自定义资源 (CR) 来实现此目的,而Cluster Samples Operator使用集群范围的配置资源。

    managementState参数更改为Unmanaged意味着Operator没有主动管理其资源,并且不会对相关组件采取任何操作。某些Operator可能不支持此管理状态,因为它可能会损坏集群并需要手动恢复。

    将单个Operator更改为Unmanaged状态将使该特定组件和功能不受支持。必须在Managed状态下重现报告的问题才能继续支持。

  • 集群版本Operator (CVO) 覆盖

    可以将spec.overrides参数添加到CVO的配置中,以允许管理员为组件提供CVO行为的覆盖列表。为组件将spec.overrides[].unmanaged参数设置为true会阻止集群升级,并在设置CVO覆盖后提醒管理员。

    Disabling ownership via cluster version overrides prevents upgrades. Please remove overrides before continuing.

    设置CVO覆盖会使整个集群处于不受支持的状态。必须在删除任何覆盖后重现报告的问题才能继续支持。

日志记录UI插件的支持例外

在集群可观测性操作符 (COO) 即将发布的正式版 (GA) 之前,当前处于技术预览版 (TP)阶段,Red Hat 为在 AWS 上的 Red Hat OpenShift 服务 4.14 或更高版本中,使用 COO 的日志记录 UI 插件且日志记录版本为 6.0 或更高版本的客户提供支持。此支持例外是临时的,因为 COO 包含多个独立的功能,其中一些仍然是 TP 功能,但日志记录 UI 插件已准备好发布正式版。

为 Red Hat 支持收集日志数据

打开支持案例时,向 Red Hat 支持提供有关集群的调试信息非常有帮助。

您可以使用must-gather 工具收集项目级资源、集群级资源和每个日志记录组件的诊断信息。

为了获得及时的支持,请提供 AWS 上的 Red Hat OpenShift 服务和日志记录的诊断信息。

请勿使用hack/logging-dump.sh脚本。该脚本不再受支持,并且不收集数据。

关于 must-gather 工具

oc adm must-gather CLI 命令会收集集群中可能需要用于调试问题的最常用信息。

对于您的日志记录,must-gather 会收集以下信息:

  • 项目级资源,包括 Pod、配置映射、服务帐户、角色、角色绑定以及项目级别的事件。

  • 集群级资源,包括节点、角色和集群级别的角色绑定。

  • openshift-loggingopenshift-operators-redhat 命名空间中的 OpenShift 日志资源,包括日志收集器、日志存储和日志可视化工具的健康状态。

运行oc adm must-gather时,会在集群上创建一个新的 Pod。数据将在该 Pod 上收集,并保存在一个以must-gather.local开头的新的目录中。此目录将创建在当前工作目录中。

收集日志数据

您可以使用oc adm must-gather CLI 命令收集有关日志记录的信息。

步骤

要使用must-gather收集日志记录信息:

  1. 导航到要存储must-gather信息的目录。

  2. 针对日志记录镜像运行oc adm must-gather命令。

    $ oc adm must-gather --image=$(oc -n openshift-logging get deployment.apps/cluster-logging-operator -o jsonpath='{.spec.template.spec.containers[?(@.name == "cluster-logging-operator")].image}')

    must-gather工具会在当前目录中创建一个以must-gather.local开头的新的目录。例如:must-gather.local.4157245944708210408

  3. 从刚刚创建的must-gather目录创建一个压缩文件。例如,在使用 Linux 操作系统的计算机上,运行以下命令:

    $ tar -cvaf must-gather.tar.gz must-gather.local.4157245944708210408
  4. 将压缩文件附加到Red Hat 客户门户上的支持案例。