第 1 章 发行注记

1.1. Logging 5.7

注意

日志记录作为一个可安装的组件提供,它有一个不同于 OpenShift Container Platform 的发布周期。Red Hat OpenShift Container Platform 生命周期政策概述了发行版本兼容性。

注意

stable 频道只为日志记录的最新版本提供更新。要继续获得之前版本的更新,您必须将订阅频道改为 stable-x.y,其中 x.y 代表您安装的日志记录的主版本和次版本。例如,stable-5.7

1.1.1. Logging 5.7.10

此发行版本包括 OpenShift Logging 程序错误修复 5.7.10

1.1.1.1. 程序错误修复

在此次更新之前,LokiStack 规则器 pod 不会将 IPv6 pod IP 格式化为用于跨 pod 通信的 HTTP URL,从而导致通过 Prometheus 兼容的 API 查询规则和警报失败。在这个版本中,LokiStack 规则器 pod 将 IPv6 pod IP 封装在方括号中,从而解决了这个问题。(LOG-4891)

1.1.1.2. CVE

1.1.2. Logging 5.7.9

此发行版本包括 OpenShift Logging 程序错误修复 5.7.9

1.1.2.1. 程序错误修复

  • 在此次更新之前,在为占位符评估一个或多个主机后,不会正确解析 IPv6 地址。在这个版本中,IPv6 地址会被正确解析。(LOG-4281)
  • 在此次更新之前,Vector 无法在只使用 IPv4 的节点上启动。因此,无法为其指标端点创建一个监听程序,并显示以下错误:Failed to start Prometheus exporter: TCP bind failed: Address family not supported by protocol (os error 97)。在这个版本中,Vector 通常在 IPv4 节点上运行。(LOG-4589)
  • 在此次更新之前,在创建索引模式的过程中,每个日志输出的初始索引中缺少默认别名。因此,Kibana 用户无法使用 OpenShift Elasticsearch Operator 创建索引模式。在这个版本中,在 OpenShift Elasticsearch Operator 中添加缺少的别名,从而解决了这个问题。Kibana 用户现在可以创建包含 {app,infra,audit}-000001 索引的索引模式。(LOG-4806)
  • 在此次更新之前,Loki Operator 不会将自定义 CA 捆绑包挂载到规则 pod。因此,在评估警报或记录规则的过程中,对象存储访问会失败。在这个版本中,Loki Operator 将自定义 CA 捆绑包挂载到所有规则 pod。规则器 pod 可以从对象存储下载日志,以评估警报或记录规则。(LOG-4837)
  • 在此次更新之前,使用控制(如时间范围或严重性)更改 LogQL 查询会改变标签 matcher 运算符,就像正则表达式一样定义。在这个版本中,正则表达式运算符在更新查询时保持不变。(LOG-4842)
  • 在此次更新之前,Vector 收集器部署依赖于默认的重试和缓冲行为。因此,交付管道会在输出不稳定时尝试发送每个消息。在这个版本中,Vector 收集器部署会在超过阈值后限制消息重试和丢弃消息的数量。(LOG-4536)

1.1.2.2. CVE

1.1.3. Logging 5.7.8

此发行版本包括 OpenShift Logging 程序错误修复 5.7.8

1.1.3.1. 程序错误修复

  • 在此次更新之前,当与 ClusterLogForwarder 自定义资源(CR)中的 outputRefsinputRefs 参数使用相同的名称时,则会有潜在的冲突。因此,收集器 Pod 在 CrashLoopBackOff 状态中输入。在这个版本中,输出标签包含 OUTPUT_ 前缀,以确保输出标签和管道名称之间的区别。(LOG-4383)
  • 在此次更新之前,在配置 JSON 日志解析器时,如果您没有为 Cluster Logging Operator 设置 structuredTypeKeystructuredTypeName 参数,则不会显示有关无效配置的警报。在这个版本中,Cluster Logging Operator 会告知您配置问题。(LOG-4441)
  • 在此次更新之前,如果为 Splunk 输出指定的 secret 中缺少 hecToken 键或不正确,验证会失败,因为向量在没有令牌的情况下将日志转发到 Splunk。在这个版本中,如果 hecToken 键缺失或不正确,验证会失败,并显示 A non-empty hecToken entry is required 错误消息。(LOG-4580)
  • 在此次更新之前,使用 web 控制台从自定义时间范围中选择日志的日期会导致出现错误。在这个版本中,您可以在 web 控制台中成功从时间范围模型中选择日期。(LOG-4684)

1.1.3.2. CVE

1.1.4. Logging 5.7.7

此发行版本包括 OpenShift Logging 程序错误修复 5.7.7

1.1.4.1. 程序错误修复

  • 在此次更新之前,FluentD 规范化由 EventRouter 发送的日志与 Vector 不同。在这个版本中,Vector 以一致的格式生成日志记录。(LOG-4178)
  • 在此次更新之前,在由 Cluster Logging Operator 创建的指标仪表板中,查询中存在一个错误,用于 FluentD Buffer Availability 图,因为它显示最小缓冲区用量。在这个版本中,图形显示最大缓冲区使用量,现在被重命名为 FluentD Buffer Usage。(LOG-4555)
  • 在此次更新之前,在 IPv6 或双栈 OpenShift Container Platform 集群上部署 LokiStack 会导致 LokiStack memberlist 注册失败。因此,经销商 Pod 会进入崩溃循环。在这个版本中,管理员可以通过将 lokistack.spec.hashRing.memberlist.enableIPv6: 值设置为 true 来启用 IPv6,这会解决这个问题。(LOG-4569)
  • 在此次更新之前,日志收集器依赖于默认配置设置来读取容器日志行。因此,日志收集器无法有效地读取轮转的文件。在这个版本中,读取字节数会增加,允许日志收集器高效地处理轮转文件。(LOG-4575)
  • 在此次更新之前,事件路由器中未使用的指标会导致容器因为过量内存用量而失败。在这个版本中,通过删除未使用的指标来减少事件路由器的内存用量。(LOG-4686)

1.1.4.2. CVE

1.1.5. Logging 5.7.6

此发行版本包括 OpenShift Logging 程序错误修复 5.7.6

1.1.5.1. 程序错误修复

  • 在此次更新之前,收集器依赖于默认配置设置来读取容器日志行。因此,收集器无法有效地读取轮转的文件。在这个版本中,读取字节数会增加,允许收集器高效地处理轮转文件。(LOG-4501)
  • 在此次更新之前,当用户使用预定义的过滤器粘贴 URL 时,一些过滤器没有反映。在这个版本中,UI 反映了 URL 中的所有过滤器。(LOG-4459)
  • 在此次更新之前,使用自定义标签转发到 Loki 会在从 Fluentd 切换到 Vector 时生成错误。在这个版本中,Vector 配置清理标签与 Fluentd 相同,以确保收集器启动并正确处理标签。(LOG-4460)
  • 在此次更新之前,Observability Logs 控制台搜索字段不接受它应该转义的特殊字符。在这个版本中,它会在查询中正确转义特殊字符。(LOG-4456)
  • 在此次更新之前,在将日志发送到 Splunk 会出现以下镜像信息:Timestamp was not found.在这个版本中,更改会覆盖用于检索 Timestamp 的日志字段的名称,并将其发送到 Splunk,而不发出警告。(LOG-4413)
  • 在此次更新之前,向量的 CPU 和内存用量随着时间增加。在这个版本中,Vector 配置包含 expire_metrics_secs=60 设置来限制指标的生命周期,并上限相关的 CPU 用量和内存占用量。(LOG-4171)
  • 在此次更新之前,LokiStack 网关会广泛缓存授权请求。因此,这会导致错误的授权结果。在这个版本中,Loki 网关缓存以更精细的方式缓存来解决这个问题。(LOG-4393)
  • 在此次更新之前,Fluentd 运行时镜像包含在运行时不需要的构建程序工具。在这个版本中,构建器工具已被删除,从而解决了这个问题。(LOG-4467)

1.1.5.2. CVE

1.1.6. Logging 5.7.4

此发行版本包括 OpenShift Logging 程序错误修复 5.7.4

1.1.6.1. 程序错误修复

  • 在此次更新之前,当将日志转发到 CloudWatch 时,namespaceUUID 值不会被附加到 logGroupName 字段中。在这个版本中,包含 namespaceUUID 值,因此 CloudWatch 中的 logGroupName 显示为 logGroupName: vectorcw.b443fb9e-bd4c-4b6a-b9d3-c0097f9ed286。(LOG-2701)
  • 在此次更新之前,当通过 HTTP 将日志转发到非集群目的地时,向量收集器无法向集群范围的 HTTP 代理进行身份验证,即使代理 URL 中提供了正确的凭证。在这个版本中,Vector 日志收集器可以向集群范围的 HTTP 代理进行身份验证。(LOG-3381)
  • 在此次更新之前,如果 Fluentd 收集器配置了 Splunk 作为输出,Operator 将失败,因为不支持此配置。在这个版本中,配置验证会拒绝不支持的输出,从而解决了这个问题。(LOG-4237)
  • 在此次更新之前,当 Vector 收集器在 AWS Cloudwatch 日志的 TLS 配置中更新了 enabled = true 值时,GCP Stackdriver 会导致配置错误。在这个版本中,为这些输出删除 enabled = true 值,从而解决了这个问题。(LOG-4242)
  • 在此次更新之前,向量收集器偶尔会在日志中出现以下错误信息:thread 'vector-worker' panicked at 'all branch are disabled, no else branch', src/kubernetes/reflector.rs:26:9。在这个版本中,这个错误已解决。(LOG-4275)
  • 在此次更新之前,如果 Operator 配置了该租户的额外选项,Loki Operator 中的问题会导致应用程序租户的 alert-manager 配置消失。在这个版本中,生成的 Loki 配置包含自定义和自动生成的配置。(LOG-4361)
  • 在此次更新之前,当使用多个角色使用带有 AWS Cloudwatch 转发的 STS 进行身份验证时,最近更新会导致凭证不是唯一的。在这个版本中,STS 角色和静态凭证的多个组合可以再次用于与 AWS Cloudwatch 进行身份验证。(LOG-4368)
  • 在此次更新之前,Loki 为活跃流过滤标签值,但没有删除重复,使 Grafana 的标签浏览器不可用。在这个版本中,Loki 会过滤活跃流的重复标签值,从而解决了这个问题。(LOG-4389)
  • 升级到 OpenShift Logging 5.7 后,在 ClusterLogForwarder 自定义资源 (CR) 中没有指定 name 字段的管道将停止工作。在这个版本中,这个错误已解决。(LOG-4120)

1.1.6.2. CVE

1.1.7. Logging 5.7.3

此发行版本包括 OpenShift Logging 程序错误修复 5.7.3

1.1.7.1. 程序错误修复

  • 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,缓存的文件会导致数据无法刷新。在这个版本中,bootstrap 文件不会被缓存,从而解决了这个问题。(LOG-4100)
  • 在此次更新之前,Loki Operator 会重置错误,导致识别配置问题很难排除故障。在这个版本中,错误会保留,直到配置错误解决为止。(LOG-4156)
  • 在此次更新之前,在更改 RulerConfig 自定义资源(CR) 后,LokiStack 规则器不会重启。在这个版本中,Loki Operator 在更新 RulerConfig CR 后重启规则 pod。(LOG-4161)
  • 在此次更新之前,当输入匹配标签值包含 ClusterLogForwarder 中的 / 字符时,向量收集器意外终止。在这个版本中,通过引用 match 标签解决了这个问题,使收集器能够启动和收集日志。(LOG-4176)
  • 在此次更新之前,当 LokiStack CR 定义租户限制而不是全局限制时,Loki Operator 意外终止。在这个版本中,Loki Operator 可以在没有全局限制的情况下处理 LokiStack CR,从而解决了这个问题。(LOG-4198)
  • 在此次更新之前,当提供的私钥受密码保护时,Fluentd 不会将日志发送到 Elasticsearch 集群。在这个版本中,Fluentd 在与 Elasticsearch 建立连接时可以正确地处理受密语保护的私钥。(LOG-4258)
  • 在此次更新之前,具有超过 8,000 个命名空间的集群会导致 Elasticsearch 拒绝查询,因为命名空间列表大于 http.max_header_size 设置。在这个版本中,标头大小的默认值有所增加,从而解决了这个问题。(LOG-4277)
  • 在此次更新之前,ClusterLogForwarder CR 中包含 / 字符的标签值会导致收集器意外终止。在这个版本中,斜杠被下划线替代,从而解决了这个问题。(LOG-4095)
  • 在此次更新之前,Cluster Logging Operator 会在设置为非受管状态时意外终止。在这个版本中,在启动 ClusterLogForwarder CR 的协调前,确保 ClusterLogging 资源处于正确的管理状态,从而解决了这个问题。(LOG-4177)
  • 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,通过拖放到直方图中的时间范围无法用于 pod 详情中的聚合日志视图。在这个版本中,可以通过拖动到这个视图中的直方图来选择时间范围。(LOG-4108)
  • 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,查询会超过 30 秒超时。在这个版本中,超时值可以在 configmap/logging-view-plugin 中配置。(LOG-3498)
  • 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,点更多数据可用选项仅在第一次点击时加载更多日志条目。在这个版本中,每次点击时会加载更多条目。(OU-188)
  • 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,点 streaming 选项只显示 流传输 日志消息,而无需显示实际日志。在这个版本中,消息和日志流都会正确显示。(OU-166)

1.1.7.2. CVE

1.1.8. Logging 5.7.2

此发行版本包括 OpenShift Logging 程序错误修复 5.7.2

1.1.8.1. 程序错误修复

  • 在此次更新之前,因为存在待处理的终结器,无法直接删除 openshift-logging 命名空间。在这个版本中,不再使用终结器 (finalizer),启用直接删除命名空间。(LOG-3316)
  • 在此次更新之前,如果根据 OpenShift Container Platform 文档更改了 run.sh 脚本,则 run.sh 脚本会显示一个不正确的 chunk_limit_size 值。但是,当通过环境变量 $BUFFER_SIZE_LIMIT 设置 chunk_limit_size 时,该脚本会显示正确的值。在这个版本中,run.sh 脚本会在这两种场景中都一致地显示正确的 chunk_limit_size 值。(LOG-3330)
  • 在此次更新之前,OpenShift Container Platform Web 控制台的日志记录视图插件不允许自定义节点放置或容限。在这个版本中,增加了为日志记录视图插件定义节点放置和容限的功能。(LOG-3749)
  • 在此次更新之前,当尝试通过 Fluentd HTTP 插件将日志发送到 DataDog 时,Cluster Logging Operator 遇到 Unsupported Media Type 异常。在这个版本中,用户可以通过配置 HTTP 标头 Content-Type 为日志转发无缝分配内容类型。提供的值会自动分配给插件中的 content_type 参数,确保成功传输日志。(LOG-3784)
  • 在此次更新之前,当 ClusterLogForwarder 自定义资源 (CR) 中的 detectMultilineErrors 字段设置为 true 时,PHP 多行错误被记录为单独的日志条目,从而导致堆栈跟踪在多个消息间分割。在这个版本中,启用了 PHP 的多行错误检测,确保整个堆栈追踪包含在单一日志消息中。(LOG-3878)
  • 在此次更新之前,ClusterLogForwarder 管道的名称中包含空格会导致 Vector 收集器 pod 持续崩溃。在这个版本中,管道名称中的所有空格、短划线 (-) 和点 (.) 都被替换为下划线 (_)。(LOG-3945)
  • 在此次更新之前,log_forwarder_output 指标不包括 http 参数。在这个版本中,在指标中添加缺少的参数。(LOG-3997)
  • 在此次更新之前,Fluentd 在以冒号结尾时无法识别一些多行 JavaScript 客户端异常。在这个版本中,Fluentd 缓冲名称的前缀为下划线,从而解决了这个问题。(LOG-4019)
  • 在此次更新之前,当将日志转发配置为写入与有效负载中键匹配的 Kafka 输出主题时,日志会因为错误而丢弃。在这个版本中,Fluentd 的缓冲区名称前缀为下划线,从而解决了这个问题。(LOG-4027)
  • 在此次更新之前,LokiStack 网关返回命名空间的标签值,而无需应用用户的访问权限。在这个版本中,Loki 网关应用标签值请求的权限,从而解决了这个问题。(LOG-4049)
  • 在此次更新之前,当 tls.insecureSkipVerify 选项被设置为 true 时,Cluster Logging Operator API 需要一个由 secret 提供的证书。在这个版本中,Cluster Logging Operator API 不再需要在这样的情形中由 secret 提供证书。以下配置已添加到 Operator 的 CR 中:

    tls.verify_certificate = false
    tls.verify_hostname = false

    (LOG-3445)

  • 在此次更新之前,LokiStack 路由配置会导致查询运行时间超过 30 秒。在这个版本中,Loki global 和 per-tenant queryTimeout 设置会影响路由超时设置,从而解决了这个问题。(LOG-4052)
  • 在此次更新之前,删除 collection.type 的默认修复会导致 Operator 不再遵循资源、节点选择和容限已弃用的 spec。在这个版本中,Operator 的行为总是首选 collection.logs spec 而不是这些集合。这与之前允许使用首选字段和已弃用字段的行为不同,但在填充 collection.type 时会忽略已弃用的字段。(LOG-4185)
  • 在此次更新之前,如果输出中没有指定代理 URL,Vector 日志收集器不会生成 TLS 配置,用于将日志转发到多个 Kafka 代理。在这个版本中,为多个代理生成 TLS 配置。(LOG-4163)
  • 在此次更新之前,为登录到 Kafka 的日志转发启用密码短语的选项不可用。这个限制会导致安全风险,因为它可能会公开敏感信息。在这个版本中,用户有一个无缝选项来为登录到 Kafka 的日志转发启用密码短语。(LOG-3314)
  • 在此次更新之前,Vector 日志收集器不会遵循传出 TLS 连接的 tlsSecurityProfile 设置。在这个版本中,Vector 可以正确地处理 TLS 连接设置。(LOG-4011)
  • 在此次更新之前,在 log_forwarder_output_info 指标中,并非所有可用的输出类型都包括在 log_forwarder_output_info 指标中。在这个版本中,指标包含之前缺少的 Splunk 和 Google Cloud Logging 数据。(LOG-4098)
  • 在此次更新之前,当将 follow_inodes 设置为 true 时,Fluentd 收集器可能会在文件轮转时崩溃。在这个版本中,follow_inodes 设置不会使收集器崩溃。(LOG-4151)
  • 在此次更新之前,Fluentd 收集器可能会因为如何跟踪这些文件而错误地关闭应该监视的文件。在这个版本中,跟踪参数已被修正。(LOG-4149)
  • 在此次更新之前,使用 Vector 收集器转发日志,并在 ClusterLogForwarder 实例 audit 中命名管道,applicationinfrastructure 会导致收集器 pod 处于 CrashLoopBackOff 状态,并在收集器日志中出现以下错误:

    ERROR vector::cli: Configuration error. error=redefinition of table transforms.audit for key transforms.audit

    在这个版本中,管道名称不再与保留输入名称冲突,管道可以被命名为 audit,applicationinfrastructure。(LOG-4218)

  • 在此次更新之前,当将日志转发到带有 Vector 收集器的 syslog 目的地,并将 addLogSource 标志设置为 true 时,将以下额外空字段添加到转发消息:namespace_name=container_name=pod_name=。在这个版本中,这些字段不再添加到日志日志中。(LOG-4219)
  • 在此次更新之前,当未找到 structuredTypeKey 且没有指定 structuredTypeName 时,日志消息仍然被解析为结构化对象。在这个版本中,日志的解析如预期。(LOG-4220)

1.1.8.2. CVE

1.1.9. Logging 5.7.1

此发行版本包括:OpenShift Logging 程序错误修复 5.7.1

1.1.9.1. 程序错误修复

  • 在此次更新之前,Cluster Logging Operator pod 日志中存在大量信息会导致日志的可读性降低,并增加识别重要系统事件的难度。在这个版本中,这个问题可以通过显著降低 Cluster Logging Operator pod 日志中的信息来解决。(LOG-3482)
  • 在此次更新之前,API 服务器会将 CollectorSpec.Type 字段的值重置为 vector,即使自定义资源使用了不同的值。在这个版本中,删除了 CollectorSpec.Type 字段的默认设置来恢复之前的行为。(LOG-4086)
  • 在此次更新之前,无法通过点击并在日志直方图上拖动,在 OpenShift Container Platform Web 控制台中选择时间范围。在这个版本中,可以使用单击和拖动来成功选择时间范围。(LOG-4501)
  • 在此次更新之前,点 OpenShift Container Platform Web 控制台中的 Show Resources 链接不会产生任何影响。在这个版本中,通过修复 "Show Resources" 链接的功能来解决这个问题,以切换每个日志条目的资源显示。(LOG-3218)

1.1.9.2. CVE

1.1.10. Logging 5.7.0

此发行版本包括 OpenShift Logging 程序错误修复 5.7.0

1.1.10.1. 功能增强

在这个版本中,您可以启用日志记录来检测多行异常,并将其重新编译到一条日志条目中。

要启用日志记录来检测多行异常,并将其重新编译到一个日志条目中,请确保 ClusterLogForwarder 自定义资源 (CR) 包含 detectMultilineErrors 字段,值为 true

1.1.10.2. 已知问题

无。

1.1.10.3. 程序错误修复

  • 在此次更新之前,LokiHost 的 Gateway 组件的 nodeSelector 属性不会影响节点调度。在这个版本中,nodeSelector 属性可以正常工作。(LOG-3713)

1.1.10.4. CVE