3.3. Cloudwatch 推荐 Red Hat OpenShift Service on AWS
红帽建议您使用 AWS CloudWatch 解决方案来满足您的日志记录需求。
3.3.1. 日志记录要求
托管您自己的日志记录堆栈需要大量计算资源和存储,这可能取决于您的云服务配额。计算资源要求可以从 48 GB 或更高版本启动,而存储要求可以大为 1600 GB 或更多。日志记录堆栈在 worker 节点上运行,这可以减少可用的工作负载资源。使用这些注意事项,托管您自己的日志记录堆栈会增加集群操作成本。
后续步骤
- 具体步骤请参阅 将日志转发到 Amazon CloudWatch。
3.3.2. 关于 AWS Logging 上的 JSON Red Hat OpenShift Service
您可以使用 JSON 日志记录配置 Log Forwarding API,将 JSON 字符串解析为结构化对象。您可以执行以下任务:
- 解析 JSON 日志
- 为 Elasticsearch 配置 JSON 日志数据
- 将 JSON 日志转发到 Elasticsearch 日志存储
3.3.3. 关于收集并存储 Kubernetes 事件
Red Hat OpenShift Service on AWS 事件路由器是一个 pod,它监视 Kubernetes 事件,并通过 Red Hat OpenShift Service on AWS Logging 记录它们。您必须手动部署 Event Router。
如需更多信息,请参阅关于收集和存储 Kubernetes 事件。
3.3.4. 关于在 AWS Logging 上对 Red Hat OpenShift Service 进行故障排除
您可以通过执行以下任务排除日志问题:
- 查看日志记录状态
- 查看日志存储的状态
- 了解日志记录警报
- 为红帽支持收集日志记录数据
- 关键警报故障排除
3.3.5. 关于导出字段
日志记录系统导出字段。导出的字段出现在日志记录中,可从 Elasticsearch 和 Kibana 搜索。
如需更多信息,请参阅关于导出字段。
3.3.6. 关于日志存储
默认情况下,Red Hat OpenShift Service on AWS 使用 Elasticsearch (ES) 来存储日志数据。(可选)您可以使用 Log Forwarder API 将日志转发到外部存储。支持多种存储类型,包括 fluentd、rsyslog、kafka 和其他类型。
日志记录子系统 Elasticsearch 实例经过优化并测试,用于大约 7 天的简短存储。如果要更长时间保留日志,建议您将数据移至第三方存储系统。
Elasticsearch 将日志数据从 Fluentd 整理到数据存储或 索引 中,然后将每个索引分成多个碎片(称为 shard(分片) ),分散到 Elasticsearch 集群中的一组 Elasticsearch 节点上。您可以配置 Elasticsearch 来为分片制作备份(称为 replica(副本) ),Elasticsearch 也会分散到 Elasticsearch 节点上。ClusterLogging
自定义资源(CR)允许您指定如何复制分片,以提供数据冗余和故障恢复能力。您还可以使用 ClusterLogging
CR 中的保留策略来指定不同类型的日志的保留的时长。
索引模板的主分片数量等于 Elasticsearch 数据节点的数目。
Red Hat OpenShift Logging Operator 和相应的 OpenShift Elasticsearch Operator 确保每个 Elasticsearch 节点都使用带有自身存储卷的唯一部署来进行部署。在需要时,可以使用 ClusterLogging
自定义资源(CR)来增加 Elasticsearch 节点的数量。有关配置存储的注意事项,请参阅 Elasticsearch 文档。
高可用性 Elasticsearch 环境需要至少三个 Elasticsearch 节点,各自在不同的主机上。
Elasticsearch 索引中应用的基于角色的访问控制 (RBAC) 可让开发人员控制对日志的访问。管理员可以获取所有日志,开发人员只能访问自己项目中的日志。
如需更多信息,请参阅配置日志存储。
3.3.7. 关于事件路由
Event Router 是一个 pod,它监视 Red Hat OpenShift Service on AWS 事件,以便可以通过 Red Hat OpenShift 的 logging 子系统来收集它们。Event Router 从所有项目收集事件,并将其写入 STDOUT
。Fluentd 收集这些事件并将其转发到 Red Hat OpenShift Service on AWS Elasticsearch 实例。Elasticsearch 将事件索引到 infra
索引。
您必须手动部署 Event Router。
如需更多信息,请参阅收集并存储 Kubernetes 事件。