×

作为集群管理员,您可以部署AWS上Red Hat OpenShift Service的日志记录,并使用它来收集和聚合节点系统审计日志、应用程序容器日志和基础设施日志。您可以将日志转发到您选择的日志输出,包括集群内、Red Hat管理的日志存储。您还可以根据已部署的日志存储解决方案,在AWS上Red Hat OpenShift Service的Web控制台或Kibana Web控制台中可视化您的日志数据。

Kibana Web控制台现已弃用,计划在未来的日志记录版本中删除。

AWS上Red Hat OpenShift Service集群管理员可以使用Operators部署日志记录。有关信息,请参见xref :../../observability/logging/cluster-logging-deploying.adoc#cluster-logging-deploying[安装日志记录]。

Operators负责部署、升级和维护日志记录。安装Operators后,您可以创建一个ClusterLogging自定义资源(CR)来调度日志记录Pod和其他支持日志记录所需资源。您还可以创建一个ClusterLogForwarder CR来指定收集哪些日志、如何转换日志以及将日志转发到哪里。

由于AWS内部Red Hat OpenShift Service Elasticsearch日志存储不提供审计日志的安全存储,因此默认情况下不会在内部Elasticsearch实例中存储审计日志。如果您想将审计日志发送到默认的内部Elasticsearch日志存储(例如在Kibana中查看审计日志),则必须使用日志转发API,如xref :../../observability/logging/log_storage/logging-config-es-store.adoc#cluster-logging-elasticsearch-audit_logging-config-es-store[将审计日志转发到日志存储]中所述。

日志记录架构

日志记录的主要组件包括:

收集器

收集器是一个daemonset,它将pod部署到每个AWS上Red Hat OpenShift Service节点。它从每个节点收集日志数据,转换数据,并将其转发到配置的输出。您可以使用Vector收集器或旧版Fluentd收集器。

Fluentd已弃用,计划在未来的版本中删除。Red Hat在当前版本生命周期内为此功能提供错误修复和支持,但此功能不再接收增强功能。作为Fluentd的替代方案,您可以改用Vector。

日志存储

日志存储存储日志数据以进行分析,并且是日志转发器的默认输出。您可以使用默认的LokiStack日志存储、旧版Elasticsearch日志存储,或将日志转发到其他外部日志存储。

Logging 5.9版本不包含更新版本的OpenShift Elasticsearch Operator。如果您目前使用的是Logging 5.8发布的OpenShift Elasticsearch Operator,它将继续与Logging一起工作,直到Logging 5.8的EOL。作为使用OpenShift Elasticsearch Operator管理默认日志存储的替代方案,您可以使用Loki Operator。有关日志记录生命周期日期的更多信息,请参见平台无关的Operators

可视化

您可以使用UI组件查看日志数据的可视化表示。UI提供了一个图形界面来搜索、查询和查看存储的日志。AWS上Red Hat OpenShift Service Web控制台UI通过启用AWS上Red Hat OpenShift Service控制台插件来提供。

Kibana Web控制台现已弃用,计划在未来的日志记录版本中删除。

日志记录收集容器日志和节点日志。这些日志被分为以下类型:

应用程序日志

由集群中运行的用户应用程序生成的容器日志,但不包括基础设施容器应用程序。

基础设施日志

由基础设施命名空间生成的容器日志:openshift*kube*default,以及来自节点的journald消息。

审计日志

由auditd(节点审计系统)生成的日志,存储在/var/log/audit/audit.log文件中,以及来自auditdkube-apiserveropenshift-apiserver服务的日志,以及如果已启用则来自ovn项目的日志。

其他资源
  • xref :../../observability/logging/log_visualization/log-visualization-ocp-console.adoc#log-visualization-ocp-console[使用Web控制台进行日志可视化]

关于部署日志记录

管理员可以使用AWS上Red Hat OpenShift Service的Web控制台或OpenShift CLI(oc)来安装日志记录Operators从而部署日志记录。Operators负责部署、升级和维护日志记录。

管理员和应用程序开发人员可以查看他们有查看权限的项目的日志。

日志记录自定义资源

您可以使用每个Operator实现的自定义资源(CR) YAML文件配置日志记录部署。

Red Hat OpenShift日志记录Operator:

  • 集群日志记录 (CL) - 安装 Operators 后,您需要创建一个集群日志记录自定义资源 (CR) 来调度日志 Pod 和支持日志记录所需的其他资源。集群日志记录 CR 部署收集器和转发器,目前两者都由在每个节点上运行的 DaemonSet 实现。Red Hat OpenShift Logging Operator 监视集群日志记录 CR 并相应地调整日志记录部署。

  • 集群日志转发器 (CLF) - 根据用户配置生成收集器配置以转发日志。

Loki Operator:

  • LokiStack - 将 Loki 集群作为日志存储和 Web 代理进行控制,并与 Red Hat OpenShift Service on AWS 身份验证集成以强制执行多租户。

OpenShift Elasticsearch Operator:

这些 CR 由 OpenShift Elasticsearch Operator 生成和管理。在不被 Operator 覆盖的情况下,无法进行手动更改。

  • ElasticSearch - 配置和部署 Elasticsearch 实例作为默认日志存储。

  • Kibana - 配置和部署 Kibana 实例以搜索、查询和查看日志。

日志记录需求

托管您自己的日志记录堆栈需要大量的计算资源和存储资源,这可能取决于您的云服务配额。计算资源需求可能从 48 GB 或更多开始,而存储需求可能高达 1600 GB 或更多。日志记录堆栈运行在您的工作节点上,这会减少您可用的工作负载资源。考虑到这些因素,托管您自己的日志记录堆栈会增加您的集群运营成本。

详情请参见 xref :../../observability/logging/log_collection_forwarding/log-forwarding.adoc#about-log-collection_log-forwarding[关于日志收集和转发]。

关于 JSON Red Hat OpenShift Service on AWS 日志记录

您可以使用 JSON 日志记录将日志转发 API 配置为将 JSON 字符串解析为结构化对象。您可以执行以下任务:

  • 解析 JSON 日志

  • 为 Elasticsearch 配置 JSON 日志数据

  • 将 JSON 日志转发到 Elasticsearch 日志存储

关于收集和存储 Kubernetes 事件

Red Hat OpenShift Service on AWS 事件路由器是一个监视 Kubernetes 事件并记录它们以供 Red Hat OpenShift Service on AWS 日志记录收集的 Pod。您必须手动部署事件路由器。

详情请参见 xref :../../observability/logging/log_collection_forwarding/cluster-logging-eventrouter.adoc#cluster-logging-eventrouter[关于收集和存储 Kubernetes 事件]。

关于 Red Hat OpenShift Service on AWS 日志记录的故障排除

您可以通过执行以下任务来排除日志记录问题:

  • 查看日志记录状态

  • 查看日志存储的状态

  • 了解日志记录警报

  • 收集 Red Hat 支持的日志记录数据

  • 针对严重警报进行故障排除

关于导出字段

日志记录系统导出字段。导出的字段存在于日志记录中,可用于从 Elasticsearch 和 Kibana 进行搜索。

详情请参见 xref :../../observability/logging/cluster-logging-exported-fields.adoc#cluster-logging-exported-fields[关于导出字段]。

关于事件路由

事件路由器是一个监视 Red Hat OpenShift Service on AWS 事件的 Pod,以便可以由日志记录收集这些事件。事件路由器从所有项目收集事件并将它们写入STDOUT。Fluentd 收集这些事件并将它们转发到 Red Hat OpenShift Service on AWS Elasticsearch 实例。Elasticsearch 将事件索引到infra索引。

您必须手动部署事件路由器。

详情请参见 xref :../../observability/logging/log_collection_forwarding/cluster-logging-eventrouter.adoc#cluster-logging-eventrouter[收集和存储 Kubernetes 事件]。