1.40. Logging 5.4

以下公告可用于日志 5.4: Red Hat OpenShift 版本 5.4 的 Logging 子系统

1.40.1. 技术预览

重要

向量只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

1.40.2. 关于向量

向量(vector)是一个日志收集器,它作为一个技术预览替代 logging 子系统的当前默认收集器。

以下输出受支持:

  • elasticsearch.一个外部 Elasticsearch 实例。elasticsearch 输出可以使用 TLS 连接。
  • kafka.Kafka 代理。kafka 输出可以使用不安全的或 TLS 连接。
  • loki。Loki,一个可横向扩展的、高可用性、多租户日志聚合系统。

1.40.2.1. 启用向量

默认不启用向量。使用以下步骤在 OpenShift Container Platform 集群上启用向量。

重要

向量不支持 FIPS 启用集群。

先决条件

  • OpenShift Container Platform: 4.10
  • Red Hat OpenShift 的 logging 子系统: 5.4
  • 禁用 FIPS

流程

  1. 编辑 openshift-logging 项目中的 ClusterLogging 自定义资源(CR):

    $ oc -n openshift-logging edit ClusterLogging instance
  2. ClusterLogging 自定义资源(CR)添加 logging.openshift.io/preview-vector-collector: enabled 注解。
  3. ClusterLogging 自定义资源(CR)中添加 vector 作为集合类型。
  apiVersion: "logging.openshift.io/v1"
  kind: "ClusterLogging"
  metadata:
    name: "instance"
    namespace: "openshift-logging"
    annotations:
      logging.openshift.io/preview-vector-collector: enabled
  spec:
    collection:
      logs:
        type: "vector"
        vector: {}

其他资源

重要

Loki Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

1.40.3. 关于 Loki

Loki 是一个可横向扩展的、高度可用且多租户的日志聚合系统,目前作为日志记录子系统的日志存储提供。

其他资源

1.40.3.1. 部署 Lokistack

您可以使用 OpenShift Container Platform Web 控制台安装 Loki Operator。

先决条件

  • OpenShift Container Platform: 4.10
  • Red Hat OpenShift 的 logging 子系统: 5.4

使用 OpenShift Container Platform Web 控制台安装 Loki Operator:

  1. 安装 Loki Operator:

    1. 在 OpenShift Container Platform Web 控制台中,点击 OperatorsOperatorHub
    2. 从可用的 Operator 列表中选择 Loki Operator,然后点 Install
    3. Installation Mode 下,选择 All namespaces on the cluster
    4. Installed Namespace 下,选择 openshift-operators-redhat

      您必须指定 openshift-operators-redhat 命名空间。openshift-operators 命名空间可能会包含社区提供的 operator。这些 operator 不被信任,其发布的 metric 可能与 OpenShift Container Platform metric 的名称相同,从而导致冲突。

    5. 选择 Enable operator recommended cluster monitoring on this namespace

      这个选项在 Namespace 对象中设置 openshift.io/cluster-monitoring: "true" 标识。您必须设置这个选项,以确保集群监控提取 openshift-operators-redhat 命名空间。

    6. 选择一个批准策略

      • Automatic 策略允许 Operator Lifecycle Manager(OLM)在有新版本可用时自动更新 Operator。
      • Manual 策略需要拥有适当凭证的用户批准 Operator 更新。
    7. Install
    8. 验证您安装了 Loki Operator。访问 OperatorsInstalled Operators 页面,并查找 "Loki Operator"。
    9. 确保 Loki Operator 列在 StatusSucceeded 的所有项目中。

1.40.4. 程序错误修复

  • 在此次更新之前,cluster-logging-operator 使用集群范围的角色和绑定来建立 Prometheus 服务帐户的权限,以提取指标。这些权限在使用控制台界面部署 Operator 时创建,但在从命令行部署时缺失。在这个版本中,通过使角色和绑定命名空间范围解决了这个问题。(LOG-2286)
  • 在此次更新之前,修复仪表板协调在命名空间间引入一个 ownerReferences 字段。因此,在命名空间中不会创建配置映射和仪表板。在这个版本中,删除了 ownerReferences 字段可以解决这个问题,OpenShift Logging 仪表板在控制台中可用。(LOG-2163)
  • 在此次更新之前,对指标仪表板的更改不会部署,因为 cluster-logging-operator 无法正确比较包含仪表板的现有和修改后的配置映射。在这个版本中,为对象标签添加唯一的散列值可解决这个问题。(LOG-2071)
  • 在此次更新之前,OpenShift Logging 仪表板没有正确显示表中的 pod 和命名空间,这会显示在最后 24 小时收集的生成容器。在这个版本中,pod 和命名空间会被正确显示。(LOG-2069)
  • 在此次更新之前,当 ClusterLogForwarder 设置为 Elasticsearch OutputDefault 且 Elasticsearch 输出没有结构化键时,生成的配置包含身份验证的错误值。在这个版本中,修正了使用的 secret 和证书。(LOG-2056)
  • 在此次更新之前,OpenShift Logging 仪表板会显示一个空的 CPU 图形,因为引用无效指标。在这个版本中,选择了正确的数据点来解决此问题。(LOG-2026)
  • 在此次更新之前,Fluentd 容器镜像包含在运行时不需要的构建程序工具。这个版本从镜像中删除这些工具。(LOG-1927)
  • 在此次更新之前,在 5.3 版本中部署的收集器的名称更改会导致日志记录收集器生成 FluentdNodeDown 警报。在这个版本中,修复 Prometheus 警报的作业名称解决了这个问题。(LOG-1918)
  • 在此次更新之前,日志收集器因为重构组件名称更改而收集自己的日志。这可能会导致收集器处理自己的日志的潜在反馈循环,这可能会导致内存和日志消息大小问题。在这个版本中解决了这个问题,它会从集合中排除收集器日志。(LOG-1774)
  • 在此次更新之前,Elasticsearch 会生成错误 Unable to create PersistentVolumeClaim due to forbidden: exceeded quota: infra-storage-quota.(如果 PVC 已存在)。在这个版本中,Elasticsearch 会检查现有的 PVC,从而解决了这个问题。(LOG-2131)
  • 在此次更新之前,当 elasticsearch-signing secret 被删除时,Elasticsearch 无法返回 ready 状态。在这个版本中,Elasticsearch 能够在删除该 secret 后返回 ready 状态。(LOG-2171)
  • 在此次更新之前,收集器读取容器日志的路径的更改会导致收集器将一些记录转发到错误的索引。在这个版本中,收集器使用正确的配置来解决这个问题。(LOG-2160)
  • 在此次更新之前,带有大量命名空间的集群会导致 Elasticsearch 停止服务请求,因为命名空间列表达到最大标头大小限制。在这个版本中,标头只包括命名空间名称列表,从而解决了这个问题。(LOG-1899)
  • 在此次更新之前,OpenShift Container Platform Logging 仪表板显示分片"x"数量大于 Elasticsearch 具有 'x' 节点时的实际值。出现这个问题的原因是,它会输出每个 Elasticsearch pod 的所有主分片,并计算出整个 Elasticsearch 集群的总和。在这个版本中,分片数量会被正确计算。(LOG-2156)
  • 在此次更新之前,如果 secret kibanakibana-proxy 被删除,则不会重新创建它们。在这个版本中,elasticsearch-operator 会监视资源,并在删除时自动重新创建这些资源。(LOG-2250)
  • 在此次更新之前,调整缓冲区块大小可能会导致收集器生成超过事件流字节限制的块大小警告。在这个版本中,您还可以调整读行限制,并解决问题。(LOG-2379)
  • 在此次更新之前,OpenShift WebConsole 中的日志记录控制台链接不会被 ClusterLogging CR 删除。在这个版本中,删除 CR 或卸载 Cluster Logging Operator 会删除链接。(LOG-2373)
  • 在此次更新之前,对容器日志路径的更改会导致集合指标始终为零,且使用原始路径配置旧版本。在这个版本中,插件会公开有关收集日志的指标,支持从任一路径中读取来解决这个问题。(LOG-2462)

1.40.5. CVE