平台的日志系统由两个插件组成:Alauda Container Platform Log Collector 和 Alauda Container Platform Log Storage。本章将介绍这两个插件的安装。
global 集群可以查询平台内任意业务集群存储的日志数据。请确保 global 集群可以访问业务集群的 11780 端口。
Alauda Container Platform Log Storage with Clickhouse 插件需要 Clickhouse operator,安装插件前请确保集群中已上传 Clickhouse operator。
Alauda Container Platform Log Storage 插件可以安装在任意集群,且任意集群的日志存储组件均可被选为日志采集的存储接口。
因此,在安装日志存储插件之前,需要规划日志存储组件将安装在哪个集群和节点上。
避免在 global 集群部署日志存储插件,建议部署在业务集群,以确保管理集群故障时不影响基于日志的问题排查。
优先集中日志到单个日志存储集群;当日志量超过最大容量阈值时,再分散到多个存储集群。
每个网络区域至少部署一个日志存储实例,实现日志本地汇聚,减少跨数据中心公网流量(公网流量成本高且延迟大)。
日志存储节点建议专用,不与其他应用或平台组件共部署。日志存储对 I/O 吞吐要求高,易受干扰。
挂载专用 SSD 磁盘用于日志存储,可显著提升性能。
进入 应用商店管理 > 集群插件,选择目标集群。
在 插件 页签,点击 Alauda Container Platform Log Storage with ElasticSearch 右侧操作按钮 > 安装。
按照以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| 连接外部 Elasticsearch | 保持关闭状态以安装平台内置的日志存储插件。 |
| 组件安装设置 | LocalVolume:本地存储,日志数据存储在所选节点的本地存储路径。此方式优点是日志组件直接绑定本地存储,无需通过网络访问存储,存储性能更佳。 StorageClass:通过存储类动态创建存储资源存储日志数据。此方式灵活性更高;当整个集群定义多个存储类时,管理员可根据使用场景为日志组件选择对应存储类,降低主机故障对存储的影响。但 StorageClass 性能可能受网络带宽和延迟等因素影响,且依赖存储后端提供的冗余机制实现存储高可用。 |
| 保留周期 | 集群中日志、事件和审计数据的最大保留时间,超过保留周期的数据将自动清理。 提示:可对需要长期保留的数据进行备份,如需帮助请联系技术支持人员。 |
点击 安装。
确保插件已发布,可在 global 集群检查 ModulePlugin 和 ModuleConfig 资源:
表示集群中存在 ModulePlugin logcenter,且版本 v4.1.0 已发布。
创建 ModuleInfo 资源安装插件,示例无配置参数:
YAML 字段说明:
| 字段路径 | 说明 |
|---|---|
metadata.labels.cpaas.io/cluster-name | 插件安装的目标集群名称。 |
metadata.name | 临时 ModuleInfo 名称,平台创建后会重命名。 |
spec.config.clusterView.isPrivate | 集群视图的可见性设置。 |
spec.config.components.elasticsearch.address | 外部 Elasticsearch 地址,留空使用平台安装的 Elasticsearch。 |
spec.config.components.elasticsearch.basicAuthSecretName | 外部 Elasticsearch 基本认证的 Secret 名称,留空使用平台 Elasticsearch。 |
spec.config.components.elasticsearch.hostpath | Elasticsearch 数据路径。 |
spec.config.components.elasticsearch.httpPort | Elasticsearch HTTP 端口,默认 9200。 |
spec.config.components.elasticsearch.install | 是否通过平台安装 Elasticsearch,使用外部 Elasticsearch 时设为 false。 |
spec.config.components.elasticsearch.k8sNodes | 使用 LocalVolume 时 Elasticsearch Data 的节点 IP 列表。 |
spec.config.components.elasticsearch.masterK8sNodes | Elasticsearch Master 节点 IP 列表(仅大规模且使用 LocalVolume 时)。 |
spec.config.components.elasticsearch.masterReplicas | Elasticsearch Master 副本数(仅大规模)。 |
spec.config.components.elasticsearch.masterResources | Elasticsearch Master 资源请求/限制(仅大规模)。 |
spec.config.components.elasticsearch.masterStorageSize | Elasticsearch Master 存储大小(仅大规模)。 |
spec.config.components.elasticsearch.nodeReplicas | Elasticsearch Data 副本数。 |
spec.config.components.elasticsearch.nodeStorageSize | Elasticsearch Data 存储大小(Gi)。 |
spec.config.components.elasticsearch.resources | Elasticsearch Data 资源请求/限制。 |
spec.config.components.elasticsearch.tcpPort | Elasticsearch 集群内部传输端口,默认 9300。 |
spec.config.components.elasticsearch.type | Elasticsearch 集群规模:single/normal/big。 |
spec.config.components.kafka.address | 外部 Kafka 地址,留空使用平台安装的 Kafka。 |
spec.config.components.kafka.auth | 是否启用 Kafka 认证,默认 true。 |
spec.config.components.kafka.basicAuthSecretName | 外部 Kafka 认证 Secret 名称,留空使用平台 Kafka。 |
spec.config.components.kafka.exporterPort | Kafka Exporter 端口,默认 9308。 |
spec.config.components.kafka.install | 是否通过平台安装 Kafka,使用外部 Kafka 时设为 false。 |
spec.config.components.kafka.k8sNodes | 使用 LocalVolume 时 Kafka 的节点 IP 列表。 |
spec.config.components.kafka.port | Kafka 对外端口,默认 9092。 |
spec.config.components.kafka.storageSize | Kafka 存储大小(Gi)。 |
spec.config.components.kafka.tls | 是否启用 Kafka TLS,默认 true。 |
spec.config.components.kafka.zkElectPort | Zookeeper 选举端口,默认 3888。 |
spec.config.components.kafka.zkExporterPort | Zookeeper Exporter 端口,默认 9141。 |
spec.config.components.kafka.zkLeaderPort | Zookeeper leader/follower 通信端口,默认 2888。 |
spec.config.components.kafka.zkPort | Zookeeper 客户端端口,默认 2181。 |
spec.config.components.kibana.install | 是否安装 Kibana,Kibana 已废弃,设为 false。 |
spec.config.components.storageClassConfig.name | LocalVolume 通常为 elasticsearch-local-log-sc,StorageClass 时填写存储类名称。 |
spec.config.components.storageClassConfig.type | 存储类型:LocalVolume/StorageClass。 |
spec.config.components.zookeeper.storageSize | Zookeeper 存储大小(Gi)。 |
spec.config.ttl.audit | 审计数据保留天数。 |
spec.config.ttl.event | 事件数据保留天数。 |
spec.config.ttl.logKubernetes | Kubernetes 日志保留天数。 |
spec.config.ttl.logPlatform | 平台日志保留天数。 |
spec.config.ttl.logSystem | 系统日志保留天数。 |
spec.config.ttl.logWorkload | 业务日志保留天数。 |
spec.version | 指定安装的插件版本,需与 ModuleConfig 中 .spec.version 一致。 |
由于 ModuleInfo 名称创建后会变更,可通过标签定位资源,查看插件状态和版本:
字段说明:
NAME:ModuleInfo 资源名称CLUSTER:插件安装的集群MODULE:插件名称DISPLAY_NAME:插件显示名称STATUS:安装状态,Running 表示安装成功且运行中TARGET_VERSION:目标安装版本CURRENT_VERSION:安装前版本NEW_VERSION:可安装的最新版本进入 应用商店管理 > 集群插件,选择目标集群。
在 插件 页签,点击 Alauda Container Platform Log Storage with Clickhouse 右侧操作按钮 > 安装。
按照以下说明配置相关参数。
| 参数 | 说明 |
|---|---|
| 组件安装设置 | LocalVolume:本地存储,日志数据存储在所选节点的本地存储路径。此方式优点是日志组件直接绑定本地存储,无需通过网络访问存储,存储性能更佳。 StorageClass:通过存储类动态创建存储资源存储日志数据。此方式灵活性更高;当整个集群定义多个存储类时,管理员可根据使用场景为日志组件选择对应存储类,降低主机故障对存储的影响。但 StorageClass 性能可能受网络带宽和延迟等因素影响,且依赖存储后端提供的冗余机制实现存储高可用。 |
| 保留周期 | 集群中日志、事件和审计数据的最大保留时间,超过保留周期的数据将自动清理。 提示:可对需要长期保留的数据进行备份,如需帮助请联系技术支持人员。 |
点击 安装。
确保插件已发布,可在 global 集群检查 ModulePlugin 和 ModuleConfig 资源:
表示集群中存在 ModulePlugin logclickhouse,且版本 v4.1.0 已发布。
创建 ModuleInfo 资源安装插件,示例无配置参数:
YAML 字段说明(ClickHouse):
| 字段路径 | 说明 |
|---|---|
metadata.name | ModuleInfo 名称,建议格式:<目标集群>-logclickhouse。 |
metadata.labels.cpaas.io/cluster-name | 插件安装的目标集群。 |
metadata.labels.cpaas.io/module-name | 必须为 logclickhouse。 |
metadata.labels.cpaas.io/module-type | 必须为 plugin。 |
spec.version | 插件安装版本。 |
spec.config.components.storageClassConfig.type | ClickHouse 数据存储类型:LocalVolume 或 StorageClass。 |
spec.config.components.storageClassConfig.name | StorageClass 类型时填写存储类名称;LocalVolume 时留空。 |
spec.config.components.clickhouse.resources | ClickHouse 资源请求/限制。 |
spec.config.components.clickhouse.k8sNodes | 使用 LocalVolume 时 ClickHouse 节点 IP 列表。 |
spec.config.components.clickhouse.hostpath | 使用 LocalVolume 时 ClickHouse 数据本地路径。 |
spec.config.components.clickhouse.nodeReplicas | 使用 StorageClass 时副本数。 |
spec.config.components.clickhouse.nodeStorageSize | ClickHouse 数据存储大小(Gi)。 |
spec.config.components.clickhouse.type | 集群规模:single、normal 或 big。 |
spec.config.components.razor.resources | Razor 资源请求/限制。 |
spec.config.components.vector.resources | Vector 资源请求/限制。 |
spec.config.ttl.audit | 审计数据保留天数。 |
spec.config.ttl.event | 事件数据保留天数。 |
spec.config.ttl.logKubernetes | Kubernetes 日志保留天数。 |
spec.config.ttl.logPlatform | 平台日志保留天数。 |
spec.config.ttl.logSystem | 系统日志保留天数。 |
spec.config.ttl.logWorkload | 业务日志保留天数。 |
spec.version | 指定安装的插件版本,需与 ModuleConfig 中 .spec.version 一致。 |
由于 ModuleInfo 名称创建后会变更,可通过标签定位资源,查看插件状态和版本:
字段说明:
NAME:ModuleInfo 资源名称CLUSTER:插件安装的集群MODULE:插件名称DISPLAY_NAME:插件显示名称STATUS:安装状态,Running 表示安装成功且运行中TARGET_VERSION:目标安装版本CURRENT_VERSION:安装前版本NEW_VERSION:可安装的最新版本进入 应用商店管理 > 集群插件,选择目标集群。
在 插件 页签,点击 Alauda Container Platform Log Collector 右侧操作按钮 > 安装。
选择 存储集群(已安装 Alauda Container Platform Log Storage 的集群),点击 选择/取消选择 日志类型,设置集群内日志采集范围。
点击 安装。
确保插件已发布,可在 global 集群检查 ModulePlugin 和 ModuleConfig 资源:
表示集群中存在 ModulePlugin logagent,且版本 v4.1.0 已发布。
创建 ModuleInfo 资源安装插件,示例无配置参数:
YAML 字段说明(Log Collector):
| 字段路径 | 说明 |
|---|---|
metadata.annotations.cpaas.io/display-name | 插件显示名称。 |
metadata.annotations.cpaas.io/module-name | 插件国际化名称 JSON 字符串。 |
metadata.labels.cpaas.io/cluster-name | 插件安装的目标集群。 |
metadata.labels.cpaas.io/module-name | 必须为 logagent。 |
metadata.labels.cpaas.io/module-type | 必须为 plugin。 |
metadata.labels.cpaas.io/product | 产品标识,通常为 Platform-Center。 |
metadata.labels.logcenter.plugins.cpaas.io/cluster | 日志推送的存储集群名称。 |
metadata.name | 临时 ModuleInfo 名称,平台创建后会重命名。 |
spec.config.crossClusterDependency.logcenter | 基于 Elasticsearch 的日志存储集群名称。 |
spec.config.crossClusterDependency.logclickhouse | 使用 Elasticsearch 存储时设为 null,否则设为 ClickHouse 集群名称。 |
spec.config.dataSource.audit | 是否采集审计日志。 |
spec.config.dataSource.event | 是否采集事件日志。 |
spec.config.dataSource.kubernetes | 是否采集 Kubernetes 日志。 |
spec.config.dataSource.platform | 是否采集平台日志。 |
spec.config.dataSource.system | 是否采集系统日志。 |
spec.config.dataSource.workload | 是否采集业务日志。 |
spec.config.storage.type | 存储类型,Elasticsearch 或 Clickhouse。 |
spec.version | 插件安装版本。 |
由于 ModuleInfo 名称创建后会变更,可通过标签定位资源,查看插件状态和版本: