平台目前产生的日志将会存储至日志存储组件中,但日志的保留时间较短。对于合规性要求较高的企业,通常需要将日志保留更长时间以应对审计需要。此外,存储的经济性也是企业关注的重点之一。
基于以上场景,平台提供了日志归档方案,方便用户将日志转存至外部 NFS 或对象存储。
资源 | 说明 |
---|---|
NFS | 提前搭建 NFS 服务,并确定需要挂载的 NFS 路径。 |
Kafka | 提前获取 Kafka 服务地址。 |
镜像地址 | 您须在 global 集群中使用 CLI 工具执行以下命令获取镜像地址:- 获取 alpine 镜像地址: kubectl get daemonset nevermore -n cpaas-system -o jsonpath='{.spec.template.spec.initContainers[0].image}' - 获取 razor 镜像地址: kubectl get deployment razor -n cpaas-system -o jsonpath='{.spec.template.spec.containers[0].image}' |
在左侧导航栏中单击 集群管理 > 集群。
单击待转存日志的集群右侧的操作按钮 > CLI 工具。
根据如下参数说明修改 YAML,修改后,将代码粘贴至打开的 CLI 工具 命令行中,并回车执行。
资源类型 | 字段路径 | 说明 |
---|---|---|
ConfigMap | data.export.yml.output.compression | 压缩日志文本,支持 none(不压缩)、zlib、gzip。 |
ConfigMap | data.export.yml.output.file_type | 导出的日志文件类型,支持 txt、csv、json 三种类型。 |
ConfigMap | data.export.yml.output.max_size | 单个归档文件轮转的大小,单位 MB,超过该值,将会自动根据 compression 字段的配置压缩日志文本,并归档。 |
ConfigMap | data.export.yml.scopes | 日志转存范围,目前支持转存的日志有:系统日志、应用日志、Kubernetes 日志、产品日志。 |
Deployment | spec.template.spec.containers[0].command[7] | Kafka 服务地址。 |
Deployment | spec.template.spec.volumes[3].hostPath.path | 需要挂载的 NFS 路径。 |
Deployment | spec.template.spec.initContainers[0].image | alpine 镜像地址。 |
Deployment | spec.template.spec.containers[0].image | razor 镜像地址。 |
待容器状态变为 Running 后,可查看 NFS 路径中持续归档的日志,日志文件目录结构如下:
资源 | 说明 |
---|---|
S3 存储 | 提前准备 S3 存储服务地址,并获取 access_key_id 和 secret_access_key 的值;创建待存放日志的存储桶。 |
Kafka | 提前获取 Kafka 服务地址。 |
镜像地址 | 您须在 global 集群中使用 CLI 工具执行以下命令获取镜像地址:- 获取 alpine 镜像地址: kubectl get daemonset nevermore -n cpaas-system -o jsonpath='{.spec.template.spec.initContainers[0].image}' - 获取 razor 镜像地址: kubectl get deployment razor -n cpaas-system -o jsonpath='{.spec.template.spec.containers[0].image}' |
在左侧导航栏中单击 集群管理 > 集群。
单击待转存日志的集群右侧的操作按钮 > CLI 工具。
根据如下参数说明修改 YAML,修改后,将代码粘贴至打开的 CLI 工具 命令行中,并回车执行。
资源类型 | 字段路径 | 说明 |
---|---|---|
Secret | data.access_key_id | 将获取到的 access_key_id 使用 base64 编码。 |
Secret | data.secret_access_key | 将获取到的 secret_access_key 使用 base64 编码。 |
ConfigMap | data.export.yml.output.compression | 压缩日志文本,支持 none(不压缩)、zlib、gzip。 |
ConfigMap | data.export.yml.output.file_type | 导出的日志文件类型,支持 txt、csv、json 三种类型。 |
ConfigMap | data.export.yml.output.max_size | 单个归档文件轮转的大小,单位 MB,超过该值,将会自动根据 compression 字段的配置压缩日志文本,并归档。 |
ConfigMap | data.export.yml.scopes | 日志转存范围,目前支持转存的日志有:系统日志、应用日志、Kubernetes 日志、产品日志。 |
ConfigMap | data.export.yml.output.s3.bucket_name | 存储桶名称。 |
ConfigMap | data.export.yml.output.s3.endpoint | S3 存储服务地址。 |
ConfigMap | data.export.yml.output.s3.region | S3 存储服务的地域信息。 |
Deployment | spec.template.spec.containers[0].command[7] | Kafka 服务地址。 |
Deployment | spec.template.spec.volumes[3].hostPath.path | 需要挂载的本地路径,该路径用于临时存放日志信息,同步至 S3 存储后将自动删除临时存放的日志。 |
Deployment | spec.template.spec.initContainers[0].image | alpine 镜像地址。 |
Deployment | spec.template.spec.containers[0].image | razor 镜像地址。 |
待容器状态变为 Running 后,可查看存储桶中持续归档的日志。