Log Lifecycle
Cloud ZCP 提供了全面的日志记录功能,以监控和管理您的应用程序及平台本身。日志记录系统基于 OpenSearch Stack(OpenSearch、Fluentd、OpenSearch DashBoards)。理解日志生命周期涉及日志如何被收集、处理、存储、查询和管理的过程。
该平台管理几种类型的日志,包括 Application Logs 和 Audit Logs。
Log Collection
在 Cloud ZCP 中,日志收集涉及从平台的各种来源收集日志:
- Application Logs:Fluent-bit 组件作为 Daemonsets 安装在数据平面集群的每个节点上,专门用于从运行中的容器收集日志。Fluent-bit 从用户应用程序容器和每个节点上运行的所有系统组件收集日志。
- Audit Logs:审计日志管理三种类型的日志:控制台、Kubernetes 和 Keycloak。您可以配置收集这些日志的设置。对于 Kubernetes 日志,您需要选择托管集群并为每个集群单独配置设置。
Log Processing
一旦收集到日志,日志在存储之前会经过处理:
- Data Plane Processing:FluentD 安装在数据平面集群上,以处理并将收集到的日志发送到控制平面集群。这个 FluentD 执行初步处理。
- Control Plane Processing:在控制平面集群中部署了一个额外的 FluentD,以组织数据平面集群和控制平面集群之间的日志管道。这个 FluentD 对从数据平面中的 FluentD 传递过来的日志进行二次处理,然后再将其存储在 Opensearch 中。
- Integrated Management: OpenSearch 被应用于以集成的方式管理在容器管理服务中注册的所有数据平面集群的日志。
日志存储
处理后的日志集中存储和管理:
- Centralized Storage: 所有日志存储在控制平面集群的 Opensearch 中央存储中。
- Deployment: Opensearch 部署在三个专用于日志记录的工作节点上,以提供高可用性。
- Integrated Management: OpenSearch 被应用于以集成的方式管理在容器管理服务中注册的所有数据平面集群的日志。
- Indexing Strategy: 日志存储索引是 created per project。从数据平面中的 Fluent-bit 传输的日志以格式
[Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d
进行索引。此索引格式支持将每个项目的日志隔离并存储在单独的索引中,支持多项目日志数据的安全特性。
日志查询和可视化
访问和分析存储的日志主要通过 OpenSearch Dashboards 完成,您可以通过 ZCP 控制台中的 Logging 菜单访问。
- Discover: 这是查询和查看日志的主屏幕。您可以使用搜索词或过滤器来缩小指定时间范围内的日志。
- Dashboard: 允许同时查看多个可视化和信息面板。
- Visualize: 使从日志数据中创建各种可视化(如图表、表格、指标)成为可能。
- Dev Tools: 提供调用 OpenSearch Rest API 的接口。
- Audit Log Viewing: 收集的审计日志可以查看。您可以按事件源(控制台、Keycloak、Kubernetes)和日期范围过滤这些日志。可以查看单个条目的详细审计日志,包括有效负载信息(如果在收集期间启用)。
日志管理与保留
管理日志数据的数量和保留至关重要。
索引管理
OpenSearch Dashboards 提供一个 Index Management 屏幕,带有管理索引的菜单。您可以创建、修改和删除管理索引的策略(索引策略)。您还可以查看已保存的索引并对其应用策略。
堆栈管理
Stack Management: Stack Management 屏幕包括管理 OpenSearch Dashboard 设置的菜单,包括 Index Patterns。
索引模式指定在 OpenSearch Dashboards 中搜索的目标索引。您可以根据日志索引格式 [Realm].[Project-Name].[Cluster-Name]-%Y.%m.%d
创建索引模式。
审计日志保留策略
保留策略是从状态管理策略创建的。只有管理员可以从 OpenSearch Dashboards 查看和管理它们。
系统定义了两种状态:hot
和 delete
。索引在 hot
状态下保持 10 天,之后它们会过渡到 delete
状态,在此状态下触发删除操作。
安全性和权限:
OpenSearch 支持 Index Policy 进行日志管理以及安全的角色和权限管理。OpenSearch Dashboard 安全菜单允许设置身份验证、访问控制、角色、用户、权限和租户,以管理和授权多集群中的日志数据。租户按项目单位分类,对于安全共享日志数据和保存对象的访问非常重要。