平台的日志系统由两个插件组成: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 名称,建议格式为 <target-cluster>-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 名称会变更,可通过标签定位资源,查看插件状态和版本: