Fluentd已弃用,计划在未来的版本中删除。Red Hat在当前版本生命周期内为此功能提供错误修复和支持,但此功能不再接收增强功能。作为Fluentd的替代方案,您可以改用Vector。 |
作为集群管理员,您可以部署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文件中,以及来自auditd
、kube-apiserver
、openshift-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 日志记录将日志转发 API 配置为将 JSON 字符串解析为结构化对象。您可以执行以下任务:
解析 JSON 日志
为 Elasticsearch 配置 JSON 日志数据
将 JSON 日志转发到 Elasticsearch 日志存储
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 支持的日志记录数据
针对严重警报进行故障排除
日志记录系统导出字段。导出的字段存在于日志记录中,可用于从 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 事件]。