1.2. Logging 5.6
日志记录作为一个可安装的组件提供,它有一个不同于 OpenShift Container Platform 的发布周期。Red Hat OpenShift Container Platform 生命周期政策概述了发行版本兼容性。
stable 频道只为日志记录的最新版本提供更新。要继续获得之前版本的更新,您必须将订阅频道改为 stable-x.y,其中 x.y
代表您安装的日志记录的主版本和次版本。例如,stable-5.7。
1.2.1. Logging 5.6.16
此发行版本包括 日志记录程序错误修复 5.6.16
1.2.1.1. 程序错误修复
- 在此次更新之前,当配置为读取自定义 S3 证书颁发机构时,Loki Operator 不会在 ConfigMap 的名称或内容改变时自动更新配置。在这个版本中,Loki Operator 会监视 ConfigMap 的更改,并自动更新生成的配置。(LOG-4967)
1.2.1.2. CVE
1.2.2. Logging 5.6.15
此发行版本包括 OpenShift Logging 程序错误修复 5.6.15。
1.2.2.1. 程序错误修复
在此次更新之前,LokiStack 规则器 pod 不会将 IPv6 pod IP 格式化为用于跨 pod 通信的 HTTP URL,从而导致通过 Prometheus 兼容的 API 查询规则和警报失败。在这个版本中,LokiStack 规则器 pod 将 IPv6 pod IP 封装在方括号中,从而解决了这个问题。(LOG-4892)
1.2.2.2. CVE
1.2.3. Logging 5.6.14
此发行版本包括 OpenShift Logging 程序错误修复 5.6.14。
1.2.3.1. 程序错误修复
-
在此次更新之前,在创建索引模式的过程中,每个日志输出的初始索引中缺少默认别名。因此,Kibana 用户无法使用 OpenShift Elasticsearch Operator 创建索引模式。在这个版本中,在 OpenShift Elasticsearch Operator 中添加缺少的别名,从而解决了这个问题。Kibana 用户现在可以创建包含
{app,infra,audit}-000001
索引的索引模式。(LOG-4807) - 在此次更新之前,Loki Operator 不会将自定义 CA 捆绑包挂载到规则 pod。因此,在评估警报或记录规则的过程中,对象存储访问会失败。在这个版本中,Loki Operator 将自定义 CA 捆绑包挂载到所有规则 pod。规则器 pod 可以从对象存储下载日志,以评估警报或记录规则。(LOG-4838)
1.2.3.2. CVE
- CVE-2007-4559
- CVE-2021-43975
- CVE-2022-3594
- CVE-2022-3640
- CVE-2022-4744
- CVE-2022-28388
- CVE-2022-38457
- CVE-2022-40133
- CVE-2022-40982
- CVE-2022-41862
- CVE-2022-42895
- CVE-2022-45869
- CVE-2022-45887
- CVE-2022-48337
- CVE-2022-48339
- CVE-2023-0458
- CVE-2023-0590
- CVE-2023-0597
- CVE-2023-1073
- CVE-2023-1074
- CVE-2023-1075
- CVE-2023-1079
- CVE-2023-1118
- CVE-2023-1206
- CVE-2023-1252
- CVE-2023-1382
- CVE-2023-1855
- CVE-2023-1981
- CVE-2023-1989
- CVE-2023-1998
- CVE-2023-2513
- CVE-2023-3138
- CVE-2023-3141
- CVE-2023-3161
- CVE-2023-3212
- CVE-2023-3268
- CVE-2023-3609
- CVE-2023-3611
- CVE-2023-3772
- CVE-2023-4016
- CVE-2023-4128
- CVE-2023-4132
- CVE-2023-4155
- CVE-2023-4206
- CVE-2023-4207
- CVE-2023-4208
- CVE-2023-4641
- CVE-2023-4732
- CVE-2023-22745
- CVE-2023-23455
- CVE-2023-26545
- CVE-2023-28328
- CVE-2023-28772
- CVE-2023-30456
- CVE-2023-31084
- CVE-2023-31436
- CVE-2023-31486
- CVE-2023-32324
- CVE-2023-33203
- CVE-2023-33951
- CVE-2023-33952
- CVE-2023-34241
- CVE-2023-35823
- CVE-2023-35824
- CVE-2023-35825
1.2.4. Logging 5.6.13
此发行版本包括 OpenShift Logging 程序错误修复 5.6.13。
1.2.4.1. 程序错误修复
无。
1.2.4.2. CVE
1.2.5. Logging 5.6.12
此发行版本包括 OpenShift Logging 程序错误修复 5.6.12。
1.2.5.1. 程序错误修复
-
在此次更新之前,在 IPv6 或双栈 OpenShift Container Platform 集群上部署 LokiStack 会导致 LokiStack memberlist 注册失败。因此,经销商 Pod 会进入崩溃循环。在这个版本中,管理员可以通过将
lokistack.spec.hashRing.memberlist.enableIPv6:
值设置为true
来启用 IPv6,这会解决这个问题。目前,启用了 IPv6 的集群上没有日志警报。(LOG-4570) - 在此次更新之前,在由 Cluster Logging Operator 创建的指标仪表板中,查询中存在一个错误,用于 FluentD Buffer Availability 图,因为它显示最小缓冲区用量。在这个版本中,图形显示最大缓冲区使用量,现在被重命名为 FluentD Buffer Usage。(LOG-4579)
- 在此次更新之前,事件路由器中未使用的指标会导致容器因为过量内存用量而失败。在这个版本中,通过删除未使用的指标来减少事件路由器的内存用量。(LOG-4687)
1.2.5.2. CVE
1.2.6. Logging 5.6.11
此发行版本包括 OpenShift Logging 程序错误修复 5.6.11。
1.2.6.1. 程序错误修复
- 在此次更新之前,LokiStack 网关会广泛缓存授权请求。因此,这会导致错误的授权结果。在这个版本中,Loki 网关缓存以更精细的方式缓存来解决这个问题。(LOG-4435)
1.2.6.2. CVE
1.2.7. Logging 5.6.9
此发行版本包括 OpenShift Logging 程序错误修复 5.6.9。
1.2.7.1. 程序错误修复
- 在此次更新之前,当使用多个角色使用带有 AWS Cloudwatch 转发的 STS 进行身份验证时,最近更新会导致凭证不是唯一的。在这个版本中,STS 角色和静态凭证的多个组合可以再次用于与 AWS Cloudwatch 进行身份验证。(LOG-4084)
-
在此次更新之前,向量收集器偶尔会在日志中出现以下错误信息:
thread 'vector-worker' panicked at 'all branch are disabled, no else branch', src/kubernetes/reflector.rs:26:9
。在这个版本中,这个错误已解决。(LOG-4276) - 在此次更新之前,Loki 为活跃流过滤标签值,但没有删除重复,使 Grafana 的标签浏览器不可用。在这个版本中,Loki 会过滤活跃流的重复标签值,从而解决了这个问题。(LOG-4390)
1.2.7.2. CVE
1.2.8. Logging 5.6.8
此发行版本包括 OpenShift Logging 程序错误修复 5.6.8。
1.2.8.1. 程序错误修复
-
在此次更新之前,当输入匹配标签值包含
ClusterLogForwarder
中的/
字符时,向量收集器意外终止。在这个版本中,通过引用 match 标签解决了这个问题,使收集器能够启动和收集日志。(LOG-4091) - 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,点更多数据可用选项仅在第一次点击时加载更多日志条目。在这个版本中,每次点击时会加载更多条目。(OU-187)
- 在此次更新之前,当在 OpenShift Container Platform Web 控制台中查看日志时,点 streaming 选项只显示 流传输 日志消息,而无需显示实际日志。在这个版本中,消息和日志流都会正确显示。(OU-189)
- 在此次更新之前,Loki Operator 会重置错误,导致识别配置问题很难排除故障。在这个版本中,错误会保留,直到配置错误解决为止。(LOG-4158)
-
在此次更新之前,具有超过 8,000 个命名空间的集群会导致 Elasticsearch 拒绝查询,因为命名空间列表大于
http.max_header_size
设置。在这个版本中,标头大小的默认值有所增加,从而解决了这个问题。(LOG-4278)
1.2.8.2. CVE
1.2.9. Logging 5.6.5
此发行版本包括 OpenShift Logging 程序错误修复 5.6.5。
1.2.9.1. 程序错误修复
- 在此次更新之前,模板定义会阻止 Elasticsearch 索引一些标签和 namespace_labels,从而导致数据 ingestion 出现问题。在这个版本中,修复替换了标签中的点和斜杠,以确保正确修正、有效地解决问题。(LOG-3419)
- 在此次更新之前,如果 OpenShift Web 控制台的 Logs 页面无法连接到 LokiStack,则会显示通用错误消息,从而不提供额外的上下文或故障排除建议。在这个版本中,错误消息已被改进,使其包含更具体的故障排除详情和建议。(LOG-3750)
- 在此次更新之前,时间范围格式不会被验证,从而导致选择自定义日期范围的错误。在这个版本中,时间格式会被验证,允许用户选择有效的范围。如果选择了无效的时间范围格式,则会向用户显示错误消息。(LOG-3583)
- 在此次更新之前,当在 Loki 中搜索日志时,即使表达式的长度不超过 5120 个字符,查询也会在很多情况下失败。在这个版本中,查询授权标签匹配程序已被优化,从而解决了这个问题。(LOG-3480)
- 在此次更新之前,Loki Operator 无法生成一个 memberlist 配置,该配置足以在使用 memberlist 进行私有 IP 时查找所有组件。在这个版本中,确保生成的配置包含公告的端口,从而成功查找所有组件。(LOG-4008)
1.2.9.2. CVE
1.2.10. Logging 5.6.4
此发行版本包括 OpenShift Logging 程序错误修复 5.6.4。
1.2.10.1. 程序错误修复
- 在此次更新之前,当 LokiStack 部署为日志存储时,Loki pod 生成的日志会被收集并发送到 LokiStack。在这个版本中,Loki 生成的日志不包括在集合中,不会存储。(LOG-3280)
- 在此次更新之前,当 OpenShift Web 控制台的 Logs 页面中的查询编辑器为空时,下拉菜单不会被填充。在这个版本中,如果尝试空查询,会显示错误消息,且下拉菜单现在会如预期填充。(LOG-3454)
-
在此次更新之前,当
tls.insecureSkipVerify
选项被设置为true
时,Cluster Logging Operator 会生成不正确的配置。因此,当尝试跳过证书验证时,Operator 无法将数据发送到 Elasticsearch。在这个版本中,Cluster Logging Operator 会生成正确的 TLS 配置,即使启用了tls.insecureSkipVerify
。因此,即使尝试跳过证书验证,数据也可以成功发送到 Elasticsearch。(LOG-3475) - 在此次更新之前,当启用结构化解析且消息转发到多个目的地时,它们不会被深度复制。这会导致一些接收的日志,包括结构化消息,而其他日志则没有。在这个版本中,在 JSON 解析前,配置生成已被修改为深度复制信息。因此,所有收到的消息现在都包含结构化消息,即使它们被转发到多个目的地。(LOG-3640)
-
在此次更新之前,如果
collection
字段包含{}
,可能会导致 Operator 崩溃。在这个版本中,Operator 将忽略这个值,允许 Operator 在不中断的情况下平稳运行。(LOG-3733) -
在此次更新之前,LokiiHost 的 Gateway 组件的
nodeSelector
属性没有任何效果。在这个版本中,nodeSelector
属性可以正常工作。(LOG-3783) - 在此次更新之前,静态 LokiStack memberlist 配置只依赖于私有 IP 网络。因此,当 OpenShift Container Platform 集群 pod 网络配置了公共 IP 范围时,Lokiition pod 会出现 crashloop。在这个版本中,Loki 管理员可以选择将 pod 网络用于 memberlist 配置。这解决了这个问题,并防止 LokiStack pod 在 OpenShift Container Platform 集群 pod 网络配置了公共 IP 范围时进入 crashloop 状态。(LOG-3814)
-
在此次更新之前,如果
tls.insecureSkipVerify
字段设置为true
,Cluster Logging Operator 会生成不正确的配置。因此,当尝试跳过证书验证时,Operator 无法将数据发送到 Elasticsearch。在这个版本中,即使启用了tls.insecureSkipVerify
,Operator 也会生成正确的 TLS 配置。因此,即使尝试跳过证书验证,数据也可以成功发送到 Elasticsearch。(LOG-3838) - 在此次更新之前,如果 Cluster Logging Operator (CLO) 安装没有 Elasticsearch Operator,则 CLO pod 会持续显示与删除 Elasticsearch 相关的错误消息。在这个版本中,CLO 在显示任何错误消息前执行额外的检查。因此,没有 Elasticsearch Operator 时不再显示与 Elasticsearch 删除相关的错误消息。(LOG-3763)
1.2.10.2. CVE
1.2.11. Logging 5.6.3
此发行版本包括 OpenShift Logging 程序错误修复 5.6.3。
1.2.11.1. 程序错误修复
1.2.11.2. CVE
1.2.12. 日志记录 5.6.2
此发行版本包括 OpenShift Logging 程序错误修复 5.6.2。
1.2.12.1. 程序错误修复
-
在此次更新之前,收集器没有根据 systemd 日志的优先级正确设置
level
字段。在这个版本中,level
字段会被正确设置。(LOG-3429) - 在此次更新之前,Operator 会错误地在 OpenShift Container Platform 4.12 或更高版本上生成不兼容警告。在这个版本中,Operator 最大 OpenShift Container Platform 版本值已被修正,从而解决了这个问题。(LOG-3584)
-
在此次更新之前,创建一个带有
default
值的ClusterLogForwarder
自定义资源(CR)不会生成任何错误。在这个版本中,这个值无效生成的错误警告。(LOG-3437) -
在此次更新之前,当
ClusterLogForwarder
自定义资源 (CR) 配置了多个管道时,会将一个输出设置为默认
,收集器 Pod 会重启。在这个版本中,输出验证的逻辑已被修正,从而解决了这个问题。(LOG-3559) - 在此次更新之前,收集器 Pod 在创建后会重启。在这个版本中,部署的收集器不会自行重启。(LOG-3608)
- 在此次更新之前,补丁版本会从目录中删除了 Operator 的早期版本。这使得无法安装旧版本。这个版本更改了捆绑包配置,以便以前的同一次版本的发行版本保留在目录中。(LOG-3635)
1.2.12.2. CVE
1.2.13. Logging 5.6.1
此发行版本包括 OpenShift Logging 程序错误修复 5.6.1。
1.2.13.1. 程序错误修复
- 在此次更新之前,紧凑器会在保留活跃时报告 TLS 证书错误与 querier 通信。在这个版本中,紧凑器和 querier 不再通过 HTTP 进行通信。(LOG-3494)
-
在此次更新之前,Loki Operator 不会重试设置
LokiStack
CR 的状态,这会导致过时的状态信息。在这个版本中,Operator 会重试冲突的状态信息更新。(LOG-3496) -
在此次更新之前,当
kube-apiserver-operator
Operator 检查 Webhook 的有效性时,Loki Operator Webhook 服务器会导致 TLS 错误。在这个版本中,Loki Operator Webhook PKI 由 Operator Lifecycle Manager (OLM) 管理,从而解决了这个问题。(LOG-3510) - 在此次更新之前,LokiStack Gateway Labels Enforcer 会在使用带有布尔值表达式的组合标签过滤器时为有效的 LogQL 查询生成解析错误。在这个版本中,LokiStack LogQL 实现支持带有布尔值表达式的标签过滤器,并解决这个问题。(LOG-3441),(LOG-3397)
- 在此次更新之前,如果多个标签键具有相同的前缀,一些键包含点,则写入 Elasticsearch 的记录将失败。在这个版本中,下划线替换标签键中的点,从而解决了这个问题。(LOG-3463)
-
在此次更新之前,因为 OpenShift Container Platform 控制台和 logging-view-plugin 之间的不兼容,
Red Hat OpenShift Logging
Operator 不适用于 OpenShift Container Platform 4.10 集群。在这个版本中,插件可以与 OpenShift Container Platform 4.10 管理控制台正确集成。(LOG-3447) -
在此次更新之前,
ClusterLogForwarder
自定义资源的协调会错误地报告引用默认日志存储的管道的降级状态。在这个版本中,管道会正确验证。(LOG-3477)
1.2.13.2. CVE
1.2.14. Logging 5.6.0
此版本包括 OpenShift Logging Release 5.6。
1.2.14.1. 弃用通知
在日志记录版本 5.6 中,Fluentd 已被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。作为 Fluentd 的替代选择,您可以使用 Vector。
1.2.14.2. 功能增强
- 在这个版本中,日志记录与 OpenShift Container Platform 集群范围的加密策略兼容。(LOG-895)
- 在这个版本中,您可以通过 LokiStack 自定义资源(按优先级排序)来为每个租户、每个流和全局策略保留策略声明。(LOG-2695)
- 在这个版本中,Splun 是日志转发的可用输出选项。(LOG-2913)
- 在这个版本中,Vector 替换了 Fluentd 作为默认的 Collector。(LOG-2222)
- 在这个版本中,Developer 角色可以访问在运行 OpenShift Container Platform 4.11 及更高版本的集群中将其分配到的 Log Console Plugin 中的每个项目工作负载日志。(LOG-3388)
在这个版本中,任何源的日志包含一个字段
openshift.cluster_id
,它是部署 Operator 的集群的唯一标识符。您可以使用以下命令查看clusterID
值:$ oc get clusterversion/version -o jsonpath='{.spec.clusterID}{"\n"}'
(LOG-2715)
1.2.14.3. 已知问题
-
在此次更新之前,如果多个标签键具有相同的前缀,并且一些键包含
.
字符,则 Elasticsearch 将拒绝日志。这通过将标签键中的.
替换为_
来解决 Elasticsearch 的限制。这个问题的一个临时解决方案是删除导致错误的标签,或向标签添加一个命名空间。(LOG-3463)
1.2.14.4. 程序错误修复
- 在此次更新之前,如果您删除了 Kibana 自定义资源,OpenShift Container Platform Web 控制台将继续显示到 Kibana 的链接。在这个版本中,删除 Kibana 自定义资源也会删除该链接。(LOG-2993)
- 在此次更新之前,用户无法查看其有权访问的命名空间的应用程序日志。在这个版本中,Loki Operator 会自动创建一个集群角色和集群角色绑定,允许用户读取应用程序日志。(LOG-3072)
-
在此次更新之前,Operator 在使用 LokiStack 作为默认日志存储时删除了
ClusterLogForwarder
自定义资源中定义的任何自定义输出。在这个版本中,Operator 会在处理ClusterLogForwarder
自定义资源时将自定义输出与默认输出合并。(LOG-3090) - 在此次更新之前,CA 密钥用作将 CA 挂载到 Loki 的卷名称,从而导致 CA Key 包含非格式字符(如点)时出现错误状态。在这个版本中,卷名称标准化为一个内部字符串,用于解决这个问题。(LOG-3331)
-
在此次更新之前,在 LokiStack 自定义资源定义中设置的默认值,会导致无法创建 LokiStack 实例,而无需
ReplicationFactor
为1
。在这个版本中,Operator 为使用的大小设置实际值。(LOG-3296) -
在此次更新之前,当启用 JSON 解析时向量解析消息字段,而不定义
structuredTypeKey
或structuredTypeName
值。在这个版本中,在将结构化日志写入 Elasticsearch 时,structuredTypeKey
或structuredTypeName
所需的值。(LOG-3195) - 在此次更新之前,Elasticsearch Operator 的 secret 创建组件会持续修改的内部 secret。在这个版本中,现有 secret 会被正确处理。(LOG-3161)
- 在此次更新之前,Operator 可以在 Elasticsearch 或 Kibana 部署改变状态时,输入删除和重新创建收集器 daemonset 的循环。在这个版本中,Operator 状态处理中会解决这个问题。(LOG-3157)
-
在此次更新之前,Kibana 有一个固定的
24h
OAuth cookie 过期时间,当accessTokenInactivityTimeout
字段被设置为小于24h
的值时,会导致 Kibana 中的 401 错误。在这个版本中,Kibana 的 OAuth cookie 过期时间与accessTokenInactivityTimeout
同步,默认值为24h
。(LOG-3129) - 在此次更新之前,协调资源的 Operator 常规模式是在尝试获取或更新前尝试和创建,这会导致创建后持续的 HTTP 409 响应。在这个版本中,Operator 会首先尝试检索对象,仅在缺少或未指定对象时创建或更新它。(LOG-2919)
-
在此次更新之前,Fluentd 中的
.level
和'.structure.level 字段可能包含不同的值。在这个版本中,每个字段的值都相同。(LOG-2819) - 在此次更新之前,Operator 不会等待可信 CA 捆绑包填充,并在更新捆绑包后再次部署收集器。在这个版本中,Operator 会在继续收集器部署前,等待简要查看捆绑包是否已填充。(LOG-2789)
- 在此次更新之前,日志记录遥测信息在检查指标时会出现两次。在这个版本中,日志记录遥测信息会如预期显示。(LOG-2315)
- 在此次更新之前,Fluentd pod 日志会在启用 JSON 解析添加后包含警告信息。在这个版本中,不会显示警告信息。(LOG-1806)
-
在此次更新之前,
must-gather
脚本无法完成,因为oc
需要具有写入权限的文件夹来构建其缓存。在这个版本中,oc
对文件夹有写入权限,must-gather
脚本可以成功完成。(LOG-3446) - 在此次更新之前,日志收集器 SCC 可以替换为集群上的其他 SCC,从而导致收集器不可用。在这个版本中,设置日志收集器 SCC 的优先级,使其优先于其他 SCC。(LOG-3235)
-
在此次更新之前,向量缺少字段
sequence
,它被添加到 fluentd 中,作为处理缺少实际纳秒精度的方法。在这个版本中,字段openshift.sequence
已添加到事件日志中。(LOG-3106)